Make it possible to turn off the mkdir override on Windows.
[gnulib.git] / ChangeLog
blob1b19c121e010881e904d4f3f46bd185c72de05e3
1 2020-12-25  Bruno Haible  <bruno@clisp.org>
3         Make it possible to turn off the mkdir override on Windows.
4         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
5         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
6         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
7         GNULIB_MDA_MKDIR.
8         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
9         GNULIB_MDA_MKDIR.
10         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
11         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
13         Make it possible to turn off each of the Windows oldnames workarounds.
14         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
15         oldnames workarounds through a GNULIB_MDA_<func> symbol.
16         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
17         * lib/search.in.h (lfind, lsearch): Likewise.
18         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
19         Likewise.
20         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
21         * lib/string.in.h (memccpy, strdup): Likewise.
22         * lib/sys_stat.in.h (chmod, umask): Likewise.
23         * lib/time.in.h (tzset): Likewise.
24         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
25         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
26         read, rmdir, swab, unlink, write): Likewise.
27         * lib/utime.in.h (utime): Likewise.
28         * lib/wchar.in.h (wcsdup): Likewise.
29         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
30         GNULIB_MDA_<func> symbols.
31         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
32         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
33         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
36         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
37         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
38         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
40         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
41         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
42         symbols.
43         * modules/math (Makefile.am): Likewise.
44         * modules/search (Makefile.am): Likewise.
45         * modules/stdio (Makefile.am): Likewise.
46         * modules/stdlib (Makefile.am): Likewise.
47         * modules/string (Makefile.am): Likewise.
48         * modules/sys_stat (Makefile.am): Likewise.
49         * modules/time (Makefile.am): Likewise.
50         * modules/unistd (Makefile.am): Likewise.
51         * modules/utime-h (Makefile.am): Likewise.
52         * modules/wchar (Makefile.am): Likewise.
54 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56         canonicalize, canonicalize-lgpl: remove lint
57         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
58         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
59         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
60         Sort shared include directives, for consistency.
61         (IF_LINT): New macro.
62         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
63         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
64         New macros.
65         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
66         * lib/canonicalize.c (canonicalize_filename_mode_stk):
67         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
69 2020-12-24  Bruno Haible  <bruno@clisp.org>
71         spawn-pipe: Use posix_spawn by default on native Windows.
72         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
73         (create_pipe): Use it to decide among the two possible implementations.
74         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
76 2020-12-24  Bruno Haible  <bruno@clisp.org>
78         unistd-safer: Implement pipe_safer on native Windows.
79         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
80         * modules/unistd-safer (Depends-on): Add pipe-posix.
82 2020-12-24  Bruno Haible  <bruno@clisp.org>
84         execute: Use posix_spawn by default on native Windows.
85         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
86         (execute): Use it to decide among the two possible implementations.
88 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
90         canonicalize-lgpl: merge proposed libc changes
91         This merges the changes proposed for glibc in:
92         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
93         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
94         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
95         unconditionally.
96         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
97         (ISSLASH) [_LIBC]: Remove.
99 2020-12-24  Bruno Haible  <bruno@clisp.org>
101         posix_spawn-internal: Implement for native Windows.
102         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
103         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
104         do_dup2, do_close): New functions.
105         (__spawni): Implement on native Windows.
106         * modules/posix_spawn-internal (Depends-on): Add filename,
107         concat-filename, findprog-in, malloca, windows-spawn.
108         * doc/posix-functions/posix_spawn.texi: Update.
109         * doc/posix-functions/posix_spawnp.texi: Likewise.
111 2020-12-24  Bruno Haible  <bruno@clisp.org>
113         windows-spawn: Export another auxiliary function.
114         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
115         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
116         extracted from spawnpvech.
117         (spawnpvech): Use it.
119 2020-12-24  Bruno Haible  <bruno@clisp.org>
121         windows-spawn: Export some more auxiliary functions.
122         * lib/windows-spawn.h: Include <stdbool.h>.
123         (struct inheritable_handles): New type.
124         (init_inheritable_handles, compose_handles_block,
125         free_inheritable_handles): New declarations.
126         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
127         New functions, based on spawnvech.
128         (free_inheritable_handles): New function.
129         (spawnpvech): Use them.
131 2020-12-24  Bruno Haible  <bruno@clisp.org>
133         windows-spawn: Export another auxiliary function.
134         * lib/windows-spawn.h (compose_envblock): New declaration.
135         * lib/windows-spawn.c (compose_envblock): New function, extracted from
136         spawnpvech.
137         (spawnpvech): Use it.
139 2020-12-24  Bruno Haible  <bruno@clisp.org>
141         windows-spawn: Export an auxiliary function.
142         * lib/windows-spawn.h (compose_command): New declaration.
143         * lib/windows-spawn.c (compose_command): New function, extracted from
144         spawnpvech.
145         (spawnpvech): Use it.
147 2020-12-24  Bruno Haible  <bruno@clisp.org>
149         posix_spawn* tests: Add support for native Windows.
150         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
151         like Cygwin.
152         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
153         SIGHUP and SIGPIPE. On native Windows, don't call
154         posix_spawnattr_setsigmask.
155         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
156         * tests/test-posix_spawn-fchdir.c (main): Likewise.
157         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
158         output from Cygwin's 'pwd' program.
159         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
160         executable-shell-script part of the test.
161         * tests/test-posix_spawnp-script.c (main): Likewise.
162         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
163         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
164         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
165         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
166         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
167         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
168         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
169         test the POSIX_SPAWN_PORTED conditional.
170         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
171         Define the POSIX_SPAWN_PORTED conditional here.
173 2020-12-24  Bruno Haible  <bruno@clisp.org>
175         sh-filename: Add support for native Windows.
176         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
178 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
180         careadlinkat: improve warning line number
181         This propagates an idea first used in canonicalize-lgpl.
182         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
183         New macro.
184         (careadlinkat): Use it.
186         linkat: use eloop-threshold
187         * lib/linkat.c: Include eloop-threshold.h.
188         Do not include sys/param.h.
189         (MAXSYMLINKS): Remove.
190         (link_follow, linkat_follow): Use __eloop_threshold instead
191         of MAXSYMLINKS.
192         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
193         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
195         canonicalize-lgpl: use eloop-threshold
196         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
197         (MAXSYMLINKS, __eloop_threshold): Remove.
198         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
200         eloop-threshold: new module
201         * config/srclist.txt: Add a comment about it.
202         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
204         canonicalize: prefer faccessat to stat
205         A proper faccessat doesn't have the EOVERFLOW problem, and can be
206         more efficient as it needn't gather data from the filesystem to
207         fill in struct stat.  So use stat only if faccessat is absent,
208         or when checking for symlink loops in canonicalize.c.
209         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
210         Include fcntl.h, for AT_EACCESS.
211         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
212         (file_accessible): New function, based on faccessat but with
213         a fallback to stat and with an EOVERFLOW workaround.
214         (dir_check): Use it.
215         (dir_suffix): New static constant.
216         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
217         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
218         (__faccessat) [!_LIBC]: Define.
219         (realpath_stk): Use dir_suffix now.
220         * lib/canonicalize.c (canonicalize_filename_mode_stk):
221         If logical, don't check each component's existence; just check
222         at the end, as that's enough.
223         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
224         (gl_CANONICALIZE_LGPL_SEPARATE):
225         Require gl_FUNC_FACCESSAT_EOVERFLOW,
226         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
227         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
228         as the code does not use HAVE_READLINK.
229         * modules/canonicalize, modules/canonicalize-lgpl (Files):
230         Add m4/faccessat.m4, m4/lstat.m4.
231         (Depends-on): Add fcntl-lh.
233         faccessat: work around F_OK EOVERFLOW bug
234         * doc/posix-functions/faccessat.texi: Mention the problem.
235         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
236         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
237         for F_OK and EOVERFLOW, which means we can return 0.
238         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
239         (gl_FUNC_FACCESSAT): Use it.
241         stat failing with EOVERFLOW implies existence
242         * lib/euidaccess.c (euidaccess):
243         * lib/file-has-acl.c (file_has_acl):
244         * lib/link.c (link, rpl_link):
245         * lib/mkdir.c (rpl_mkdir):
246         * lib/mkfifo.c (rpl_mkfifo):
247         * lib/mknod.c (rpl_mknod):
248         * lib/ptsname_r.c (__ptsname_r):
249         * lib/symlink.c (rpl_symlink):
250         * lib/symlinkat.c (rpl_symlinkat):
251         * lib/unlink.c (rpl_unlink):
252         * lib/unlinkat.c (rpl_unlinkat):
253         * lib/utime.c (utime):
254         If stat fails with EOVERFLOW the file exists, so treat it that way
255         in file-existence tests that do not need struct stat values.
257         canonicalize-lgpl: remove freea macro
258         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
260         canonicalize, canonicalize-lgpl: fix symlink bug
261         Problem reported by Adhemerval Zanella in:
262         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
263         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
264         (suffix_requires_dir_check, dir_check): New functions.
265         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
266         closer to the related GCC diagnostics.
267         * lib/canonicalize-lgpl.c (realpath_stk):
268         * lib/canonicalize.c (canonicalize_file_mode_stk):
269         Use them to fix a bug with .../symlink-to-regular-file/ etc.
270         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
271         (realpath_stk): New function,
272         with the contents of the old __realpath and a new scratch buffer arg.
273         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
274         (__realpath): Use it.
275         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
276         Add test cases for the bugs.
278 2020-12-24  Bruno Haible  <bruno@clisp.org>
280         execute: Treat signalled processes like wait-process does.
281         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
282         (execute): Recognize the case where the exit code indicates a signalled
283         child process.
284         * tests/test-execute-main.c (main): Update expected test result.
285         * modules/execute (Depends-on): Add sys_wait.
287 2020-12-24  Bruno Haible  <bruno@clisp.org>
289         windows-spawn: Improve errno upon failure on native Windows.
290         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
291         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
292         * tests/executable-script.sh: New file.
293         * tests/test-posix_spawn-script.c (main): Also try executing
294         executable-script.sh.
295         * tests/test-posix_spawnp-script.c (main): Likewise.
296         * tests/test-execute-script.c (main): Likewise.
297         * tests/test-spawn-pipe-script.c (main): Likewise.
298         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
299         * modules/posix_spawnp-tests (Files): Likewise.
300         * modules/execute-tests (Files): Likewise.
301         * modules/spawn-pipe-tests (Files): Likewise.
303 2020-12-24  Bruno Haible  <bruno@clisp.org>
305         findprog-in: Improve errno upon failure on native Windows.
306         * lib/findprog-in.c (find_in_given_path): If the file basename has no
307         dot and the search with a suffix returned no result, do also a search
308         without a suffix, and set errno = ENOEXEC if we find a file in this way.
309         * tests/test-spawn-pipe-script.c (main): Update expected errno.
311 2020-12-23  Bruno Haible  <bruno@clisp.org>
313         posix_spawn, posix_spawnp: Fix execution of scripts.
314         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
315         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
316         or posix_spawnp allows unsecure execution of scripts.
317         * doc/posix-functions/posix_spawn.texi: Document the script execution
318         problem.
319         * doc/posix-functions/posix_spawnp.texi: Likewise.
321 2020-12-23  Bruno Haible  <bruno@clisp.org>
323         Add unit tests regarding execution of scripts.
324         * tests/executable-script: New file.
325         * tests/executable-shell-script: New file.
326         * tests/test-posix_spawn-script.c: New file.
327         * tests/test-posix_spawnp-script.c: New file.
328         * tests/test-execute-script.c: New file.
329         * tests/test-spawn-pipe-script.c: New file.
330         * modules/posix_spawn-tests (Files): Add
331         tests/test-posix_spawn-script.c, tests/executable-script,
332         tests/executable-shell-script.
333         (Makefile.am): Compile and run test-posix_spawn-script.
334         * modules/posix_spawnp-tests (Files): Add
335         tests/test-posix_spawnp-script.c, tests/executable-script,
336         tests/executable-shell-script.
337         (Makefile.am): Compile and run test-posix_spawnp-script.
338         * modules/execute-tests (Files): Add tests/test-execute-script.c,
339         tests/executable-script, tests/executable-shell-script.
340         (Makefile.am): Compile and run test-execute-script.
341         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
342         tests/executable-script, tests/executable-shell-script.
343         (Makefile.am): Compile and run test-spawn-pipe-script.
345 2020-12-23  Bruno Haible  <bruno@clisp.org>
347         Don't execute scripts without '#!' marker through /bin/sh.
348         This reflects the change done in glibc through
349         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
350         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
351         * lib/spawni.c (internal_function): Remove macro.
352         (script_execute): Remove function.
353         (__spawni): Don't invoke script_execute.
354         * lib/execute.c (execute): Disable the ENOEXEC handling.
355         * lib/spawn-pipe.c (create_pipe): Likewise.
356         * NEWS: Mention the change.
358 2020-12-23  Bruno Haible  <bruno@clisp.org>
360         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
361         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
362         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
363         * lib/spawni.c (__spawni): Update function parameters.
365 2020-12-23  Bruno Haible  <bruno@clisp.org>
367         posix_spawn tests: Add two more tests.
368         * tests/test-posix_spawn-inherit0.c: New file, based on
369         tests/test-posix_spawn-open2.c.
370         * tests/test-posix_spawn-inherit1.c: New file, based on
371         tests/test-posix_spawn-open2.c.
372         * modules/posix_spawn-tests (Files): Add them.
373         (Depends-on): Add fflush.
374         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
375         test-posix_spawn-inherit1.
377 2020-12-23  Bruno Haible  <bruno@clisp.org>
379         posix_spawn tests: Add another test.
380         * tests/test-posix_spawn-open2.c: New file, based on
381         tests/test-posix_spawn-open1.c.
382         * modules/posix_spawn-tests (Files): Add it.
383         (Makefile.am): Compile and run test-posix_spawn-open1.
385 2020-12-20  Bruno Haible  <bruno@clisp.org>
387         Remove support for broken <wchar.h> in AIX 3.
388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
390 2020-12-20  Bruno Haible  <bruno@clisp.org>
392         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
393         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
394         * lib/mbchar.h: Likewise.
395         * lib/mbiter.h: Likewise.
396         * lib/mbuiter.h: Likewise.
397         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
398         * lib/mbfile.h: Don't include <time.h>.
399         * lib/mbswidth.h: Update comment.
400         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
401         <wchar.h>.
402         * lib/wctype.in.h: Likewise.
403         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
404         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
405         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
406         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
407         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
408         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
409         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
410         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
411         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
412         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
413         AC_FUNC_MBRTOWC): Likewise.
414         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
415         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
416         Likewise.
417         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
418         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
419         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
421         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
422         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
423         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
424         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
425         Likewise.
426         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
427         gl_WCSRTOMBS_NULL): Likewise.
428         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
429         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
430         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
431         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
432         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
433         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
434         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
435         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
436         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
437         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
439 2020-12-20  Bruno Haible  <bruno@clisp.org>
441         isnanf: Fix autoconf test.
442         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
444 2020-12-20  Bruno Haible  <bruno@clisp.org>
446         Remove some of the support for obsolete IRIX 4 and 5.
447         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
448         libsun.
449         * tests/init.sh (setup_): Don't talk about IRIX 5.
451 2020-12-20  Bruno Haible  <bruno@clisp.org>
453         filemode: Remove Cray support.
454         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
455         (filemodestring): Don't produce an 'M' type.
456         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
457         * m4/st_dm_mode.m4: Remove file.
458         * modules/filemode (Files): Remove it.
460 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
462         free-posix: assume glibc 2.33 fixes this.
463         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
464         Use compile-time test rather than guessing for cross-builds.
466 2020-12-20  Bruno Haible  <bruno@clisp.org>
468         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
469         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
470         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
471         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
473 2020-12-20  Bruno Haible  <bruno@clisp.org>
475         float: Fix compilation error when gnulib's float.h exists twice.
476         Reported by Santiago Vila <sanvila@unex.es>.
477         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
479 2020-12-19  Bruno Haible  <bruno@clisp.org>
481         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
482         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
483         Don't trust _POSIX_VERSION for this test.
485 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
487         free-posix: port to GNU/Linux
488         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
489         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
490         other GNU/Linux hosts.
492 2020-12-19  Bruno Haible  <bruno@clisp.org>
494         free-posix: Add tests.
495         * tests/test-free.c: New file.
496         * tests/macros.h (ASSERT_NO_STDIO,
497         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
498         WRITE_TO_STDERR): New macros.
499         * modules/free-posix-tests: New file.
501 2020-12-18  Bruno Haible  <bruno@clisp.org>
503         free-posix: Add C++ declaration test.
504         * tests/test-stdlib-c++.cc (free): New declaration.
506 2020-12-18  Bruno Haible  <bruno@clisp.org>
508         free-posix: New module, renamed from 'free'.
509         * modules/free-posix: Renamed from modules/free.
510         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
511         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
512         not GNULIB_FREE.
513         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
514         GNULIB_FREE.
515         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
516         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
517         what it does.
518         * NEWS: Mention that module 'free' no longer exists.
519         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
520         * modules/canonicalize-lgpl (Depends-on): Likewise.
522 2020-12-18  Bruno Haible  <bruno@clisp.org>
524         free: Remove support for obsolete platforms.
525         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
526         CANNOT_FREE_NULL.
527         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
528         * modules/free (Description): Update.
529         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
531 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
533         intprops: port to ICC 2021.1 Beta 20201112
534         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
535         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
536         Add a clause for other compilers that claim to support
537         __builtin_mul_overflow_p, since we might as well find out about
538         slackers other than Clang and ICC.
539         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
540         like older GCCs even when it claims to be a newer one.
542 2020-12-18  Bruno Haible  <bruno@clisp.org>
544         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
545         Reported by Stefan Liebler <stli@linux.ibm.com> in
546         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
547         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
548         GCC 5.x and 6.x.
549         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
550         GCC 5.x and 6.x.
552 2020-12-17  Bruno Haible  <bruno@clisp.org>
554         free: Fix warning.
555         Reported by Pádraig Brady <P@draigBrady.com> in
556         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
557         * lib/stdlib.in.h (free): New declaration.
558         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
559         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
560         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
561         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
562         'free' as a macro here.
563         * modules/free (Depends-on): Add stdlib.
564         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
566 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
568         canonicalize-lgpl: fix AIX test failures
569         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
570         Problem reported by Bruno Haible in:
571         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
572         * lib/canonicalize-lgpl.c: Include sys/stat.h.
573         (__realpath): When testing a file name ending in '/', use stat
574         rather than readlink, so that it does the right thing on AIX.
575         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
577         canonicalize: omit second readlink when not needed
578         * lib/canonicalize.c (canonicalize_filename_mode_stk):
579         Omit second readlink when (can_exist != CAN_MISSING
580         && startlen != 0 && !logical).  Simplify.
582         canonicalize: remove arbitrary 8192-byte limit
583         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
584         like GNU Hurd that do not define the PATH_MAX macro, and similarly
585         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
586         using scratch buffers.  Lessen the number of differences between
587         the two source files, to simplify this and future maintenance.
588         * lib/canonicalize-lgpl.c (__realpath):
589         * lib/canonicalize.c (canonicalize_filename_mode_stk):
590         Use scratch buffers instead of malloc and malloca.  This avoids
591         the need for alloca, and avoids the need for malloc in most cases.
592         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
593         easier to compare, e.g., by sorting include files and by switching
594         to the GNU convention of calling file names "file names", not
595         "path names".  Include stdbool.h, scratch_buffer.h.
596         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
597         (malloca) [_LIBC]: Remove.
598         [!_LIBC]: Do not include malloca.h.
599         (get_path_max): New function, so that pathconf is called only in
600         the rare and dubious case when when RESOLVED is not null and
601         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
602         file name, as we care about the longest file name starting from
603         "/" (not from the input file name), and POSIX does not specify
604         what pathconf does on a non-directory file anyway.  If PATH_MAX is
605         not defined, do not worry about overriding a path_max of 0, and do
606         not let path_max exceed IDX_MAX.
607         (__realpath): Remove an assumption that file name components
608         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
609         the Hurd, presumably).
610         When allocating the result, allocate it to just the right size;
611         this costs nothing when the result is smaller than 1023 bytes,
612         and for larger results it's probably worth the CPU to call realloc,
613         as canonicalize.c already does.
614         * lib/canonicalize.c: Include attribute.h.
615         Do not include pathmax.h or xgetcwd.h.
616         (PATH_MAX): Do not define, so file names longer than 8192 bytes
617         work on platforms with no fixed limit.
618         (canonicalize_filename_mode_stk): New function, with
619         the content of the old canonicalize_filename_mode.
620         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
621         since the scratch buffers now do memory management for us.
622         Use rawmemchr instead of adding strlen.
623         Use mempcpy instead of mempcpy + size.
624         Assume free preserves errno.
625         (canonicalize_filename_mode): Use it.
626         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
627         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
628         scratch_buffer, stdbool, xalloc-die.
629         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
630         malloca, realloc-posix.  Add scratch_buffer, stdbool.
632         canonicalize-lgpl: simplify merge to glibc
633         This patch lessens the differences between git glibc
634         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
635         The (perhaps wishful) goal is to make them identical.
636         * lib/canonicalize-lgpl.c [!_LIBC]:
637         Include <libc-config.h>, not config.h.
638         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
639         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
640         Do not include alloca.h, since we use malloca now.
641         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
642         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
643         freea so that the mainline code can be kept #ifdef free.
644         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
645         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
646         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
647         __eloop_threshold.  All uses of their definiens changed.
648         (SIZE_MAX): Remove; no longer needed.
649         (alloc_failed): Remove, and remove all instances.
650         No need for alloc_failed now that free preserves errno.
651         (__realpath): Default path_max to 1024 instead of 8192, as that’s
652         the glibc tradition and is safer when the 2nd argument is null.
653         Use __rawmemchr instead of strchr.
654         Use __mempcpy where appropriate.
655         Simplify test for overflow so that it does not need SIZE_MAX.
656         Do not preserve errno around free or freea calls; no longer needed.
657         Mark __realpath with libc_hidden_def.
658         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
659         malloc-posix, mempcpy, realloc-posix, rawmemchr.
660         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
662         free: preserve errno
663         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
664         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
665         platforms that do not preserve errno.
666         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
667         Also, define CANNOT_FREE_NULL if free cannot free NULL.
668         * modules/free (configure.ac): Also replace 'free' if
669         it does not preserve errno.
671         idx: simplify IDX_MAX, remove IDX_WIDTH
672         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
673         to UNSIGNED_IDX_T.
674         (IDX_WIDTH): Remove, since it’s not used and its value
675         arguably should be PTRDIFF_WIDTH anyway.
677 2020-12-16  Bruno Haible  <bruno@clisp.org>
679         posix_spawn_file_actions_addfchdir-tests: Rename test.
680         * tests/test-posix_spawn-fchdir.c: Renamed from
681         tests/test-posix_spawn5.c.
682         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
683         Update.
685         posix_spawn_file_actions_addchdir-tests: Rename test.
686         * tests/test-posix_spawn-chdir.c: Renamed from
687         tests/test-posix_spawn4.c.
688         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
689         Update.
691         posix_spawn-tests: Rename test.
692         * tests/test-posix_spawn-open1.c: Renamed from
693         tests/test-posix_spawn3.c.
694         * modules/posix_spawn-tests (Files, Makefile.am): Update.
696         posix_spawnp-tests: Rename test.
697         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
698         tests/test-posix_spawn2.c.
699         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
700         tests/test-posix_spawn2.in.sh.
701         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
703         posix_spawnp-tests: Rename test.
704         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
705         tests/test-posix_spawn1.c.
706         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
707         tests/test-posix_spawn1.in.sh.
708         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
710 2020-12-14  Bruno Haible  <bruno@clisp.org>
712         findprog-in: Allow overriding the current directory.
713         * lib/findprog.h (find_in_given_path): Add directory argument.
714         * lib/findprog-in.c (find_in_given_path): Likewise.
715         * lib/execute.c (execute): Update caller.
716         * lib/spawn-pipe.c (create_pipe): Likewise.
717         * lib/windows-spawn.c (spawnpvech): Likewise.
718         * NEWS: Mention the change.
720 2020-12-14  Bruno Haible  <bruno@clisp.org>
722         posix_spawn-internal: Make better use of 'const'.
723         * lib/spawn_int.h (__spawni): Does not need write access to the elements
724         of argv and envp.
725         * lib/spawni.c (__spawni, script_execute): Likewise.
726         * lib/spawn.c (posix_spawn): Update caller.
727         * lib/spawnp.c (posix_spawnp): Likewise.
729 2020-12-14  Bruno Haible  <bruno@clisp.org>
731         spawn: Make it compile on native Windows.
732         * modules/spawn (Depends-on): Add signal-h.
734 2020-12-14  Bruno Haible  <bruno@clisp.org>
736         windows-spawn: Avoid shadowing a variable.
737         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
739 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
741         string: port memchr macro to AIX 7.2 XLC
742         Its <string.h> defines a memchr macro to help inlining.
743         * lib/string.in.h (memchr): #undef before #defining.
745         canonicalize: fix AIX test failures
746         Problem reported by Bruno Haible in:
747         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
748         * lib/canonicalize.c (canonicalize_filename_mode):
749         When testing a file name ending in '/', use stat rather than
750         readlink, so that it does the right thing on AIX.
751         * modules/canonicalize (Depends-on): Add readlink, to pull in the
752         recent changes in the Gnulib readlink module.
754         Assume readlink/readlinkat ERANGE fix
755         * lib/areadlink-with-size.c (areadlink_with_size):
756         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
757         * lib/careadlinkat.c (readlink_stk):
758         Do not worry about readlink or readlinkat failing with errno == ERANGE,
759         since the Gnulib readlink and readlinkat modules now fix that.
761         getcwd: port to AIX
762         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
763         in case our sys/stat.h #defined a function macro with the same name.
765         readlink, readlinkat: add ERANGE portability
766         Fix some portability issues with Gnulib's readlink and readlinkat,
767         notably mostly working around the ERANGE problem in AIX and HP-UX.
768         * doc/posix-functions/readlink.texi:
769         * doc/posix-functions/readlinkat.texi:
770         ERANGE problem is mostly fixed now.  Mention AIX problem with
771         trailing / and EINVAL.  Lessen differences between these two files.
772         * lib/readlink.c (rpl_readlink):
773         * lib/readlinkat.c (rpl_readlinkat):
774         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
775         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
776         Lessen spurious differences between the readlink and readlinkat code.
777         * lib/readlinkat.c (rpl_readlinkat):
778         Fix bug where stat was used where fstatat was intended.
779         * m4/readlink.m4 (gl_FUNC_READLINK):
780         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
781         to identify readlink problems more precisely.  All uses changed.
782         Guess no on AIX or HP-UX for this variable.
783         Add check for whether readlink truncates results,
784         and define new macro READLINK_TRUCATE_BUG accordingly.
785         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
786         Also check gl_cv_func_readlink_trailing_slash when deciding
787         whether to replace readlinkat.
788         * modules/readlinkat (Depends-on): Most dependencies are also
789         needed if replacing readlinkat.  fstatat is different, as it
790         is needed only if replacing an existing readlinkat.
792 2020-12-13  Bruno Haible  <bruno@clisp.org>
794         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
795         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
796         the stdin_handle and/or stdout_handle.
798 2020-12-12  Bruno Haible  <bruno@clisp.org>
800         Fix gnulib-tool error when some modules occur in tests/.
801         * doc/gnulib.texi (Specification): Update statistics.
802         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
803         (Using AC_LIBOBJ): New section.
804         * check-AC_LIBOBJ: New file.
805         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
806         * modules/fopen-gnu (Files): Add lib/fopen.c.
807         * modules/memmem (Files): Add lib/memmem.c.
808         * modules/renameat (Files): Add lib/at-func2.c.
809         * modules/strcasestr (Files): Add lib/strcasestr.c.
810         * modules/strstr (Files): Add lib/strstr.c.
812 2020-12-11  Bruno Haible  <bruno@clisp.org>
814         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
815         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
816         elements of argv.
817         * lib/sh-quote.c (shell_quote_argv): Likewise.
818         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
819         the return type.
820         * lib/windows-spawn.c (prepare_spawn): Likewise.
821         * lib/os2-spawn.h (prepare_spawn): Likewise.
822         * lib/os2-spawn.c (prepare_spawn): Likewise.
823         * lib/execute.h (execute): Does not need write access to the elements of
824         prog_argv.
825         * lib/execute.c (execute): Likewise.
826         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
827         Likewise.
828         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
829         create_pipe_out): Likewise.
830         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
831         Likewise.
832         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
833         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
834         * lib/javaexec.h (execute_fn): Does not need write access to the
835         elements of prog_argv.
836         * lib/javaexec.c (execute_java_class): Update variable types and remove
837         casts to 'char *'.
838         * lib/csharpexec.h (execute_fn): Does not need write access to the
839         elements of prog_argv.
840         * lib/csharpexec.c (execute_csharp_using_mono,
841         execute_csharp_using_sscli): Update variable types and remove casts to
842         'char *'.
843         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
844         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
845         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
846         is_jikes_present): Update variable types and remove casts to 'char *'.
847         * lib/javaversion.c (execute_and_read_line): Does not need write access
848         to the elements of prog_argv.
849         * lib/csharpcomp.c (compile_csharp_using_mono,
850         compile_csharp_using_sscli): Update variable types and remove casts to
851         'char *'.
852         * tests/test-sh-quote.c (main): Update variable types and remove casts
853         to 'char *'.
854         * tests/test-execute-main.c (main): Update variable types and remove
855         casts to 'char *'.
856         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
857         remove casts to 'char *'.
858         * NEWS: Mention the changes.
860 2020-12-11  Bruno Haible  <bruno@clisp.org>
862         execute-tests: Fix compilation error with MSVC.
863         * tests/test-execute-child.c (is_device): With _fstat, use
864         'struct _stat', not 'struct stat'.
866 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
868         vararrays: just use 2.70
869         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
870         and later, since Autoconf 2.70 matches Gnulib now.
872         sys_types: just use 2.70
873         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
874         Reindent to match Autoconf sources.
875         Use Autoconf 2.70 as a prerequisite, not 2.69c.
877         stdint: port to Autoconf 2.70
878         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
879         instead of assuming that AC_INCLUDES_DEFAULT does it.
880         The old code relied on AC_INCLUDES_DEFAULT being called
881         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
882         but this does not occur in Autoconf 2.70.
884         pid_t.m4: just use 2.70
885         * m4/pid_t.m4 (AC_TYPE_PID_T):
886         Use Autoconf 2.70 as a prerequisite, not 2.69c.
888         largefile: just use 2.70
889         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
890         Use Autoconf 2.70 as a prerequisite, not 2.69c.
892         AC_C_RESTRICT: update from Autoconf
893         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
894         as a prerequisite, not 2.69c, since 2.70 is now out.
895         (AC_C_RESTRICT): Define only for 2.70 or earlier.
896         Try __restrict__ before __restrict.
898         extensions: update from Autoconf
899         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
900         Provide a default implementation for Autoconf 2.69 or earlier.
901         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
902         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
904         alloca: update from Autoconf
905         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
906         Trivial update to match Autoconf 2.70.
908 2020-12-11  Bruno Haible  <bruno@clisp.org>
910         memchr: Work around memory overrun bug on AIX 7.2.
911         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
912         * doc/posix-functions/memchr.texi: Mention the AIX bug.
914 2020-12-11  Bruno Haible  <bruno@clisp.org>
916         execute-tests: Fix compilation error on AIX in 32-bit mode.
917         * tests/test-execute-child.c: In order to get the original definition of
918         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
919         include the system's <sys/stat.h> and use it before including other
920         header files.
922 2020-12-10  Bruno Haible  <bruno@clisp.org>
924         windows-spawn: Relicense under LGPLv2+.
925         * modules/windows-spawn (License): Change to LGPLv2+.
927 2020-12-10  Bruno Haible  <bruno@clisp.org>
929         execute, spawn-pipe: Fix memory leak on native Windows.
930         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
931         * lib/windows-spawn.c: Don't include xalloc.h.
932         (quoted_arg_length, quoted_arg_string): New functions, extracted from
933         prepare_spawn.
934         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
935         elements of *new_argv together.
936         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
937         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
938         * lib/os2-spawn.c: Don't include xalloc.h.
939         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
940         elements of *new_argv together.
941         * lib/execute.c: Include xalloc.h.
942         (execute): Check return value of prepare_spawn. Free the memory
943         allocated by prepare_spawn.
944         * modules/execute (Depends-on): Add xalloc-die.
945         * lib/spawn-pipe.c: Include xalloc.h.
946         (create_pipe): Check return value of prepare_spawn. Free the memory
947         allocated by prepare_spawn.
948         * modules/spawn-pipe (Depends-on): Add xalloc-die.
950 2020-12-10  Bruno Haible  <bruno@clisp.org>
952         findprog-in: Relicense under LGPLv2+.
953         Paul Smith's approval is in
954         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
955         * modules/findprog-in (License): Change to LGPLv2+.
957 2020-12-10  Bruno Haible  <bruno@clisp.org>
959         findprog-in: Don't exit upon out-of-memory.
960         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
961         code.
962         * lib/findprog-in.c: Don't include xalloc.h.
963         (find_in_given_path): Call concatenated_filename, not
964         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
965         return NULL with errno set.
966         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
967         concat-filename, strdup-posix, malloc-posix.
969 2020-12-09  Bruno Haible  <bruno@clisp.org>
971         fmaf: Work around a bug on FreeBSD 12.2/arm.
972         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
973         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
975 2020-12-09  Bruno Haible  <bruno@clisp.org>
977         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
978         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
979         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
980         * lib/glthread/threadlib.c: Include <errno.h>.
981         (glthread_in_use): For FreeBSD, provide an alternative implementation
982         that uses pthread_key_create.
984 2020-12-09  Bruno Haible  <bruno@clisp.org>
986         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
987         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
988         not 'isnan'.
990 2020-12-08  Bruno Haible  <bruno@clisp.org>
992         std-gnu11: Make compatible with Autoconf 2.70.
993         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
994         use.
996 2020-12-08  Bruno Haible  <bruno@clisp.org>
998         argp: Avoid undefined behaviour when invoking qsort().
999         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
1000         Reported by Jeffrey Walton <noloader@gmail.com> in
1001         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
1002         * lib/argp-help.c (group_cmp): Remove third argument.
1003         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
1004         upon hol_cluster_cmp.
1005         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
1006         (hol_entry_cmp): Rewritten to implement a total order.
1008 2020-12-08  Bruno Haible  <bruno@clisp.org>
1010         argp: Improve comments.
1011         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
1012         null pointer.
1013         (struct hol_entry): Fix comment regarding sort order of group.
1014         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
1015         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
1016         (hol_cluster_is_child, argp_hol): Move functions.
1017         (HOL_ENTRY_PTRCMP): Remove unused macro.
1019 2020-12-08  Bruno Haible  <bruno@clisp.org>
1021         argp: Don't pass invalid arguments to isspace() and isalnum().
1022         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
1023         before passing it to isspace() or isalnum().
1025 2020-12-08  Bruno Haible  <bruno@clisp.org>
1027         argp: Don't rely on undefined behaviour of _tolower().
1028         Patch by Eric Blake
1029         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
1030         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
1031         not upper-case.  Pass correct range to tolower.
1033 2020-12-07  Bruno Haible  <bruno@clisp.org>
1035         unicodeio: Fix wrong result on FreeBSD.
1036         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
1037         characters on all platforms.
1039 2020-12-07  Bruno Haible  <bruno@clisp.org>
1041         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
1042         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
1043         FreeBSD systems.
1045 2020-12-07  Bruno Haible  <bruno@clisp.org>
1047         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
1048         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
1049         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
1050         trivially of sbrk is not available.
1051         * doc/glibc-functions/sbrk.texi: Mention that the function does not
1052         exist in FreeBSD 12.2/arm64.
1053         * doc/glibc-functions/brk.texi: Likewise.
1055 2020-12-07  Bruno Haible  <bruno@clisp.org>
1057         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
1058         Suggested by Zack Weinberg in
1059         <https://savannah.gnu.org/support/?110294>.
1060         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
1061         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
1063 2020-12-07  Bruno Haible  <bruno@clisp.org>
1065         Tweak the Windows oldnames workaround.
1066         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1067         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
1068         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
1069         always.
1070         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
1071         * lib/stdlib.in.h (putenv): Likewise.
1073 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1075         doc: fix flat address space discussion
1076         * doc/gnulib-readme.texi (Other portability assumptions):
1077         Move the all-bits-zero assumption outside the flat address space
1078         section, since the two issues are independent.
1080         doc: document -static-libubsan more
1081         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
1082         -static-libubsan a bit more.  Mostly cons.
1084 2020-12-06  Bruno Haible  <bruno@clisp.org>
1086         doc: Add more details regarding the undefined behaviour sanitizer.
1087         * doc/gnulib-readme.texi (High Quality): Describe
1088         -fsanitize-undefined-trap-on-error better.
1090 2020-12-06  Bruno Haible  <bruno@clisp.org>
1092         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
1093         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1094         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
1095         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
1096         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
1097         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
1098         a preprocessor #define.
1099         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1100         * lib/search.in.h (lfind, lsearch): Likewise.
1101         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1102         Likewise.
1103         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1104         * lib/string.in.h (memccpy, strdup): Likewise.
1105         * lib/sys_stat.in.h (chmod, umask): Likewise.
1106         * lib/time.in.h (tzset): Likewise.
1107         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1108         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1109         read, rmdir, swab, unlink, write): Likewise.
1110         * lib/utime.in.h (utime): Likewise.
1111         * lib/wchar.in.h (wcsdup): Likewise.
1112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
1113         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
1114         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
1115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
1116         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1117         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1118         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
1119         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
1121         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
1122         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
1123         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
1124         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
1125         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
1127 2020-12-06  Bruno Haible  <bruno@clisp.org>
1129         doc: Mention some missing function declarations.
1130         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
1131         AIX.
1132         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
1133         FreeBSD.
1134         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
1135         Cygwin.
1136         * doc/pastposix-functions/fcvt.texi: Likewise.
1137         * doc/pastposix-functions/gcvt.texi: Likewise.
1139 2020-12-06  Bruno Haible  <bruno@clisp.org>
1141         doc: Tweak example.
1142         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
1143         'print'.
1145 2020-12-06  Bruno Haible  <bruno@clisp.org>
1147         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
1148         * tests/test-filenamecat.c: Include idx.h.
1149         (main): Mark prefixlen as nonnegative.
1150         * modules/filenamecat-tests (Depends-on): Add idx.
1152 2020-12-06  Bruno Haible  <bruno@clisp.org>
1154         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
1155         * lib/time_rz.c: Include idx.h.
1156         (save_abbr): Mark zone_size as nonnegative.
1157         * modules/time_rz (Depends-on): Add idx.
1159 2020-12-06  Bruno Haible  <bruno@clisp.org>
1161         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
1162         * lib/parse-datetime.y: Include idx.h.
1163         (textint): Mark digits as nonnegative.
1164         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
1165         dsts_seen, times_seen, zones_seen as nonnegative.
1166         (lookup_word): Mark wordlen as nonnegative.
1167         (yylex): Mark count as nonnegative.
1168         (parse_datetime2): Mark tzsize as nonnegative.
1169         * modules/parse-datetime (Depends-on): Add idx.
1171 2020-12-06  Bruno Haible  <bruno@clisp.org>
1173         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
1174         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
1175         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
1176         nonnegative.
1177         * modules/fnmatch (Depends-on): Add idx.
1179 2020-12-06  Bruno Haible  <bruno@clisp.org>
1181         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
1182         * lib/c-stack.c: Include idx.h.
1183         (die): Mark buflen as nonnegative.
1184         * modules/c-stack (Depends-on): Add idx.
1186 2020-12-06  Bruno Haible  <bruno@clisp.org>
1188         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
1189         * lib/backupfile.c: Include idx.h.
1190         (numbered_backup): Mark base_offset as nonnegative.
1191         (backupfile_internal): Likewise.
1192         * modules/backup-rename (Depends-on): Add idx.
1193         * modules/backupfile (Depends-on): Likewise.
1195 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1197         doc: fix curved quotes issue
1198         * doc/gnulib.texi: Set txicodequoteundirected and
1199         txicodequotebacktick so that ` and ' in examples do not generate
1200         curved single quotes that do the wrong thing when cut and pasted.
1202         doc: mention static and dynamic checking
1203         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
1204         for static and dynamic checking.
1206         intprops: Add INT_ADD_OK etc.
1207         * doc/intprops.texi (Checking Integer Overflow): New section.
1208         * lib/intprops.h: From a suggestion by Bruno Haible in:
1209         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
1210         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
1212         doc: move exotic platfroms to Target Platforms
1213         * doc/gnulib-intro.texi (Supported Platforms)
1214         (Formerly Supported Platforms, Unsupported Platforms):
1215         New subsections, split off from Target Platforms.
1216         (Unsupported Platforms): Move the exotic-platform stuff here ...
1217         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
1218         section.
1220         doc: mention intptr_t etc. and IBM i
1221         * doc/gnulib-readme.texi (Other portability assumptions):
1222         Mention intptr_t and uintptr_t, and that arithmetic on them
1223         works in the usual way.
1224         (Exotic platforms): New section, containing material from
1225         the old 'Integer Portability' section.  Also mention IBM i.
1226         * doc/intprops.texi (Wraparound Arithmetic):
1227         Say that the macros work on unsigned integers too.
1228         (Integer Portability): Remove.
1230 2020-12-04  Bruno Haible  <bruno@clisp.org>
1232         utime: Fix a test failure on macOS 10.13.
1233         Reported by Martin Storsjö <martin@martin.st> in
1234         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1235         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
1236         slashes on files.
1237         * lib/utime.c (utime): Add alternative implementation for Unix
1238         platforms.
1239         * modules/utime (Depends-on): Add stat.
1240         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
1241         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
1242         trailing-slash bug.
1243         * doc/posix-functions/open.texi: Likewise.
1244         * doc/posix-functions/stat.texi: Likewise.
1245         * doc/posix-functions/symlink.texi: Likewise.
1247 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
1249         intprops: update doc and mention Unisys
1250         * doc/gnulib-readme.texi (Other portability assumptions):
1251         Also mention ptrdiff_t when talking about widths and overflow.
1252         * doc/intprops.texi (Integer Properties): Summarize new section.
1253         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
1254         evaluates its argument.
1255         (Integer Bounds): Fix typo.
1256         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
1257         Document that the _WRAPV macros now support pointers to unsigned
1258         integers.
1259         (Integer Range Overflow): Update SEI CERT citation.
1260         (Integer Portability): New subsection, which mentions
1261         the oddball Unisys platforms as non-Gnulib targets.
1263 2020-12-03  Bruno Haible  <bruno@clisp.org>
1265         idx: Clarify that idx_t always behaves like a signed type.
1266         Suggested by Paul Eggert in
1267         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
1268         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
1269         Don't test UNSIGNED_IDX_T.
1271 2020-12-03  Bruno Haible  <bruno@clisp.org>
1273         idx: New module.
1274         * lib/idx.h: New file.
1275         * modules/idx: New file.
1276         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
1277         ptrdiff_t.
1278         * lib/canonicalize.c: Likewise.
1279         * modules/canonicalize-lgpl (Depends-on): Add idx.
1280         * modules/canonicalize (Depends-on): Likewise.
1282 2020-12-03  Bruno Haible  <bruno@clisp.org>
1284         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
1285         Reported by Martin Storsjö <martin@martin.st> in
1286         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1287         * tests/test-fprintf-posix3.c: Skip the test on macOS.
1288         (main): Return a different exit code at each point. Allow 100 KB extra
1289         memory consumption.
1290         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
1291         doesn't work" diagnostic.
1293 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1295         canonicalize: refactor can_mode flag
1296         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
1297         (multiple_bits_set): ... this new static function.  Uses changed.
1298         (canonicalize_filename_mode): Refactor for clarity to avoid
1299         modifying the CAN_MODE argument.
1301         canonicalize: prefer signed integer types
1302         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
1303         (seen_triple, canonicalize_filename_mode): Prefer signed to
1304         unsigned types where either will do, as they avoid some glitches
1305         in comparisons and can trap on overflow when debugging.
1307         canonicalize: fix most of another EOVERFLOW issue
1308         * lib/canonicalize.c (canonicalize_filename_mode):
1309         Do not call stat if fewer than 20 symlinks have been traversed.
1310         This avoids EOVERFLOW failure in the common case where there
1311         are not that many symlinks, while continuing to catch loops
1312         (or fail due to EOVERFLOW) in the unusual case when there
1313         are many symlinks to traverse.
1315         canonicalize: do not assume symlinks have st_ino
1316         * lib/canonicalize.c (canonicalize_filename_mode):
1317         When checking for loops, use st_dev and st_ino from the parent
1318         directory not from the symlink, as pre-2017 POSIX says these
1319         members are not reliable for symlinks.  Couple this with START
1320         (the remaining file name to be resolved), not NAME (the whole file
1321         name with START as its suffix).
1322         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
1324         canonicalize: fix EOVERFLOW bug
1325         * lib/canonicalize.c (canonicalize_filename_mode):
1326         When testing whether a directory entry is a symbolic link, or a
1327         directory or other, do not use lstat or stat or
1328         areadlink_with_size.  Just use areadlink, as this suffices and it
1329         avoids the EOVERFLOW problem that lstat and stat have.
1330         * modules/canonicalize (Depends-on): Depend on areadlink instead
1331         of areadlink-with-size and stat.
1333         canonicalize-lgpl: fix EOVERFLOW bug
1334         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
1335         (__realpath): Do not use lstat.  Just use readlink, as this
1336         suffices and it avoids the EOVERFLOW problem that lstat has.
1337         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
1339 2020-12-02  Bruno Haible  <bruno@clisp.org>
1341         strsignal-tests: Fix test failure on macOS 10.13.
1342         Reported by Martin Storsjö <martin@martin.st> in
1343         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1344         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
1345         to be longer than the expected result.
1347 2020-12-02  Bruno Haible  <bruno@clisp.org>
1349         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
1350         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
1351         recursive self-include problem on FreeBSD 12.2 in C++ mode.
1353 2020-12-02  Bruno Haible  <bruno@clisp.org>
1355         spawn-pipe: Allow caller to specify directory for the subprocess.
1356         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1357         Add directory argument.
1358         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
1359         (create_pipe): Add directory argument. If specified, resolve the program
1360         file name and make it absolute, first. Pass the directory to spawnpvech
1361         and posix_spawn_file_actions_addchdir.
1362         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
1363         argument.
1364         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
1365         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
1366         * tests/test-spawn-pipe-main.c (test_pipe): Update.
1367         * NEWS: Mention the change.
1368         * lib/csharpcomp.c (compile_csharp_using_mono,
1369         compile_csharp_using_sscli): Update.
1370         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
1371         is_gcj_43): Update.
1372         * lib/javaversion.c (execute_and_read_line): Update.
1373         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
1374         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
1376 2020-12-02  Bruno Haible  <bruno@clisp.org>
1378         execute: Allow caller to specify directory for the subprocess.
1379         * lib/execute.h (execute): Add directory argument.
1380         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
1381         (execute): Add directory argument. If specified, resolve the program
1382         file name and make it absolute, first. Pass the directory to spawnpvech
1383         and posix_spawn_file_actions_addchdir.
1384         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
1385         posix_spawn, posix_spawn_file_actions_addchdir.
1386         * tests/test-execute-main.c: Add test for passing a directory.
1387         * tests/test-execute-child.c: Likewise.
1388         * tests/test-execute.sh: Update.
1389         * modules/execute-tests (Depends-on): Add mkdir.
1390         * NEWS: Mention the change.
1391         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
1392         * lib/csharpexec.c (execute_csharp_using_mono,
1393         execute_csharp_using_sscli): Update.
1394         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1395         compile_using_javac, compile_using_jikes, is_javac_present,
1396         is_jikes_present): Update.
1397         * lib/javaexec.c (execute_java_class): Update.
1399 2020-12-01  Bruno Haible  <bruno@clisp.org>
1401         vma-iter: Add support for macOS11/arm64.
1402         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
1403         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
1404         and by Martin Storsjö <martin@martin.st> in
1405         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1406         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
1408 2020-12-01  Bruno Haible  <bruno@clisp.org>
1410         spawn-pipe: Fix handling of OS/2 kLIBC.
1411         Reported by KO Myung-Hun <komh78@gmail.com> in
1412         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
1413         * modules/spawn-pipe (configure.ac): Use the common idiom for
1414         recognizing the OS/2 operating system.
1416 2020-11-30  Bruno Haible  <bruno@clisp.org>
1418         execute: Fix uninitialized use of errno.
1419         * lib/execute.c (execute): Preserve errno across several system calls.
1421 2020-11-30  Bruno Haible  <bruno@clisp.org>
1423         access tests: Fix test failure on native Windows.
1424         * tests/test-access.c (main): Change permissions of f2 file before
1425         attempting to remove it.
1427 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
1429         faccessat: link with $(LIB_EACCESS)
1430         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
1431         module depends on euidaccess.
1433 2020-11-30  Bruno Haible  <bruno@clisp.org>
1435         execute, spawn-pipe: Make multithread-safe on native Windows.
1436         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
1437         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
1438         (spawnpvech): New declaration.
1439         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
1440         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
1441         (_): Remove macro.
1442         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
1443         undup_safer_noinherit): Remove functions.
1444         (spawnpvech): New function.
1445         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
1446         cloexec, dup2, error, gettext-h.
1447         * lib/execute.c: Include msvc-nothrow.h.
1448         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
1449         * lib/spawn-pipe.c: Include msvc-nothrow.h.
1450         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
1451         instead of _spawnvpe.
1452         * modules/execute (Depends-on): Add msvc-nothrow.
1453         * modules/spawn-pipe (Depends-on): Likewise.
1455 2020-11-30  Bruno Haible  <bruno@clisp.org>
1457         execute, spawn-pipe: Improve documentation.
1458         * lib/execute.h: Describe progname, prog_path, prog_argv.
1459         * lib/spawn-pipe.h: Likewise.
1461 2020-11-30  Bruno Haible  <bruno@clisp.org>
1463         execute tests: Add more tests.
1464         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
1465         inherited file descriptors >= 3.
1466         * tests/test-execute-child.c: Likewise.
1467         * tests/test-execute.sh: Update.
1469 2020-11-30  Bruno Haible  <bruno@clisp.org>
1471         havelib: Fix for non-ELF platforms (regression 2019-11-17).
1472         Reported by comex <comexk@gmail.com> in
1473         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
1474         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
1475         don't expect an ELF header.
1477 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1479         bitset: use integer_length in table implementation
1480         * lib/bitset/table.c (tbitset_list_reverse): Use
1481         BITSET_FOR_EACH_BIT_REVERSE.
1483 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1485         bitset: use integer_length in list implementation
1486         * lib/bitset/list.c (lbitset_list_reverse): Use
1487         BITSET_FOR_EACH_BIT_REVERSE.
1489 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1491         bitset: use integer_length in vector implementation
1492         * lib/bitset/array.c (vbitset_list_reverse): Use
1493         BITSET_FOR_EACH_BIT_REVERSE.
1495 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1497         bitset: use integer_length in array implementation
1498         * modules/bitset (Depends-on): Add integer_length_l.
1499         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
1500         * lib/bitset/array.c (abitset_list_reverse): Use it.
1502 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1504         bitset: style: use consistent names
1505         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
1506         and 'boffset' as 'bitoff', for consistency with the other
1507         implementations.
1508         * bitset/table.c (tbitset_list_reverse): Likewise.
1510 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1512         bitset: style: sort header
1513         * lib/bitset/base.h (bitset_ffs): Rename as...
1514         (bitset_ffs_): this.
1515         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
1517 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1519         bitset: tests: check BITSET_FOR_EACH_REVERSE
1520         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
1521         Check BITSET_FOR_EACH_REVERSE.
1523 2020-11-29  Bruno Haible  <bruno@clisp.org>
1525         spawn-pipe tests: Fix test failure with MSVC.
1526         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
1527         (gl_msvc_invalid_parameter_handler): New function.
1528         (main): Set a global invalid-parameter handler.
1529         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
1531 2020-11-29  Bruno Haible  <bruno@clisp.org>
1533         execute: Add tests.
1534         * tests/test-execute.sh: New file.
1535         * tests/test-execute-main.c: New file.
1536         * tests/test-execute-child.c: New file.
1537         * modules/execute-tests: New file.
1539 2020-11-29  Bruno Haible  <bruno@clisp.org>
1541         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
1542         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
1543         works.
1544         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
1545         fallback implementation as on Haiku.
1546         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
1547         effective.
1548         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
1550 2020-11-29  Bruno Haible  <bruno@clisp.org>
1552         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
1553         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
1554         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
1555         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
1556         * lib/windows-spawn.c: Remove modifications for kLIBC.
1557         * modules/spawn-pipe (Files): Add the new files.
1558         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
1560 2020-11-28  Bruno Haible  <bruno@clisp.org>
1562         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
1563         Reported by Paul Eggert in
1564         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
1565         * m4/sparcv8+.m4: New file.
1566         * modules/sparcv8+: New file.
1567         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
1569 2020-11-28  Bruno Haible  <bruno@clisp.org>
1571         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
1572         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
1574 2020-11-28  Bruno Haible  <bruno@clisp.org>
1576         windows-spawn: New module.
1577         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
1578         implementations.
1579         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
1580         * modules/windows-spawn: New file.
1581         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
1582         * lib/spawn-pipe.c: Likewise.
1583         * modules/execute (Files): Remove lib/w32spawn.h.
1584         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1585         xalloc.
1586         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1587         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
1588         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1589         xalloc.
1590         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1592 2020-11-27  Bruno Haible  <bruno@clisp.org>
1594         ssfmalloc tests: Port to macOS 11.
1595         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
1597 2020-11-26  Bruno Haible  <bruno@clisp.org>
1599         Fix dependencies of modules that use '_exit' on native Windows.
1600         Reported by Jim Meyering in
1601         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
1602         * modules/_Exit (Depends-on): Add unistd.
1603         * modules/closein (Depends-on): Likewise.
1604         * modules/closeout (Depends-on): Likewise.
1605         * modules/forkpty (Depends-on): Likewise.
1606         * modules/posix_spawn-internal (Depends-on): Likewise.
1607         * modules/savewd (Depends-on): Likewise.
1608         * modules/stat-time-tests (Depends-on): Likewise.
1610 2020-11-26  Bruno Haible  <bruno@clisp.org>
1612         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
1613         * modules/raise-tests (Depends-on): Add unistd.
1614         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
1616 2020-11-25  Jim Meyering  <meyering@fb.com>
1618         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
1619         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
1620         non-NULL, since we don't bother handing strdup failure.
1622         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
1623         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
1624         * tests/test-raise.c: Include unistd.h.
1625         (handler): Use _exit, not exit.
1627 2020-11-23  Bruno Haible  <bruno@clisp.org>
1629         Use the correct printf format attribute for mingw.
1630         Reported by Reuben Thomas <rrt@sc3d.org> in
1631         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
1633         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
1634         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
1636         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
1637         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
1638         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1639         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
1640         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
1641         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
1643         * modules/vasnprintf (Depends-on): Add stdio.
1644         * lib/vasnprintf.h: Include <stdio.h>.
1645         (asnprintf, vasnprintf): Use the standard printf format attribute.
1647         * modules/xvasprintf (Depends-on): Add stdio.
1648         * lib/xvasprintf.h: Include <stdio.h>.
1649         (xasprintf, xvasprintf): Use the standard printf format attribute.
1651         * modules/xprintf (Depends-on): List stdio first.
1652         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
1653         depends on GNULIB_VPRINTF_POSIX.
1654         (xfprintf, xvfprintf): Use a printf format attribute that depends on
1655         GNULIB_VFPRINTF_POSIX.
1657         * modules/c-vasnprintf (Depends-on): Add stdio.
1658         * lib/c-vasnprintf.h: Include <stdio.h>.
1659         (c_vasnprintf): Use the standard printf format attribute.
1661         * modules/c-vasprintf (Depends-on): Add stdio.
1662         * lib/c-vasprintf.h: Include <stdio.h>.
1663         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
1665         * modules/c-vsnprintf (Depends-on): Add stdio.
1666         * lib/c-vsnprintf.h: Include <stdio.h>.
1667         (c_vsnprintf): Use the standard printf format attribute.
1669         * modules/c-snprintf (Depends-on): Add stdio.
1670         * lib/c-snprintf.h: Include <stdio.h>.
1671         (c_snprintf): Use the standard printf format attribute.
1673         * modules/c-xvasprintf (Depends-on): Add stdio.
1674         * lib/c-xvasprintf.h: Include <stdio.h>.
1675         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
1677         * modules/error (Depends-on): Depend on stdio always.
1678         * lib/error.h: Include <stdio.h>.
1679         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
1680         (error, error_at_line): Use a printf format attribute that depends on
1681         GNULIB_VFPRINTF_POSIX.
1682         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1683         _GL_ATTRIBUTE_FORMAT_PRINTF.
1685         * modules/verror (Depends-on): Add stdio.
1686         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
1687         (verror, verror_at_line): Use the standard printf format attribute.
1688         * lib/verror.c: Include "error.h".
1690         * modules/argp (Depends-on): Add stdio.
1691         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
1692         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
1694         * modules/libtextstyle-optional (Depends-on): Add stdio.
1695         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
1696         printf format attribute.
1698         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
1699         format attribute.
1701 2020-11-23  Pádraig Brady  <P@draigBrady.com>
1703         selinux-at, selinux-h: use const correct declarations
1704         * lib/se-selinux.in.h: Use const for "set" functions,
1705         to match current selinux, and support cleaner user code.
1706         * lib/selinux-at.c: Likewise.
1707         * lib/selinux-at.h: Likewise.
1709 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
1711         canonicalize-lgpl: fix memory leak
1712         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
1713         which could have occurred if BUF was so large that malloc was
1714         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
1715         this eliminates the need to free BUF separately.
1717 2020-11-22  Bruno Haible  <bruno@clisp.org>
1719         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
1720         * modules/xvasprintf (Depends-on): Add xalloc.
1721         * modules/pipe-filter-gi (Depends-on): Likewise.
1722         * modules/execute (Depends-on): Likewise, for w32spawn.h.
1723         * modules/spawn-pipe (Depends-on): Likewise.
1725 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
1727         bootstrap: add option hooks
1728         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
1729         (bootstrap_option_hook): Likewise.
1730         (usage): Call bootstrap_print_option_usage_hook.
1732 2020-11-22  Bruno Haible  <bruno@clisp.org>
1734         argp: Don't break getprogname on non-glibc systems.
1735         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
1736         program_invocation_name and program_invocation_short_name.
1738 2020-11-22  Bruno Haible  <bruno@clisp.org>
1740         doc: Document <link.h>.
1741         * doc/glibc-headers/link.texi: New file.
1742         * doc/gnulib.texi: Include it.
1744 2020-11-22  Bruno Haible  <bruno@clisp.org>
1746         doc: Add references to the LSB.
1747         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
1748         * doc/posix-functions/*.texi: Likewise.
1750 2020-11-22  Bruno Haible  <bruno@clisp.org>
1752         doc: Fix a makeinfo warning (regression 2020-11-03).
1753         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
1755 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
1757         parse-datetime: fix printf format typo
1758         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
1759         previous patch to this file.  Problem reported by Chris Elvidge in
1760         <https://bugs.gnu.org/44763#32>.
1762         setlocale-null-tests: work around GCC bug 44511
1763         * tests/test-setlocale_null-mt-all.c:
1764         * tests/test-setlocale_null-mt-one.c:
1765         Ignore -Wreturn-type, to work around GCC bug 44511.
1767         nl_langinfo-tests: work around GCC bug 44511
1768         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
1769         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
1770         Problem reported for GNU grep by Andreas Schwab
1771         <https://bugs.gnu.org/44535>.
1773         selinux-h: add stubs for selabel_open etc.
1774         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
1775         because matchpathcon is deprecated in favor of selabel_open etc.,
1776         so this patch adds stubs for these functions.
1777         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
1778         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
1779         as it is needed for selabel_open and selinux/selinux.h declares
1780         this type here.
1781         * modules/selinux-h (Files): Add the new files.
1782         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
1783         (lib_SOURCES): Add se-label.in.h, se-label.c.
1784         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
1785         (selinux/label.h): New rule, mimicking selinux/context.h.
1786         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
1787         (Include): Add selinux/label.h.
1789 2020-11-21  Bruno Haible  <bruno@clisp.org>
1791         Update after 'test-driver' in Automake changed.
1792         * build-aux/test-driver.diff: Rebase.
1794 2020-11-21  Daiki Ueno  <ueno@gnu.org>
1796         read-file: remove dead assignment
1797         * lib/read-file.c (fread_file): Remove dead assignment when
1798         RF_SENSITIVE is set, flagged by clang-analyzer.
1800 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1802         bitset: tests: exercise the stats too
1804         * tests/test-bitset.c: Display the stats at the end of the test.
1805         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
1806         last bin, display "256-..." rather that "256-511", since the last bin
1807         does count item greater than or equal to 256.
1809 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1811         bitset: tests: try harder to break it
1812         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
1813         BITSET_LIST_SIZE.
1814         (main): Likewise.
1815         While at it, also exercise super small bitsets.
1817 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1819         bitset: use ffs where possible in the vector implementation
1820         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
1822 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1824         bitset: use ffs where possible in the table implementation
1825         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
1827 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1829         bitset: check empty and full bitsets
1830         * tests/test-bitset.c (check_zero, check_ones): New.
1831         (check_attributes): Use them.
1833 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1835         bitset: be sure to always return a value
1836         * lib/bitset/array.c (abitset_small_list): Always update *next and
1837         return a value.
1839 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1841         vcs-to-changelog: Expect spaces in file names
1842         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
1843         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
1844         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
1845         tabs to spaces.
1846         (list_changes): Use tabs to identify file names.
1848 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1850         bitset: strengthen tests
1851         * tests/test-bitset.c (compare): Also check count.
1852         Deal only with random values, move the one-bit tests to...
1853         (check_one_bit): this new function.
1854         (check_attributes): Call it.
1856 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1858         bitset: fix iteration over table bitsets
1859         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
1861 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1863         bitset: rename internal details for consistency
1864         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
1866 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1868         bitset: test: run deterministic tests on several bitset sizes
1869         * tests/test-bitset.c (check_attributes): Run it with small and large
1870         sizes.
1872 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1874         bitset: use ffs where possible in the list implementation
1875         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
1877 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1879         bitset: use ffs where possible in array implementation
1880         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
1882 2020-11-17  Bruno Haible  <bruno@clisp.org>
1884         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
1885         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1886         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1887         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
1888         C++ mode.
1890 2020-11-17  Bruno Haible  <bruno@clisp.org>
1892         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
1893         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
1894         is always declared.
1895         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
1896         declared.
1898 2020-11-17  Bruno Haible  <bruno@clisp.org>
1900         Fix link errors on AIX.
1901         * modules/clean-temp (Link): Link with $(LIBTHREAD).
1902         * modules/getumask (Link): Link with $(LIBTHREAD).
1903         * modules/getumask-tests (Makefile.am): Link test-getumask with
1904         $(LIBTHREAD).
1905         * modules/supersede (Link): Link with $(LIBTHREAD).
1906         * modules/supersede-tests (Makefile.am): Link test-supersede with
1907         $(LIBTHREAD).
1908         * modules/fatal-signal (Link): New section.
1909         * modules/execute (Link): New section.
1910         * modules/csharpexec (Link): Link with $(LIBTHREAD).
1911         * modules/javaexec (Link): Link with $(LIBTHREAD).
1912         * modules/spawn-pipe (Link): New section.
1913         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
1914         $(LIBTHREAD).
1915         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
1916         * modules/javacomp (Link): Link with $(LIBTHREAD).
1917         * modules/javaversion (Link): Link with $(LIBTHREAD).
1918         * modules/pipe-filter-gi (Link): New section.
1919         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
1920         test-pipe-filter-gi2-main with $(LIBTHREAD).
1921         * modules/pipe-filter-ii (Link): New section.
1922         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
1923         test-pipe-filter-ii2-main with $(LIBTHREAD).
1924         * modules/term-style-control (Link): New section.
1925         * modules/term-style-control-tests (Makefile.am): Link
1926         test-term-style-control-hello, test-term-style-control-yes with
1927         $(LIBTHREAD).
1928         * modules/wait-process (Link): New section.
1929         * modules/nonblocking-pipe-tests (Makefile.am): Link
1930         test-nonblocking-pipe-main with $(LIBTHREAD).
1931         * modules/nonblocking-socket-tests (Makefile.am): Link
1932         test-nonblocking-socket-main with $(LIBTHREAD).
1934 2020-11-16  Bruno Haible  <bruno@clisp.org>
1936         Fix link errors on platforms with libunistring.
1937         * modules/c32isalnum (Link): New section.
1938         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
1939         $(LIBUNISTRING).
1940         * modules/c32isalpha (Link): New section.
1941         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
1942         $(LIBUNISTRING).
1943         * modules/c32isblank (Link): New section.
1944         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
1945         $(LIBUNISTRING).
1946         * modules/c32iscntrl (Link): New section.
1947         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
1948         $(LIBUNISTRING).
1949         * modules/c32isdigit (Link): New section.
1950         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
1951         $(LIBUNISTRING).
1952         * modules/c32isgraph (Link): New section.
1953         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
1954         $(LIBUNISTRING).
1955         * modules/c32islower (Link): New section.
1956         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
1957         $(LIBUNISTRING).
1958         * modules/c32isprint (Link): New section.
1959         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
1960         $(LIBUNISTRING).
1961         * modules/c32ispunct (Link): New section.
1962         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
1963         $(LIBUNISTRING).
1964         * modules/c32isspace (Link): New section.
1965         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
1966         $(LIBUNISTRING).
1967         * modules/c32isupper (Link): New section.
1968         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
1969         $(LIBUNISTRING).
1970         * modules/c32isxdigit (Link): New section.
1971         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
1972         $(LIBUNISTRING).
1973         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
1974         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1975         $(LIBUNISTRING).
1977 2020-11-16  Bruno Haible  <bruno@clisp.org>
1979         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
1980         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1981         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1982         * modules/getumask-tests (Makefile.am): Link test-getumask with
1983         $(LIBINTL).
1984         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
1985         * modules/supersede-tests (Makefile.am): Link test-supersede with
1986         $(LIBINTL).
1987         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1988         $(LIBINTL).
1990 2020-11-16  Bruno Haible  <bruno@clisp.org>
1992         getumask: Document link dependencies.
1993         * modules/getumask (Link): New section.
1995 2020-11-16  Bruno Haible  <bruno@clisp.org>
1997         Update link dependencies in modules after 2020-09-09 change.
1998         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
1999         * modules/mkdtemp (Link): Likewise.
2000         * modules/mkostemp (Link): Likewise.
2001         * modules/mkostemps (Link): Likewise.
2002         * modules/mkstemp (Link): Likewise.
2003         * modules/mkstemps (Link): Likewise.
2004         * modules/supersede (Link): Likewise.
2005         * modules/tmpfile (Link): Likewise.
2006         * modules/tmpfile-safer (Link): Likewise.
2008 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2010         getumask-tests: port to Solaris 10 etc.
2011         Problem reported by Tom Christensen in:
2012         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
2013         * modules/getumask-tests (test_getumask_LDADD):
2014         Add $(LIB_CLOCK_GETTIME).
2016 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2018         bitset: use ffsl to accelerate iterations over set bits
2019         Suggested by Bruno Haible.
2020         * modules/bitset: Depend upon ffsl.
2021         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
2022         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
2024 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2026         bitset: more tests
2027         * tests/test-bitset.c (compare): Make it clear that the random values
2028         should not be modified.
2029         Check bitset_first, bitset_last and BITSET_FOR_EACH.
2031 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2033         bitset: fix the copy from lbitset to other types
2034         * lib/bitset/list.c (lbitset_copy): Rename as...
2035         (lbitset_copy_): this.
2036         (lbitset_copy): New.
2037         Dispatch to heterogeneous/homogeneous copy.
2039 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2041         bitset: making debug traces more useful
2042         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
2044         bitset: comment changes
2045         * lib/bitset.c: Move some documenting comments to...
2046         * lib/bitset.h: here.
2047         * lib/bitset/array.c: Fix some comments.
2049 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2051         careadlinkat: warn better about GCC bug 93644
2052         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
2053         not in effect, use "#warning" to let builders know more clearly
2054         about GCC bug 93644, because the bug triggers even if no -W option
2055         is given to GCC.
2057 2020-11-13  Jim Meyering  <meyering@fb.com>
2059         hard-locale-tests: avoid a -Wstrict-prototypes warning
2060         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
2061         changing "main ()" to "main (void)". This was the only case that
2062         triggered a warning when building grep with --enable-gcc-warnings.
2064 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2066         time_rz: simplify CVE-2017-7476 fix
2067         * lib/time_rz.c: Do not include limits.h; I think it was included
2068         under the mistaken impression that limits.h defines SIZE_MAX.
2069         (SIZE_MAX): Remove.
2070         (save_abbr): Put string length into a ptrdiff_t variable,
2071         so that the size comparison works naturally.  This
2072         fixes CVE-2017-7476 in a cleaner way.
2074         parse-datetime: streamline overflow checking
2075         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
2076         did not work for unsigned destinations, and since time_t might
2077         be unsigned that meant it did not work for time_t destinations.
2078         This limitation of INT_ADD_WRAPV has been fixed, so we can
2079         now streamline parse-datetime.y a bit.
2080         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
2081         has not been used for a while.
2082         (yylex, parse_datetime2): Assume C99 declarations after statements.
2083         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
2084         to TYPE_MINIMUM.
2085         (parse_datetime2): No need for time_overflow now that
2086         INT_ADD_WRAPV works for unsigned results.
2088         parse-datetime-tests: port to Alpine Linux 3.12.1
2089         * tests/test-parse-datetime.c: Include errno.h for errno,
2090         and unistd.h for _SC_TZNAME_MAX and sysconf.
2091         (main): In the outlandishly-long time zone abbreviation test,
2092         do not exceed TZNAME_MAX as this has undefined behavior,
2093         and on Alpine Linux 3.12.1 it makes the test fail.
2095 2020-11-09  Pádraig Brady  <P@draigBrady.com>
2097         mgetgroups: avoid warning with clang
2098         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
2099         so disable -Wpointer-sign for all clang versions.
2101 2020-11-07  Bruno Haible  <bruno@clisp.org>
2103         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
2104         Reported by Simon Josefsson in
2105         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
2106         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
2107         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
2108         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
2110 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2112         tests: pacify Sun C 5.9
2113         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
2114         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
2115         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
2116         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
2117         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
2118         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
2119         Remove unreachable ‘return NULL;’s.
2121         tests: port better to XLC 12.01
2122         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
2123         even in code that is not executed, as IBM XLC 12.01 complains "The
2124         subscript -1 is less than zero."
2125         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
2126         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
2127         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
2128         arguments than are required by the macro definition."
2130 2020-11-03  Bruno Haible  <bruno@clisp.org>
2132         aligned-malloc: Use fixes from the new modules.
2133         * modules/aligned-malloc (Depends-on): Add posix_memalign,
2134         aligned_alloc, memalign.
2135         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
2137 2020-11-03  Bruno Haible  <bruno@clisp.org>
2139         aligned_alloc: Add tests.
2140         * tests/test-aligned_alloc.c: New file.
2141         * modules/aligned_alloc-tests: New file.
2143         aligned_alloc: New module.
2144         * lib/stdlib.in.h (aligned_alloc): New declaration.
2145         * lib/aligned_alloc.c: New file.
2146         * m4/aligned_alloc.m4: New file.
2147         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
2148         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
2149         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2150         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
2151         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2152         * modules/aligned_alloc: New file.
2153         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
2154         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
2155         AIX bug.
2157 2020-11-03  Bruno Haible  <bruno@clisp.org>
2159         posix_memalign: Add tests.
2160         * tests/test-posix_memalign.c: New file.
2161         * modules/posix_memalign-tests: New file.
2163         posix_memalign: New module.
2164         * lib/stdlib.in.h (posix_memalign): New declaration.
2165         * lib/posix_memalign.c: New file.
2166         * m4/posix_memalign.m4: New file.
2167         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
2168         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
2169         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2170         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
2171         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2172         * modules/posix_memalign: New file.
2173         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
2174         * doc/posix-functions/posix_memalign.texi: Mention the new module and
2175         the OpenBSD bug.
2177 2020-11-03  Bruno Haible  <bruno@clisp.org>
2179         memalign: Add tests.
2180         * tests/test-memalign.c: New file.
2181         * modules/memalign-tests: New file.
2183         memalign: New module.
2184         * modules/memalign: New file.
2185         * doc/glibc-functions/memalign.texi: Mention the new module.
2187 2020-11-03  Bruno Haible  <bruno@clisp.org>
2189         verify tests: Fix crash with GCC (regression 2020-11-02).
2190         * tests/test-verify.c (main): Fix initializer of s.
2192 2020-11-03  Pádraig Brady  <P@draigBrady.com>
2194         mountlist: recognize more file system types as remote
2196         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
2197         "remote" file systems from stat.c in coreutils.
2199 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
2201         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
2202         * tests/test-verify.c (main): Initialize state variable.
2203         Reported by Bruno Haible for GCC 5.4.0.
2205 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
2207         dfa.h: support inclusion from C++
2208         * lib/dfa.h: Allow multiple inclusion, and inclusion from
2209         C++ code.  The latter was suggested by Arnold Robbins.
2211 2020-11-01  Bruno Haible  <bruno@clisp.org>
2213         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
2214         * tests/test-ssfmalloc.c: Include <limits.h>.
2215         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
2217 2020-11-01  Bruno Haible  <bruno@clisp.org>
2219         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
2220         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
2222 2020-11-01  Jim Meyering  <meyering@fb.com>
2224         dfa-tests: test for today's invalid-merge fix
2225         * tests/test-dfa-invalid-merge.sh: New file.
2226         * modules/dfa-tests (Files): Add it.
2227         (TESTS): Add it.
2229 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2231         dfa: retain sequences of similar nodes in optimization
2232         DFA was merging similar nodes when it should not.  For example,
2233         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
2234         is not merged.  Problem reported by Gonzalo Padrino in
2235         https://bugs.gnu.org/44351
2236         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
2237         optimization.
2239 2020-11-01  Jim Meyering  <meyering@fb.com>
2241         test-dfa-match-aux.c: accept EREs, not BREs
2242         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
2243         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
2245 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
2247         verify tests: avoid -Wmissing-declarations warnings
2248         * tests/test-verify.c (test_assume_expressions): Add declaration.
2249         (test_assume_optimization): Likewise.
2250         (test_assume_noreturn): Likewise.
2251         (main): Move down after all other definitions.  While at it, also
2252         call test_assume_expressions and test_assume_optimization as a
2253         runtime check.
2255 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2257         sys_stat: update comments for S_IRWXUGO, S_IXUGO
2258         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
2259         Perhaps these macros should be removed, as they’re not in either
2260         POSIX or GNU.  They could be moved to stat-macros.h, which would
2261         be cleaner in some sense.
2263 2020-10-25  Bruno Haible  <bruno@clisp.org>
2265         ssfmalloc tests: Small tweaks.
2266         * tests/test-ssfmalloc.c: Add comments.
2267         (alloc_pages): Don't require PROT_EXEC bits.
2268         (block_sizes): Add more small sizes, for better coverage of
2269         ssfmalloc-bitmap.h.
2271         ssfmalloc tests: Portability to Minix.
2272         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
2273         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
2274         * m4/mmap-anon.m4: Update comment.
2276         ssfmalloc: Portability to AIX.
2277         * modules/ssfmalloc (Include): Add ssfmalloc.h.
2278         (Link): New section.
2279         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
2280         $(LIBTHREAD).
2282         ssfmalloc: Portability to Cygwin.
2283         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
2284         (pg_offset_t): Define depending on PAGESIZE_MAX.
2285         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
2286         (PAGESIZE_MAX): New macro.
2288         ssfmalloc: Fix buffer overrun in bitmap search.
2289         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
2290         word *words_end.
2292 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2294         doc: mention ‘restrict’ and C++
2295         * doc/gnulib-readme.texi (C99 features assumed): Document
2296         that ‘restrict’ should be avoided in C++ code.
2298 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
2300         selinux-at, selinux-h: port to SELinux 3.1
2301         The new release finally deprecated the typedef 'security_context_t',
2302         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
2303         Use the simpler 'char *' instead.
2304         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
2305         (lgetfilecon): Likewise.
2306         (fgetfilecon): Likewise.
2307         (map_to_failure): Likewise.
2308         (rpl_getfilecon): Likewise.
2309         (rpl_lgetfilecon): Likewise.
2310         (rpl_fgetfilecon): Likewise.
2311         * lib/se-selinux.in.h (security_context_t): Remove typedef.
2312         (getcon): Adjust type of context parameter.
2313         (freecon): Likewise.
2314         (getfscreatecon): Likewise.
2315         (setfscreatecon): Likewise.
2316         (matchpathcon): Likewise.
2317         (getfilecon): Likewise.
2318         (lgetfilecon): Likewise.
2319         (fgetfilecon): Likewise.
2320         (setfilecon): Likewise.
2321         (lsetfilecon): Likewise.
2322         (fsetfilecon): Likewise.
2323         (security_check_context): Likewise.
2324         (security_check_context_raw): Likewise.
2325         (setexeccon): Likewise.
2326         (security_compute_create): Likewise.
2327         * lib/selinux-at.c (getfileconat): Likewise.
2328         (lgetfileconat): Likewise.
2329         (setfileconat): Likewise.
2330         (lsetfileconat): Likewise.
2331         * lib/selinux-at.h: Likewise.
2333 2020-10-19  Bruno Haible  <bruno@clisp.org>
2335         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
2336         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
2337         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
2338         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
2339         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
2340         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
2341         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
2343 2020-10-18  Bruno Haible  <bruno@clisp.org>
2345         ssfmalloc: Add tests.
2346         * tests/test-ssfmalloc.c: New file.
2347         * modules/ssfmalloc-tests: New file.
2349         ssfmalloc: New module.
2350         * lib/ssfmalloc.h: New file.
2351         * lib/ssfmalloc-bitmap.h: New file.
2352         * modules/ssfmalloc: New file.
2354 2020-10-18  Bruno Haible  <bruno@clisp.org>
2356         wchar: Fix configure test result on some versions of AIX.
2357         Reported by Clément Chigot <clement.chigot@atos.net> in
2358         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
2359         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
2360         systems.
2362 2020-10-18  Bruno Haible  <bruno@clisp.org>
2364         time: Fix warning about asctime when asctime is not used.
2365         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
2366         invocation.
2368 2020-10-18  Bruno Haible  <bruno@clisp.org>
2370         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
2371         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
2372         '_GL_ATTRIBUTE_CONST'.
2373         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
2374         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
2375         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
2376         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
2377         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
2378         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
2379         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
2381 2020-10-18  Bruno Haible  <bruno@clisp.org>
2383         obstack: Fix a clang warning.
2384         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
2386 2020-10-16  Bruno Haible  <bruno@clisp.org>
2388         hash: Rename hash_delete to hash_remove.
2389         * lib/hash.h (hash_remove): Renamed from hash_delete.
2390         (hash_delete): New declaration.
2391         * lib/hash.c (hash_remove): Renamed from hash_delete.
2392         (hash_delete): New function.
2393         * tests/test-hash.c (main): Update.
2394         * lib/fts-cycle.c (leave_dir): Likewise.
2395         * NEWS: Mention the change.
2397 2020-10-16  Bruno Haible  <bruno@clisp.org>
2399         hash, xhash: Make usable from C++.
2400         * lib/hash.h: Add extern "C".
2402 2020-10-16  Bruno Haible  <bruno@clisp.org>
2404         hash, xhash: Move comments to the .h file.
2405         * lib/hash.c: Move comments meant for the user from here...
2406         * lib/xhash.c: ... and here...
2407         * lib/hash.h: ... to here.
2409 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
2411         Don't declare an intention to modify the return value of strerror.
2412         * tests/test-perror2.c (main): Assign the return value of strerror to a
2413         'const char *' variable.
2415 2020-10-11  Bruno Haible  <bruno@clisp.org>
2417         *printf: Avoid "expanded before it was required" warning.
2418         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
2419         AC_DEFUN_ONCE.
2421 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
2423         getprogname: Add support for OpenServer 6 and UnixWare 7.
2424         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
2425         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
2427 2020-10-11  Bruno Haible  <bruno@clisp.org>
2429         tests: Avoid a name clash on UnixWare.
2430         Reported by Tim Rice <tim@multitalents.net> in
2431         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
2432         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
2434 2020-10-11  Bruno Haible  <bruno@clisp.org>
2436         stdioext: Update comments regarding UnixWare.
2437         Reported by Tim Rice <tim@multitalents.net> in
2438         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2439         * lib/fbufmode.c: Update comments.
2440         * lib/fflush.c: Likewise.
2441         * lib/fpending.c: Likewise.
2442         * lib/fpurge.c: Likewise.
2443         * lib/freadable.h: Likewise.
2444         * lib/freadable.c: Likewise.
2445         * lib/freadahead.c: Likewise.
2446         * lib/freading.h: Likewise.
2447         * lib/freading.c: Likewise.
2448         * lib/freadptr.c: Likewise.
2449         * lib/freadseek.c: Likewise.
2450         * lib/fseeko.c: Likewise.
2451         * lib/fseterr.c: Likewise.
2452         * lib/fwritable.h: Likewise.
2453         * lib/fwritable.c: Likewise.
2454         * lib/fwriting.h: Likewise.
2455         * lib/fwriting.c: Likewise.
2457 2020-10-11  Bruno Haible  <bruno@clisp.org>
2459         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
2460         Reported by Tim Rice <tim@multitalents.net> in
2461         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2462         Uses the info from
2463         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
2464         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
2466 2020-10-11  Bruno Haible  <bruno@clisp.org>
2468         stdioext: Avoid compilation errors on UnixWare 7.
2469         Reported by Tim Rice <tim@multitalents.net> in
2470         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
2471         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
2472         * lib/fpurge.c: Likewise.
2473         * lib/freadable.h: Likewise.
2474         * lib/freading.h: Likewise.
2475         * lib/fwritable.h: Likewise.
2476         * lib/fwriting.h: Likewise.
2477         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
2478         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2479         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
2480         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
2481         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
2482         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
2484 2020-10-11  Bruno Haible  <bruno@clisp.org>
2486         stdioext: Update comments regarding Cygwin.
2487         * lib/fpending.c: Update comments.
2488         * lib/fpurge.c: Likewise.
2489         * lib/freadable.h: Likewise.
2490         * lib/freadable.c: Likewise.
2491         * lib/freading.h: Likewise.
2492         * lib/freading.c: Likewise.
2493         * lib/fwritable.h: Likewise.
2494         * lib/fwritable.c: Likewise.
2495         * lib/fwriting.h: Likewise.
2496         * lib/fwriting.c: Likewise.
2498 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
2500         Fix "warning: implicit declaration of function 'pthread_sigmask'".
2501         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
2502         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
2504 2020-10-10  Bruno Haible  <bruno@clisp.org>
2506         *-list, *-oset, *-omap: Avoid possible compiler warnings.
2507         Reported by Marc Nieper-Wißkirchen in
2508         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
2509         * lib/gl_anylinked_list2.h (gl_linked_iterator,
2510         gl_linked_iterator_from_to): Mark as 'pure'.
2511         (gl_linked_iterator_free): Mark as 'const'.
2512         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
2513         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
2514         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
2515         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
2516         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
2517         (gl_tree_iterator_free): Mark as 'const'.
2518         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
2519         'pure'.
2520         (gl_tree_iterator_free): Mark as 'const'.
2521         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
2522         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
2523         (gl_tree_iterator_free): Mark as 'const'.
2524         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
2525         compare_position_threshold): Mark as 'pure'.
2526         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
2527         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
2528         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
2529         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
2530         'pure'.
2531         (gl_array_iterator_free): Mark as 'const'.
2532         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
2533         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
2534         (gl_array_iterator_free): Mark as 'const'.
2535         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
2536         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
2537         gl_array_iterator_atleast): Mark as 'pure'.
2538         (gl_array_iterator_free): Mark as 'const'.
2539         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
2540         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
2541         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
2542         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
2543         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
2544         gl_carray_sortedlist_search): Mark as 'pure'.
2545         (gl_carray_iterator_free): Mark as 'const'.
2547 2020-10-10  Bruno Haible  <bruno@clisp.org>
2549         rbtree-list: Avoid possible compiler warnings.
2550         This mirrors the change of avltree-list on 2014-09-16.
2551         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
2552         declaration. Add cast to void for ignored value of check_invariants.
2554 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
2556         stack: New module.
2557         * MODULES.html.sh: Add entry for the stack module.
2558         * modules/stack: New file.
2559         * modules/stack-tests: New file.
2560         * lib/stack.h: New file.
2561         * tests/test-stack.c: New file.
2563 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2565         attribute: improve const, pure doc
2566         Problem reported by Marc Nieper-Wißkirchen in:
2567         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
2568         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
2569         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
2571 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2573         thread: pacify GCC on Solaris 10
2574         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
2575         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
2576         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
2577         where pthread_t is unsigned int.
2579 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2581         c-stack: avoid AS_IF
2582         Problem reported by Bruno Haible in:
2583         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
2584         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
2586         c-stack: pacify GCC 9.3.1 when using libsigsegv
2587         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
2589 2020-10-04  Bruno Haible  <bruno@clisp.org>
2591         localename: Fix a couple of "unused parameter" warnings.
2592         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
2593         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
2594         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
2595         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
2596         parameter list.
2598 2020-10-04  Bruno Haible  <bruno@clisp.org>
2600         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
2601         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
2602         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
2603         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
2604         HAVE_SNPRINTF_TRUNCATION_C99.
2605         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
2606         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
2608 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
2610         c-stack: streamline Solaris configuration
2611         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
2612         the code is used only if a test for sigaltstack worked
2613         in some other way.
2614         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
2615         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
2616         heuristic does not work).
2617         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
2618         we no longer require the libsigsegv module.
2619         (Depends-on): Depend on havelib, not libsigsegv.
2621         c-stack: stop using SIGSTKSZ
2622         It’s been proposed to stop making SIGSTKSZ an integer constant:
2623         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
2624         Also, using SIGSTKSZ in #if did not conform to current POSIX.
2625         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
2626         * lib/c-stack.c (SIGSTKSZ): Remove.
2627         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
2628         All uses changed.
2630         c-stack: fix libsigsegv typo
2631         Problem reported by Bruno Haible in:
2632         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
2633         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
2634         to be used only on Solaris (exactly where it is not needed!).
2636 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
2638         MODULES.html.sh: Fix typo.
2639         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
2641 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
2643         version-etc: pacify Oracle Studio 12.6
2644         Without this patch, it complains: "version-etc.h", line 64:
2645         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
2646         pedantic mode.
2647         * lib/version-etc.h (version_etc): Port to C89 macro rules.
2649 2020-09-27  Bruno Haible  <bruno@clisp.org>
2651         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
2652         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2653         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2654         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
2655         ourselves; don't use AC_DECL_SYS_SIGLIST.
2657 2020-09-27  Bruno Haible  <bruno@clisp.org>
2659         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
2660         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2661         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2662         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
2663         instead of _AC_COMPUTE_INT.
2665 2020-09-27  Bruno Haible  <bruno@clisp.org>
2667         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
2668         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2669         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2670         Based on a patch by Paul Eggert.
2671         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
2672         test STDC_HEADERS. Assume <stdlib.h> exists.
2673         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
2675 2020-09-27  Bruno Haible  <bruno@clisp.org>
2677         Enable testing of prereleases of Autoconf 2.70.
2678         Suggested by Paul Eggert in
2679         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
2680         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
2681         >= 2.70.
2682         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
2683         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
2684         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
2686 2020-09-27  Bruno Haible  <bruno@clisp.org>
2688         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
2689         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2690         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2691         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
2692         AC_PROG_CC, depending on the Autoconf version.
2694 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
2696         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
2697         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
2698         of AC_HELP_STRING.
2699         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
2701 2020-09-27  Bruno Haible  <bruno@clisp.org>
2703         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
2704         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2705         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2706         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
2708 2020-09-27  Bruno Haible  <bruno@clisp.org>
2710         extensions: Simplify last commit.
2711         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
2712         AC_GNU_SOURCE ever.
2714 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2716         extensions: require AC_GNU_SOURCE only for <=2.63
2717         Problem reported by Gavin Smith in:
2718         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
2719         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
2720         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
2721         shouldn’t be needed after that, and Autoconf 2.70 complains about
2722         it being obsolete.
2724 2020-09-26  Bruno Haible  <bruno@clisp.org>
2726         regex-tests: Make test more robust.
2727         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
2728         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
2730 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2732         regex-tests: fix possible Turkish false-alarm
2733         * modules/regex-tests (Depends-on): Add wctype-h.
2734         * tests/test-regex.c: Include wctype.h.
2735         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
2736         as the Turkish regex test assumes this.
2738         regex-tests: fix test and add debug output
2739         Perhaps this will fix the recent grep test failure reported at:
2740         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
2741         At least, the debug output should help narrow down the failure.
2742         * tests/test-regex.c: Include stdarg.h, stdio.h.
2743         (exit_status): New var.
2744         (report_error): New function.
2745         (main): Use it to report failures to stdout instead of merely
2746         exiting with some nonzero status.  The status info alone isn’t
2747         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
2748         regex before calling re_compile_pattern, fixing a portability bug.
2750         regex: no longer match glibc
2751         * config/srclist.txt: Comment out regex_internal.c for now.
2753 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2755         regex: fix ignore-case Turkish bug
2756         * lib/regex_internal.c (build_wcs_upper_buffer):
2757         Do not assume that converting single-byte character to upper
2758         yields a single-byte character.  This is not true for Turkish,
2759         where towupper (L'i') yields L'İ', which is not single-byte.
2760         * tests/test-regex.c (main): Test for this bug.
2762         regex: port to weird isascii platforms
2763         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
2765 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2767         dfa: make dfasupported a global function
2768         * lib/dfa.c (dfasupported): Rename, and make it global.
2769         Update caller.
2770         * lib/dfa.h (dfasupported): Add prototype.
2772 2020-09-20  Bruno Haible  <bruno@clisp.org>
2774         canonicalize: Add support for UNC file names on native Windows.
2775         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
2776         <https://savannah.gnu.org/bugs/?59079>.
2777         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
2778         extend the prefix to include the server.
2780 2020-09-20  Bruno Haible  <bruno@clisp.org>
2782         supersede: Fix test failures on native Windows.
2783         * lib/supersede.c (open_supersede): Handle non-regular files on native
2784         Windows like on Solaris.
2785         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
2787 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2789         test-stdalign: test Oracle Studio better
2790         * doc/posix-headers/stdalign.texi (stdalign.h):
2791         * tests/test-stdalign.c (main):
2792         Sun Studio Bug #2125432 seems to be fixed.
2794         c-stack: output diagnostic in single 'write'
2795         * lib/c-stack.c (die): In the typical case, use just one 'write'
2796         syscall to output the diagnostic, as this lessens interleaving.
2797         (die, c_stack_action): Assume C99.
2798         * modules/c-stack (Depends-on): Add c99, mempcpy.
2800         c-stack: improve checking if !libsigsegv
2801         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
2802         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
2803         unlikely pointer overflow.  Also, fix some obsolete code and typos.
2804         I found these problems while looking into this bug report:
2805         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
2806         * lib/c-stack.c: Include c-stack.h first, to test interface.
2807         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
2808         max_align_t, intprops.h for INT_ADD_WRAPV.
2809         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
2810         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
2811         for libsigsegv 2.8 and earlier since the bug should be fixed
2812         after that.
2813         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
2814         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
2815         Assume sprintf returns byte count; this assumption is safe now.
2816         (page_size): New static volatile variable, since sysconf isn’t
2817         documented to be async-signal-safe on Solaris.  This variable is
2818         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
2819         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
2820         SIGINFO_WORKS).
2821         (segv_handler): Use it if present.  Never report null pointer
2822         dereference as a stack overflow.  Check for (unlikely) unsigned
2823         and/or pointer overflow.
2824         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2825         Rename cache variables to gl_cv_sys_stack_overflow_works
2826         and gl_cv_sys_xsi_stack_overflow_heuristic.
2827         All uses changed.
2828         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
2829         c-stack no longer uses STACK_DIRECTION.
2830         Do not check for unistd.h, since we depend on unistd.
2831         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
2832         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
2833         stdbool, stddef.
2835 2020-09-20  Bruno Haible  <bruno@clisp.org>
2837         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
2838         * m4/musl.m4: Revert 2020-09-19 patch.
2839         * m4/setlocale_null.m4: Likewise.
2840         * modules/setlocale-null: Likewise.
2842 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
2843             Bruno Haible  <bruno@clisp.org>
2845         relocatable-prog: Fix for multiple relocatable library directories.
2846         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
2847         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
2848         being attached to a single one.
2850 2020-09-19  Jim Meyering  <meyering@fb.com>
2852         test-verify.c: avoid -Wshadow warnings
2853         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
2854         (enum): Capitalize member names. Adjust uses.
2856 2020-09-19  Bruno Haible  <bruno@clisp.org>
2858         havelib: Avoid linking with libc.a on GNU systems.
2859         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
2860         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
2861         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
2862         dependency_libs value of a .la file, ignore '-lc' options on GNU
2863         systems.
2865 2020-09-19  Bruno Haible  <bruno@clisp.org>
2867         Fix recognition of musl libc on Alpine Linux 3.10.
2868         Reported by Jeffrey Walton <noloader@gmail.com> in
2869         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
2870         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
2871         (gl_MUSL_LIBC): Require it.
2872         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
2873         * modules/setlocale-null (Files): Add m4/musl.m4.
2875 2020-09-19  Bruno Haible  <bruno@clisp.org>
2877         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
2878         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
2879         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
2880         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
2881         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
2882         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
2883         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
2884         or <threads.h>.
2885         (ITEMS, MAX_RESULT_LEN): New macros.
2886         (nl_langinfo_unlocked): New function.
2887         (gl_get_nl_langinfo_lock): New declaration.
2888         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
2889         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
2890         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
2891         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
2892         REPLACE_NL_LANGINFO.
2893         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
2894         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
2895         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
2896         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
2897         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
2899 2020-09-18  Bruno Haible  <bruno@clisp.org>
2901         fsusage, getaddrinfo: Produce more regular configure output.
2902         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
2903         corresponding AC_MSG_RESULT.
2904         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2906 2020-09-18  Bruno Haible  <bruno@clisp.org>
2908         Add back gl_SILENT.
2909         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
2911 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2913         c-stack-tests: fix -fsanitize=undefined false alarm
2914         * tests/test-c-stack2.sh: Skip the test-harness self-test
2915         if ‘gcc -fsanitize=undefined’ is in use.
2917 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2919         signalblocking: simplify and remove gl_SILENT
2920         gl_SILENT was problematic because if a trap was sprung, stderr
2921         generated during the trap was lost.  Avoid the problem by
2922         removing the need for gl_SILENT.
2923         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
2924         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
2925         Simplify, avoiding the need for gl_SILENT while preserving the
2926         ability of the user to override the value of the cache variable,
2927         now ac_cv_func_sigprocmask.
2929 2020-09-17  Bruno Haible  <bruno@clisp.org>
2931         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
2932         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
2933         (gl_SILENT): Use 'exec', not a compound statement, to redirect
2934         AS_MESSAGE_FD.
2936 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2938         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
2939         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
2940         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
2941         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
2942         Define to 0.
2943         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
2944         Do not use __builtin_mul_overflow_p.
2946         libc-config: port __THROW to Ubuntu 4
2947         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
2948         for GCC 3.3.  Problem reported by Jeffrey Walton in:
2949         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
2950         The GCC 3.3.4 documentation says the attribute should work, but
2951         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
2952         little point or desire to research this circa-2004 platform further,
2953         so just avoid the attribute there.
2955 2020-09-17  Jim Meyering  <meyering@fb.com>
2957         test-dfa-match.sh: port timeout work-around to newer Busybox
2958         * tests/test-dfa-match.sh: Update timeout -t portability test to
2959         accommodate Busybox 1.30.0 and newer.
2961 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2963         fnmatch: adjust to match glibc fix
2964         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
2965         This does not affect Gnulib; it merely keeps Gnulib and glibc
2966         closer together, to help with any eventual merge, by incorporating
2967         a recent glibc patch.  The patch and the following commentary is
2968         by Andreas Schwab.
2969         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
2970         contains the index into the extra array, whereas wextra points
2971         into the extra array at this index, containing the length of the
2972         following collating sequence in the wide character representation.
2974 2020-09-16  Bruno Haible  <bruno@clisp.org>
2976         stat, fstat: Fix compilation error with old mingw headers.
2977         Reported by Eli Zaretskii <eliz@gnu.org> in
2978         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2979         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
2980         define it.
2982 2020-09-16  Bruno Haible  <bruno@clisp.org>
2984         stat, fstat: Fix when compiling for versions older than Windows Vista.
2985         Reported by Eli Zaretskii <eliz@gnu.org> in
2986         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2987         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
2988         that was originally set before we redefined it.
2989         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
2990         (gl_PREREQ_STAT): Require it.
2991         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
2993 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2995         dfa: remove dfa-heap-overrun workaround
2996         * lib/dfa.c (reorder_tokens): Go back to a single pass that
2997         both sets map[*] and does other things.  This reverts
2998         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
2999         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
3000         fixed the underlying problem.
3002 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3004         dfa: avoid use of uninitialized constraint
3005         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
3006         to zero here.
3007         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
3008         use of an uninitialized constraint by later code when ! (flags[i]
3009         & OPT_QUEUED) means merge_nfa_state was not called to initialize
3010         the constraint.  Problem found by running 'valgrind src/grep -E
3011         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
3013         dfa: assume C99 in reorder_tokens
3014         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
3016         dfa: fix dfa-heap-overrun failure
3017         * lib/dfa.c (reorder_tokens): When setting
3018         map[d->follows[i].elems[j].index], instead of incorrectly assuming
3019         that (i < d->follows[i].elems[j].index), use two loops, one to set
3020         the map array and the other to use it.  The incorrect assumption
3021         caused some elements to be missed, and this in turn caused grep's
3022         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
3023         with GCC.  I found this bug while investigating
3024         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
3025         and I think the bug also occurs on GNU/Linux but with more-subtle
3026         symptoms.  The bug predates the recent dfa.c changes; perhaps the
3027         recent changes make the bug more likely.
3029 2020-09-13  Bruno Haible  <bruno@clisp.org>
3031         parse-datetime: Make the build rule work with parallel 'make'.
3032         Reported by Daiki Ueno <ueno@gnu.org> in
3033         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
3034         * modules/parse-datetime (Makefile.am): Use a phony target and the
3035         general idiom for rules that produce multiple files.
3037 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
3039         getpass: Check for nonnull prompt argument while avoiding warnings.
3040         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
3041         (getpass) [!_WIN32]: Print prompt only if nonnull.
3043 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3045         dfa: epsilon-closure tweaks (Bug#40634)
3046         Rename BACKWORD to BACKWARD consistently.
3047         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
3048         (addtok_mb): Redo slightly to make it act more like a state machine.
3049         Check depth only when it increases.
3050         (epsclosure): Let the switch test the tokens.
3051         (dfaanalyze): Cache tindex.  Simplify position loops.
3052         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
3053         only if it is not null, since we're testing that anyway.
3054         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
3056 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3058         dfa: use backward set in removal of epsilon closure
3059         When removing in epsilon closure, the code searched all nodes
3060         sequentially, and this was slow for some cases.  Build a backward
3061         set before search, and only check previous position with the set.
3062         Problem reported in <https://bugs.gnu.org/40634>.
3063         * lib/dfa.c (struct dfa): New member 'epsilon'.
3064         (addtok_mb): Check whether a pattern has epsilon node or not.
3065         (epsclosure): New arg BACKWORD; caller changed.  When removing
3066         epsilon node and reconnecting, check only previous positions.
3067         Treat BEG as if it were character.
3068         (dfaanalyze): Build backward set.
3070 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3072         canonicalize: fix pointer indexing bugs
3073         Problem reported by Florian Weimer in:
3074         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
3075         * lib/canonicalize-lgpl.c (__realpath):
3076         * lib/canonicalize.c (canonicalize_filename_mode):
3077         Do not generate a pointer past the end of the array.
3078         * lib/canonicalize.c (canonicalize_filename_mode):
3079         Do not use a pointer after passing it to realloc.
3081 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3083         tempname: help merge with glibc
3084         Inspired by draft patches by Adhemerval Zanella in:
3085         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
3086         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
3087         * lib/tempname.c: Include stdalign.h, time.h.
3088         If _LIBC, do not include random-bits.h.
3089         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
3090         (RANDOM_BITS): Remove, replacing with ...
3091         (random_bits): ... this new static function.  All uses changed.
3092         Add entropy each time if getrandom is not supported.
3093         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
3094         Assume 64-bit support a la C99.
3095         (try_tempname_len): Take advantage of ASLR when initializing
3096         random value.
3097         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
3099         getcwd: merge recent glibc changes
3100         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
3101         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
3103 2020-09-06  Bruno Haible  <bruno@clisp.org>
3105         attribute: Clarify which file to include.
3106         * modules/attribute (Include): Add "attribute.h".
3108 2020-09-06  Bruno Haible  <bruno@clisp.org>
3110         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
3111         * lib/pipe-filter-ii.c: Include <process.h>.
3112         * lib/pipe-filter-gi.c: Likewise.
3114 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3116         verify: avoid __builtin_assume
3117         Our latest attempt to use Clang’s __builtin_assume caused a crash
3118         in GNU Emacs that we spent quite some time tracking down as being
3119         caused by the switch to __builtin_assume.  It’s not known whether
3120         the crash is due is a Clang bug or a portability bug in GNU Emacs.
3121         For now, play it safe and avoid __builtin_assume.
3122         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
3123         (assume): Simplify by not trying to use Clang’s __builtin_assume.
3125 2020-09-05  Bruno Haible  <bruno@clisp.org>
3127         Fix several "warning: no previous prototype for function".
3128         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
3129         in front of the declaration of the lookup function in
3130         unicase/locale-languages.h.
3131         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
3132         unictype/bidi_byname.h.
3133         * modules/unictype/category-byname (Makefile.am): Likewise in
3134         unictype/categ_byname.h.
3135         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
3136         unictype/combiningclass_byname.h.
3137         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
3138         unictype/joininggroup_byname.h.
3139         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
3140         unictype/joiningtype_byname.h.
3141         * modules/unictype/property-byname (Makefile.am): Likewise in
3142         unictype/pr_byname.h.
3143         * modules/unictype/scripts (Makefile.am): Likewise in
3144         unictype/scripts_byname.h.
3145         * modules/uninorm/composition (Makefile.am): Likewise in
3146         uninorm/composition-table.h.
3148 2020-09-05  Bruno Haible  <bruno@clisp.org>
3150         select: Fix "warning: no previous prototype for function".
3151         * lib/select.c: Include <sys/select.h>.
3153 2020-09-05  Bruno Haible  <bruno@clisp.org>
3155         Use module 'c99' when needed for variadic macros with '...' syntax.
3156         * modules/crypto/sm3 (Depends-on): Add c99.
3158 2020-09-05  Bruno Haible  <bruno@clisp.org>
3160         Use module 'c99' when needed for subobject initializer syntax.
3161         * modules/tempname (Depends-on): Add c99.
3162         * modules/nstrftime-tests (Depends-on): Likewise.
3164 2020-09-05  Bruno Haible  <bruno@clisp.org>
3166         Use module 'c99' when needed for declaration-after-statement syntax.
3167         * modules/backup-rename (Depends-on): Add c99.
3168         * modules/backupfile (Depends-on): Likewise.
3169         * modules/bitset-tests (Depends-on): Likewise.
3170         * modules/bitsetv (Depends-on): Likewise.
3171         * modules/c-strtod (Depends-on): Likewise.
3172         * modules/c-strtold (Depends-on): Likewise.
3173         * modules/clean-temp (Depends-on): Likewise.
3174         * modules/copy-file (Depends-on): Likewise.
3175         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
3176         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
3177         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
3178         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
3179         * modules/crypto/md5-buffer (Depends-on): Likewise.
3180         * modules/crypto/md5-tests (Depends-on): Likewise.
3181         * modules/crypto/sha1-buffer (Depends-on): Likewise.
3182         * modules/crypto/sha1-tests (Depends-on): Likewise.
3183         * modules/crypto/sha256-buffer (Depends-on): Likewise.
3184         * modules/crypto/sha256-tests (Depends-on): Likewise.
3185         * modules/crypto/sha512-buffer (Depends-on): Likewise.
3186         * modules/crypto/sha512-tests (Depends-on): Likewise.
3187         * modules/diffseq (Depends-on): Likewise.
3188         * modules/fatal-signal (Depends-on): Likewise.
3189         * modules/fchmodat (Depends-on): Likewise.
3190         * modules/fstrcmp (Depends-on): Likewise.
3191         * modules/fsusage (Depends-on): Likewise.
3192         * modules/fts (Depends-on): Likewise.
3193         * modules/fts-tests (Depends-on): Likewise.
3194         * modules/getumask (Depends-on): Likewise.
3195         * modules/git-merge-changelog (Depends-on): Likewise.
3196         * modules/hash-map (Depends-on): Likewise.
3197         * modules/hash-set (Depends-on): Likewise.
3198         * modules/lchmod (Depends-on): Likewise.
3199         * modules/libgmp-tests (Depends-on): Likewise.
3200         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
3201         * modules/linkedhash-map (Depends-on): Likewise.
3202         * modules/linkedhash-set (Depends-on): Likewise.
3203         * modules/long-options (Depends-on): Likewise.
3204         * modules/mbrtoc32 (Depends-on): Likewise.
3205         * modules/memchr2-tests (Depends-on): Likewise.
3206         * modules/memmem-tests (Depends-on): Likewise.
3207         * modules/memrchr-tests (Depends-on): Likewise.
3208         * modules/mktime-internal (Depends-on): Likewise.
3209         * modules/nstrftime (Depends-on): Likewise.
3210         * modules/opendirat (Depends-on): Likewise.
3211         * modules/parse-datetime (Depends-on): Likewise.
3212         * modules/quotearg-simple-tests (Depends-on): Likewise.
3213         * modules/same (Depends-on): Likewise.
3214         * modules/supersede (Depends-on): Likewise.
3215         * modules/supersede-tests (Depends-on): Likewise.
3216         * modules/time_rz (Depends-on): Likewise.
3217         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3218         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
3219         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
3220         * modules/xalloc (Depends-on): Likewise.
3221         * modules/xnanosleep (Depends-on): Likewise.
3223 2020-09-05  Bruno Haible  <bruno@clisp.org>
3225         Fix "warning: array initialized from parenthesized string constant".
3226         * tests/test-memmem.c (main): Remove parentheses around string constant.
3227         * tests/test-c-strcasestr.c (main): Likewise.
3228         * tests/test-strcasestr.c (main): Likewise.
3230 2020-09-05  Bruno Haible  <bruno@clisp.org>
3232         argmatch tests: Fix ISO C compliance warning.
3233         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
3234         invocation.
3236 2020-09-05  Bruno Haible  <bruno@clisp.org>
3238         uniname/uniname: Fix -Wshadow warning.
3239         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
3240         * modules/uniname/uniname (Depends-on): Add c99.
3242 2020-09-05  Bruno Haible  <bruno@clisp.org>
3244         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
3245         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
3246         argument to size_t.
3247         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
3248         n to size_t.
3250 2020-09-05  Bruno Haible  <bruno@clisp.org>
3252         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
3253         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
3254         u32_uctomb): Change type of last argument to ptrdiff_t.
3255         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
3256         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
3257         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
3258         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
3259         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
3261 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3263         manywarnings: remove -Wchkp and -Wabi from C++ too
3264         Suggested by Reuben Thomas in:
3265         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
3266         At some point somebody should merge the many other manywarnings-c.m4
3267         changes into manywarnings-c++.m4 too, e.g.,
3268         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
3269         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
3270         Remove -Wchkp, -Wabi.
3272 2020-08-30  Bruno Haible  <bruno@clisp.org>
3274         strerrorname_np: Add tests.
3275         * tests/test-strerrorname_np.c: New file.
3276         * modules/strerrorname_np-tests: New file.
3278         strerrorname_np: New module.
3279         * lib/string.in.h (strerrorname_np): New declaration.
3280         * lib/strerrorname_np.c: New file.
3281         * m4/strerrorname_np.m4: New file.
3282         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
3283         is declared.
3284         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
3285         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3286         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
3287         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3288         * modules/strerrorname_np: New file.
3289         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
3290         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
3291         the glibc 2.32 bug.
3293 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3295         perror, strerror_r: remove unportable tests
3296         Problem reported by Florian Weimer in:
3297         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
3298         * tests/test-perror2.c (main):
3299         * tests/test-strerror_r.c (main): Omit unportable tests.
3301 2020-08-26  Bruno Haible  <bruno@clisp.org>
3303         stdint, wchar, wctype-h: Change configure message.
3304         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
3305         enough..." instead of "checking whether wint_t is too small...".
3307 2020-08-26  Bruno Haible  <bruno@clisp.org>
3309         time_rz: Change configure message.
3310         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
3311         near extrema..." instead of "checking whether localtime loops forever
3312         near extrema...".
3314 2020-08-26  Bruno Haible  <bruno@clisp.org>
3316         stdint: Change configure message.
3317         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
3318         without ISO C predefines..." instead of "checking whether stdint.h
3319         predates C++11...".
3321 2020-08-26  Bruno Haible  <bruno@clisp.org>
3323         socketlib: Change configure message.
3324         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
3325         instead of "checking if we need to call WSAStartup in winsock2.h and
3326         -lws2_32...".
3328 2020-08-26  Bruno Haible  <bruno@clisp.org>
3330         include_next: Change configure message.
3331         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
3332         code line length is unlimited..." instead of "checking whether system
3333         header files limit the line length...".
3335 2020-08-26  Bruno Haible  <bruno@clisp.org>
3337         getcwd: Change configure message.
3338         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
3339         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
3340         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
3342 2020-08-26  Bruno Haible  <bruno@clisp.org>
3344         chdir-long: Change configure message.
3345         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
3346         system supports file names of any length..." instead of "checking
3347         whether this system has an arbitrary file name length limit...".
3348         Set gl_cv_have_unlimited_file_name_length instead of
3349         gl_cv_have_arbitrary_file_name_length_limit.
3350         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
3352 2020-08-26  Bruno Haible  <bruno@clisp.org>
3354         ceill: Change configure message.
3355         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
3356         instead of "checking whether ceill() breaks with small values...".
3358 2020-08-26  Bruno Haible  <bruno@clisp.org>
3360         iconv: Change configure message.
3361         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
3362         with its POSIX signature..." instead of "checking for iconv
3363         declaration...". Remove K&R C support.
3365 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3367         getcwd: help the merge back into glibc
3368         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
3369         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
3370         The idea is to make it easier for Gnulib lib/getcwd.c to match
3371         glibc io/getcwd-generic.c.
3372         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
3373         Include not-cancel.h.
3374         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
3375         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
3376         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
3377         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
3378         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
3379         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
3380         (__getcwd_generic): Rename from __getcwd.
3381         Use the abovementioned macros for consistency with glibc.
3382         (weak_alias): Remove.
3384 2020-08-25  Bruno Haible  <bruno@clisp.org>
3386         verify: Avoid warnings when assume(0) is used.
3387         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
3388         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
3389         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
3390         the constant 0.
3391         * tests/test-verify.c (f): New function.
3392         (state): New type.
3393         (test_assume_expressions, test_assume_optimization,
3394         test_assume_noreturn): New functions.
3396 2020-08-25  Bruno Haible  <bruno@clisp.org>
3398         fstrcmp: Clarification regarding NOTE_ORDERED.
3399         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
3401 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3403         diffseq: new option NOTE_ORDERED
3404         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
3405         * NEWS: Mention this.
3406         * lib/diffseq.h (NOTE_ORDERED): New macro.
3407         (IF_LINT2): Remove; no longer needed.
3408         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
3409         subproblem and iterate to do the larger.
3411 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3413         sys_types: let Autoconf 2.70 do pid_t
3414         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
3415         only for Autoconf versions 2.69 and earlier, since 2.70
3416         will be fixed.
3418 2020-08-23  Bruno Haible  <bruno@clisp.org>
3420         tests: Don't assume that pid_t fits in an 'int'.
3421         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
3422         of 'int'.
3423         * tests/test-nonblocking-socket-main.c (main): Likewise.
3425         sys_types: Fix definition of pid_t on 64-bit MSVC.
3426         * m4/pid_t.m4: New file.
3427         * modules/sys_types (Files): Add it.
3428         * modules/dirent (Files): Likewise.
3429         * modules/fcntl-h (Files): Likewise.
3430         * modules/sched (Files): Likewise.
3431         * modules/signal-h (Files): Likewise.
3432         * modules/spawn (Files): Likewise.
3433         * modules/sys_stat (Files): Likewise.
3434         * modules/sys_wait (Files): Likewise.
3435         * modules/termios (Files): Likewise.
3436         * modules/unistd (Files): Likewise.
3438 2020-08-23  Bruno Haible  <bruno@clisp.org>
3440         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
3441         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
3442         program.
3444 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3446         intprops: be consistent about +X vs X+0
3447         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
3449         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
3450         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
3451         is a bit-field, on older GCC or non-GCC compilers where we do
3452         things ourselves instead of using __builtin_mul_overflow.
3453         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
3454         to applying sizeof to a bit-field.
3455         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
3456         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
3458 2020-08-23  Bruno Haible  <bruno@clisp.org>
3460         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
3461         Reported by Jörg Sonnenberger <joerg@netbsd.org>
3462         via Thomas Klausner <tk@giga.or.at> in
3463         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
3464         * lib/supersede.c (open_supersede): When opening an existing non-regular
3465         file on Solaris, use O_CREAT although it should not be necessary.
3467 2020-08-23  Bruno Haible  <bruno@clisp.org>
3469         verify: Make assume work on bit field expressions (regr. 2020-08-22).
3470         Reported by Benno Schulenberg <bensberg@telfort.nl> in
3471         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
3472         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
3473         variable.
3475 2020-08-23  Bruno Haible  <bruno@clisp.org>
3477         libc-config: Improve comments.
3478         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
3479         cannot use clang's __diagnose_if__ here.
3481 2020-08-22  Bruno Haible  <bruno@clisp.org>
3483         verify: Do use __builtin_assume on clang.
3484         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
3485         variable in a statement expression.
3487 2020-08-22  Bruno Haible  <bruno@clisp.org>
3489         sig2str: Add more signals.
3490         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
3492 2020-08-22  Bruno Haible  <bruno@clisp.org>
3494         doc: Update for OpenBSD 6.0, 6.7.
3495         * doc/*/*.texi: Update.
3496         * m4/printf.m4: Update comments and cross-compilation guesses.
3497         * m4/ceill.m4: Update comments.
3498         * m4/getcwd-abort-bug.m4: Likewise.
3499         * m4/ilogb.m4: Likewise.
3500         * m4/ilogbf.m4: Likewise.
3501         * m4/langinfo_h.m4: Likewise.
3502         * m4/modf.m4: Likewise.
3503         * m4/modff.m4: Likewise.
3505 2020-08-22  Bruno Haible  <bruno@clisp.org>
3507         doc: Mention sig2str module.
3508         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
3510 2020-08-21  Bruno Haible  <bruno@clisp.org>
3512         sigdescr_np: Add tests.
3513         * tests/test-sigdescr_np.c: New file.
3514         * modules/sigdescr_np-tests: New file.
3516         sigdescr_np: New module.
3517         * lib/string.in.h (sigdescr_np): New declaration.
3518         * lib/sigdescr_np.c: New file.
3519         * m4/sigdescr_np.m4: New file.
3520         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
3521         declared.
3522         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
3523         HAVE_SIGDESCR_NP.
3524         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
3525         HAVE_SIGDESCR_NP.
3526         * modules/sigdescr_np: New file.
3527         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
3528         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
3530 2020-08-20  Bruno Haible  <bruno@clisp.org>
3532         sigabbrev_np: Add tests.
3533         * tests/test-sigabbrev_np.c: New file.
3534         * modules/sigabbrev_np-tests: New file.
3536         sigabbrev_np: New module.
3537         * lib/string.in.h (sigabbrev_np): New declaration.
3538         * lib/sigabbrev_np.c: New file.
3539         * m4/sigabbrev_np.m4: New file.
3540         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
3541         declared.
3542         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
3543         HAVE_SIGABBREV_NP.
3544         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
3545         HAVE_SIGABBREV_NP.
3546         * modules/sigabbrev_np: New file.
3547         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
3548         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
3550 2020-08-20  Bruno Haible  <bruno@clisp.org>
3552         stdalign tests: Skip test with AIX xlclang.
3553         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
3555 2020-08-20  Bruno Haible  <bruno@clisp.org>
3557         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
3558         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
3559         workaround as for GCC versions < 4.9.
3561 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3563         Sync up ProjectQuirks comments and documentation
3564         Transform the ProjectQuirks comments into a docstring so that it can
3565         be accessed from python as ProjectQuirks.__doc__ and harmonize
3566         descriptions with the documentation.
3567         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
3568         Transform comments into a docstring.
3569         * doc/vcs-to-changelog.texi: Sync up description with comments.
3571         Split ProjectQuirks out into its own file
3572         ProjectQuirks is used by external quirks files and importing it from
3573         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
3574         is cleaner to put it in its own file anyway.
3575         * build-aux/vcstocl/projectquirks.py: A new file...
3576         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
3577         we move ProjectQuirks and import the file.
3579 2020-08-19  Bruno Haible  <bruno@clisp.org>
3581         uchar: Fix compilation errors in C++ mode on macOS.
3582         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
3583         system header file before attempting to use 'char16_t' and 'char32_t'.
3585 2020-08-19  Bruno Haible  <bruno@clisp.org>
3587         ansi-c++-opt: Work around an autoconf macro reordering problem.
3588         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
3589         section.
3591 2020-08-19  Bruno Haible  <bruno@clisp.org>
3593         math C++ tests: Fix compilation error in with GCC 10.
3594         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
3595         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
3596         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3598 2020-08-19  Bruno Haible  <bruno@clisp.org>
3600         uchar: Fix compilation errors in C++ mode on OpenBSD.
3601         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
3602         CXX_HAS_UCHAR_TYPES is 1.
3603         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
3604         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
3605         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
3607 2020-08-19  Bruno Haible  <bruno@clisp.org>
3609         Fix compilation errors in C++ mode on OpenBSD.
3610         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
3611         OpenBSD with clang, use the approach without C preprocessor macro.
3613 2020-08-18  Bruno Haible  <bruno@clisp.org>
3615         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
3616         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
3617         AC_LANG_POP.
3619 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3621         verify: avoid __built_assume on Clang
3622         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
3623         Clang 9 incorrectly diagnoses arguments as having side effects
3624         even when they do not.  I guess Clang 9 considers any function
3625         call as if it had a side effect here.
3627         libc-config: avoid Clang’s __diagnose_if__
3628         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
3629         For now, do not use __diagnose_if__ here, as this fails
3630         on Fedora 31 with Clang 9.0.1, with diagnostic
3631         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
3632         size than length of destination buffer
3633         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
3634         for functions that are not called?
3636         careadlinkat: speedup for GCC 10 with GCC_LINT
3637         Inspired by a suggestion by Bruno Haible in:
3638         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
3639         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
3640         (readlink_stk): New function, with most of the old careadlinkat
3641         contents and with a new STACK_BUF arg.  Inline it in GCC 10
3642         if GCC_LINT.
3643         (careadlinkat): Use the new function for everything but the
3644         stack buffer.
3646         * build-aux/gcc-warning.spec: Update comments.
3648 2020-08-17  Bruno Haible  <bruno@clisp.org>
3650         Assume autoconf >= 2.64.
3651         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
3653 2020-08-17  Bruno Haible  <bruno@clisp.org>
3655         Revert autoupdate's revert.
3656         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
3658 2020-08-17  Bruno Haible  <bruno@clisp.org>
3660         uchar C++ tests: Fix build error on FreeBSD 12.
3661         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
3662         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
3663         <cuchar> does not exist.
3665 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3667         time_rz: remove unused functions
3668         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
3670         time_rz: fix issues with mktime_z failures
3671         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
3672         Use a cheaper tm_yday test for failed mktime.
3674 2020-08-16  Bruno Haible  <bruno@clisp.org>
3676         intprops test: Strengthen on clang.
3677         * tests/test-intprops.c (VERIFY): Use verify_stmt.
3679 2020-08-16  Bruno Haible  <bruno@clisp.org>
3681         nstrftime: Guide inlining also on clang.
3682         * lib/nstrftime.c (iso_week_days): Inline also on clang.
3684 2020-08-16  Bruno Haible  <bruno@clisp.org>
3686         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
3687         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
3689 2020-08-16  Bruno Haible  <bruno@clisp.org>
3691         log2l: Disable MSVC workaround on clang.
3692         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
3694 2020-08-16  Bruno Haible  <bruno@clisp.org>
3696         argp: Emit a warning also with clang.
3697         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
3698         clang.
3700 2020-08-16  Bruno Haible  <bruno@clisp.org>
3702         libc-config: Enable __REDIRECT macro also on clang.
3703         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
3704         __ASMNAME2): Define on clang like on GCC.
3706 2020-08-16  Bruno Haible  <bruno@clisp.org>
3708         regex: Use initializer shorthand syntax also with clang.
3709         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
3710         with clang.
3712 2020-08-16  Bruno Haible  <bruno@clisp.org>
3714         regex: Use space optimization also with clang.
3715         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
3716         with clang.
3718 2020-08-16  Bruno Haible  <bruno@clisp.org>
3720         Use _Static_assert and static_assert primitives when present on clang.
3721         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
3722         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
3723         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
3725 2020-08-16  Bruno Haible  <bruno@clisp.org>
3727         Use 'throw ()' for optimization in C++ mode also on clang.
3728         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
3729         * lib/getopt-cdefs.in.h (__THROW): Likewise.
3730         * lib/md5.h (__THROW): Likewise.
3732 2020-08-16  Bruno Haible  <bruno@clisp.org>
3734         absolute-header: Add support for clang.
3735         * modules/absolute-header (Makefile.am): Include '__clang__' in the
3736         HAVE_INCLUDE_NEXT expression.
3738 2020-08-16  Bruno Haible  <bruno@clisp.org>
3740         Fix "warning: implicitly declaring library function 'strcasecmp'".
3741         * lib/argp-help.c: Include <strings.h>.
3743 2020-08-16  Bruno Haible  <bruno@clisp.org>
3745         stdio: Don't break attribute 'scanf' on clang.
3746         * lib/stdio.in.h (scanf): Treat clang like GCC.
3748 2020-08-16  Bruno Haible  <bruno@clisp.org>
3750         Use __restrict also on clang.
3751         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
3752         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
3753         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
3755 2020-08-16  Bruno Haible  <bruno@clisp.org>
3757         pthread-spin: Use GCC built-ins also on clang.
3758         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
3759         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
3760         also on clang.
3762 2020-08-16  Bruno Haible  <bruno@clisp.org>
3764         asyncsafe-spin tests: Update.
3765         * tests/test-asyncsafe-spin2.c: Update to match the change in
3766         lib/asyncsafe-spin.c from 2020-08-11.
3768 2020-08-16  Bruno Haible  <bruno@clisp.org>
3770         setenv: Use tree code also with clang.
3771         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
3773 2020-08-16  Bruno Haible  <bruno@clisp.org>
3775         math: Optimize signbit also on clang.
3776         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
3777         on clang.
3779 2020-08-16  Bruno Haible  <bruno@clisp.org>
3781         avltreehash-list, rbtreehash-list: Optimize also on clang.
3782         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
3783         __builtin_expect also on clang.
3785 2020-08-16  Bruno Haible  <bruno@clisp.org>
3787         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
3788         * lib/socket.c: Use WSASocketW, not WSASocketA.
3790         Fix "warning: format specifies type 'unsigned long'".
3791         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
3792         argument to match the format directive.
3794         Fix "warning: no case matching constant switch condition '0'".
3795         * tests/test-fcntl.c (check_flags): Add a 'default' case.
3797         Fix "warning: integer overflow in expression".
3798         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
3799         remove a 'long' overflow.
3801         Fix "warning: "getpagesize" redefined".
3802         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
3803         macro.
3805         Fix "warning: implicitly declaring library function 'strncasecmp'".
3806         * lib/strptime.c: Include <strings.h>.
3808         Fix "warning: 'snprintf' macro redefined".
3809         * lib/strerror_r.c (snprintf): Undefine before redefining.
3811         Fix "warning: address of array 'locale' will always evaluate to 'true'".
3812         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
3814         Fix "warning: '__stat64' macro redefined".
3815         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
3817         Fix "warning: 'format' attribute argument not supported: rpl_printf".
3818         * lib/stdio.in.h (printf): Treat clang like GCC.
3820         Fix "warning: attribute declaration must precede definition" with clang.
3821         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
3822         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
3823         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
3824         on non-glibc systems.
3825         * lib/netdb.in.h (gai_strerror): Likewise.
3826         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
3827         * lib/sys_stat.in.h (fstat): Likewise.
3828         * lib/utime.in.h (utime): Likewise.
3830         Fix undesired warnings.
3831         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
3832         clang.
3834 2020-08-16  Bruno Haible  <bruno@clisp.org>
3836         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
3837         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
3838         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
3839         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
3840         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
3842 2020-08-16  Bruno Haible  <bruno@clisp.org>
3844         Don't use Autoconf quadrigraphs.
3845         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
3846         Autoconf quadrigraph.
3847         * m4/free.m4 (gl_FUNC_FREE): Likewise.
3848         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3849         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
3850         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
3851         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3852         * m4/math_h.m4 (gl_MATH_H): Likewise.
3853         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3855 2020-08-16  Bruno Haible  <bruno@clisp.org>
3857         Fix quoting of AC_LANG_PROGRAM arguments.
3858         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
3859         arguments through [[...]].
3860         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3861         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3862         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
3863         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
3864         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
3865         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3866         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
3867         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3868         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
3869         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3870         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3871         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
3872         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3874 2020-08-16  Bruno Haible  <bruno@clisp.org>
3876         Assume autoconf >= 2.64.
3877         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
3878         * DEPENDENCIES: Require Autoconf 2.64 or newer.
3879         * NEWS: Mention the changed requirement.
3880         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
3881         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
3882         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
3883         variables.
3884         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3885         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3886         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3887         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
3888         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
3889         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
3890         Likewise.
3891         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
3892         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
3893         * m4/configmake.m4: Update comment.
3895 2020-08-16  Bruno Haible  <bruno@clisp.org>
3897         sys_ioctl: Simplify.
3898         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
3899         AC_INCLUDES_DEFAULT.
3901 2020-08-16  Bruno Haible  <bruno@clisp.org>
3903         Fix quoting of AC_LANG_SOURCE arguments.
3904         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
3905         GL_NOCRASH expansion.
3906         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
3907         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3908         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3909         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3910         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3912 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3914         nstrftime: be more predictable about errno
3915         This aligns nstrftime better with draft POSIX 202x strftime.
3916         * lib/nstrftime.c: Include errno.h.
3917         (width_add, __strftime_internal): Set errno on failure,
3918         and preserve it on success.  Check for mktime_z failure.
3919         * modules/nstrftime (Depends-on): Add errno.
3920         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
3921         * tests/test-nstrftime.c: Include intprops.h, limits.h.
3922         (errno_test): New test function.
3923         (main): Call it.
3925 2020-08-15  Bruno Haible  <bruno@clisp.org>
3927         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
3928         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
3929         from dependency analysis first.
3931 2020-08-15  Bruno Haible  <bruno@clisp.org>
3933         Determine asm output option and filename suffix for MSVC/clang.
3934         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
3935         clang-cl.
3937 2020-08-15  Bruno Haible  <bruno@clisp.org>
3939         doc: Update for MSVC/clang.
3940         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
3941         that MSVC 14 does not have.
3943 2020-08-15  Bruno Haible  <bruno@clisp.org>
3945         Revert autoupdate's revert.
3946         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
3948 2020-08-15  Bruno Haible  <bruno@clisp.org>
3950         frexpl: Fix configuration test result on MSVC.
3951         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
3952         zero.
3954 2020-08-15  Bruno Haible  <bruno@clisp.org>
3956         Support compiling without -loldnames on native Windows.
3957         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
3958         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
3959         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
3960         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
3961         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
3962         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3963         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
3964         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
3965         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
3966         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
3967         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
3968         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
3969         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
3970         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
3971         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
3972         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
3973         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3974         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3975         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
3976         Likewise.
3977         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
3978         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3979         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
3980         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
3981         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
3982         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
3983         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
3984         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3985         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
3986         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
3987         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
3988         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
3989         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3990         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
3991         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
3992         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3993         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3994         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3995         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3996         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3997         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
3998         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3999         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4000         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4001         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4002         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4003         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4004         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
4005         test for getcwd.
4006         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
4007         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
4008         with GL_MDA_DEFINES.
4009         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
4010         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
4011         prefixed symbol.
4012         * lib/search.in.h (lfind, lsearch): Likewise.
4013         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
4014         Likewise.
4015         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
4016         * lib/string.in.h (memccpy, strdup): Likewise.
4017         * lib/sys_stat.in.h (chmod, umask): Likewise.
4018         * lib/time.in.h (tzset): Likewise.
4019         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
4020         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
4021         read, rmdir, swab, unlink, write): Likewise.
4022         * lib/utime.in.h (utime): Likewise.
4023         * lib/wchar.in.h (wcsdup): Likewise.
4024         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
4025         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
4026         rpl_-prefixed macro.
4027         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
4028         * lib/close.c (close_nothrow): On native Windows, use _close.
4029         * lib/creat.c (orig_creat): On native Windows, use _creat.
4030         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
4031         * lib/dup2.c (dup2_nothrow): Use _dup2.
4032         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
4033         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
4034         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
4035         * lib/open.c (orig_open): On native Windows, use _open.
4036         * lib/read.c (read_nothrow): Use _read.
4037         * lib/rmdir.c: On native Windows, use _rmdir.
4038         * lib/unlink.c: On native Windows, use _unlink.
4039         * lib/write.c (write_nothrow): Use _write.
4040         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
4041         undefined symbol.
4042         * lib/sys_socket.in.h (close): Likewise.
4043         * lib/sys_time.in.h (close): Likewise.
4044         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
4046 2020-08-15  Bruno Haible  <bruno@clisp.org>
4048         Fix "unknown pragma ignored" warnings with clang on native Windows.
4049         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
4050         * lib/cbrtf.c: Likewise.
4051         * lib/ceil.c: Likewise.
4052         * lib/floor.c: Likewise.
4053         * lib/fma.c: Likewise.
4054         * lib/fmod.c: Likewise.
4055         * lib/rint.c: Likewise.
4056         * lib/round.c: Likewise.
4057         * lib/trunc.c: Likewise.
4058         * tests/test-ceil2.c: Likewise.
4059         * tests/test-ceilf2.c: Likewise.
4060         * tests/test-floor2.c: Likewise.
4061         * tests/test-floorf2.c: Likewise.
4062         * tests/test-trunc2.c: Likewise.
4063         * tests/test-truncf2.c: Likewise.
4064         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4065         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4067 2020-08-15  Bruno Haible  <bruno@clisp.org>
4069         Fix compilation errors in C++ mode with clang on native Windows.
4070         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
4071         non-glibc systems.
4072         * lib/sched.in.h (sched_yield): Likewise.
4074 2020-08-14  Bruno Haible  <bruno@clisp.org>
4076         stdnoreturn: Work around problem with MSVC/clang.
4077         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
4078         system header after <stdnoreturn.h>.
4079         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
4081 2020-08-14  Bruno Haible  <bruno@clisp.org>
4083         utime-h: Generate an utime.h file always.
4084         * modules/utime-h (Makefile.am): Generate utime.h always.
4085         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
4086         GL_GENERATE_UTIME_H.
4088 2020-08-14  Bruno Haible  <bruno@clisp.org>
4090         mktime, mktime-internal: Remove obsolete code.
4091         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
4093 2020-08-14  Bruno Haible  <bruno@clisp.org>
4095         getcwd: Remove obsolete code.
4096         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
4097         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4099 2020-08-14  Bruno Haible  <bruno@clisp.org>
4101         tzset: Assume the function exists.
4102         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
4103         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
4104         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
4105         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
4106         HAVE_TZSET.
4107         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
4108         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
4110         nstrftime: Assume tzset exists.
4111         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
4112         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
4113         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
4115         mktime, mktime-internal: Assume tzset exists.
4116         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
4117         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
4119 2020-08-14  Bruno Haible  <bruno@clisp.org>
4121         strdup: Assume the function exists.
4122         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
4123         whether strdup exists.
4124         * modules/strdup (Files): Remove lib/strdup.c.
4125         (configure.ac): Don't compile strdup.c.
4126         * modules/strdup-posix (Depends-on, configure.ac): Don't test
4127         ac_cv_func_strdup.
4128         * doc/posix-functions/strdup.texi: Update.
4129         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
4130         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
4131         (Depends-on): Remove unistr/u8-strlen.
4133 2020-08-13  Bruno Haible  <bruno@clisp.org>
4135         sys_random: Work around an uClibc bug.
4136         Reported by akater <nuclearspace@gmail.com>
4137         via Stefan Kangas <stefan@marxist.se>
4138         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
4139         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
4140         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
4141         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4142         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
4144 2020-08-12  Bruno Haible  <bruno@clisp.org>
4146         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
4147         Reported by Florian Weimer in
4148         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
4149         * lib/gen-uni-tables.c (output_predicate): Change the element type of
4150         the level3 array to 'unsigned int'.
4151         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
4152         * lib/unictype/categ_*.h: Regenerated.
4153         * lib/unictype/ctype_*.h: Regenerated.
4154         * lib/unictype/pr_*.h: Regenerated.
4155         * lib/unictype/sy_*.h: Regenerated.
4156         * lib/unicase/cased.h: Regenerated.
4157         * lib/unicase/ignorable.h: Regenerated.
4159 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4161         stdint: port intptr_t to more-recent MinGW
4162         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
4163         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
4164         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
4165         Apparently those two macros were removed in mingwrt-3.22
4166         dated 2016-07-14.
4168 2020-08-12  Bruno Haible  <bruno@clisp.org>
4170         thread-optim: Export function-like macros only.
4171         Suggested by Paul Eggert.
4172         * lib/thread-optim.h (gl_multithreaded): New macro.
4173         (IF_MT_DECL, IF_MT): Remove macros.
4174         * doc/multithread.texi (Multithreading Optimizations): Add a small
4175         example.
4176         * lib/fatal-signal.c: Update all uses.
4177         * lib/clean-temp.c: Likewise.
4178         * lib/localename.c: Likewise.
4179         * modules/localename (Depends-on): Add stdbool.
4181 2020-08-12  Bruno Haible  <bruno@clisp.org>
4183         Revert autoupdate's revert.
4184         * config/srclist.txt: Mark regex.h as needing sync with glibc.
4186 2020-08-11  Bruno Haible  <bruno@clisp.org>
4188         thread-optim: Fix a compiler warning.
4189         * lib/thread-optim.h (IF_MT_DECL): Define differently.
4191 2020-08-11  Bruno Haible  <bruno@clisp.org>
4193         Use __restrict also on clang.
4194         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
4195         (__restrict_arr): On clang, define like on GCC.
4196         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
4197         (_Restrict_arr_): Use _Restrict_ also on clang.
4198         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
4199         (_Restrict_arr_): Use _Restrict_ also on clang.
4201 2020-08-11  Bruno Haible  <bruno@clisp.org>
4203         Use flexible array syntax also on clang.
4204         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
4205         define like for GCC 3.
4207 2020-08-11  Bruno Haible  <bruno@clisp.org>
4209         fcntl: On native Windows, use _setmode, not setmode.
4210         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
4211         * lib/binary-io.h: Update comment.
4212         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
4213         * tests/test-dup2.c: Likewise.
4214         * tests/test-dup-safer.c: Likewise.
4215         * tests/test-fcntl.c: Likewise.
4217 2020-08-11  Bruno Haible  <bruno@clisp.org>
4219         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
4220         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
4221         * lib/spawn-pipe.c (create_pipe): Likewise.
4222         * tests/test-nonblocking-pipe-main.c (main): Likewise.
4223         * tests/test-nonblocking-socket-main.c (main): Likewise.
4224         * lib/wait-process.c: Update comment.
4225         * doc/posix-functions/fork.texi: Update.
4227 2020-08-11  Bruno Haible  <bruno@clisp.org>
4229         asyncsafe-spin: Use GCC built-ins also on clang.
4230         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
4231         the newer GCC built-ins also on clang.
4233 2020-08-11  Bruno Haible  <bruno@clisp.org>
4235         Use expression statements also on clang.
4236         * lib/cdefs.h (__extension__): Don't define to empty on clang.
4237         * lib/obstack.h (__extension__): Likewise.
4238         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
4239         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4240         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
4241         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
4242         obstack_finish, obstack_free): Enable as optimized macros also on clang.
4243         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
4245 2020-08-10  Bruno Haible  <bruno@clisp.org>
4247         Use many __attribute__s with clang.
4248         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
4249         on clang.
4250         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
4251         New macros.
4252         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
4253         on clang.
4254         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
4255         also on older clang versions.
4256         (__attribute__): Don't define to empty on clang.
4257         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
4258         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
4259         (__attribute_const__): Use __attribute__ __const__ also on clang.
4260         (__attribute_used__): Use __attribute__ __used__ also on clang.
4261         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
4262         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
4263         clang.
4264         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
4265         clang.
4266         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
4267         also on clang.
4268         (__nonnull): Use __attribute__ __nonnull__ also on clang.
4269         (__attribute_warn_unused_result__): Use __attribute__
4270         __warn_unused_result__ also on clang.
4271         (__always_inline): Use __attribute__ __always_inline__ also on clang.
4272         (__attribute_artificial__): Use __attribute__ __artificial__ also on
4273         clang >= 7.
4274         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
4275         clang versions.
4276         (_Noreturn): Don't redefine on clang >= 3.5.
4277         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
4278         also on clang.
4279         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
4280         on clang.
4281         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4282         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4283         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4284         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
4285         also on clang.
4286         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
4287         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
4288         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
4289         also on clang.
4290         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
4291         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
4292         __attribute__ __noreturn__ also on clang.
4293         * lib/obstack.h (__attribute_noreturn__): Likewise.
4294         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
4295         clang.
4296         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
4297         always_inline also on clang.
4298         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
4299         clang.
4301 2020-08-10  Bruno Haible  <bruno@clisp.org>
4303         c-ldtoastr tests: Fix test failure.
4304         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
4305         is longer than 'double'.
4307 2020-08-10  Bruno Haible  <bruno@clisp.org>
4309         Revert autoupdate's revert.
4310         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
4312 2020-08-09  Bruno Haible  <bruno@clisp.org>
4314         string: Fix build error in C++ mode with clang (regression from today).
4315         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
4316         parameters, one for GCC, one for clang.
4317         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
4318         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
4319         as return type.
4321 2020-08-09  Bruno Haible  <bruno@clisp.org>
4323         ftruncate: Use _chsize, not chsize.
4324         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
4325         * lib/ftruncate.c: Test HAVE__CHSIZE.
4326         (chsize_nothrow): Use _chsize, not chsize.
4328 2020-08-09  Bruno Haible  <bruno@clisp.org>
4330         Silence warnings from clang 10 with -Wimplicit-fallthrough.
4331         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
4332         clang >= 10.
4333         * lib/fnmatch.c (FALLTHROUGH): Likewise.
4334         * lib/fts.c (FALLTHROUGH): Likewise.
4335         * tests/macros.h (FALLTHROUGH): Likewise.
4336         * lib/regex_internal.h (FALLTHROUGH): Likewise.
4337         * config/srclist.txt: Mark it as needing sync with glibc.
4339 2020-08-09  Bruno Haible  <bruno@clisp.org>
4341         stdbool tests: Enable the stricter tests also on clang.
4342         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
4343         (e): Enable the address-to-bool conversion test also on clang.
4345 2020-08-09  Bruno Haible  <bruno@clisp.org>
4347         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
4348         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
4350 2020-08-09  Bruno Haible  <bruno@clisp.org>
4352         Use attribute __aligned__ with clang.
4353         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
4354         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
4356 2020-08-09  Bruno Haible  <bruno@clisp.org>
4358         Use __alignof__ with clang.
4359         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
4360         on clang.
4361         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
4362         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
4363         clang.
4364         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
4365         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
4366         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
4367         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
4369 2020-08-09  Bruno Haible  <bruno@clisp.org>
4371         ignore-value: Simplify on clang.
4372         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
4373         workaround.
4375 2020-08-09  Bruno Haible  <bruno@clisp.org>
4377         Use __typeof__ with clang.
4378         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
4379         "clang -std=gnu99".
4380         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
4381         * tests/test-stdint.c (verify_same_types): Enable the check also on
4382         clang.
4384 2020-08-09  Bruno Haible  <bruno@clisp.org>
4386         Add ability to emit user-defined warnings and errors with clang.
4387         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
4388         _GL_ATTRIBUTE_WARNING using an attribute for clang.
4389         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
4390         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
4391         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
4392         attribute for clang.
4394 2020-08-09  Bruno Haible  <bruno@clisp.org>
4396         intprops: Fix typo in comment.
4397         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
4399 2020-08-09  Bruno Haible  <bruno@clisp.org>
4401         Use __builtin_signbit* with clang.
4402         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
4403         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
4404         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4405         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
4406         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4407         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
4408         not REPLACE_SIGNBIT_USING_GCC.
4410 2020-08-09  Bruno Haible  <bruno@clisp.org>
4412         Use __builtin_isnan with clang.
4413         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4414         not __builtin_isnanf. Also on clang.
4415         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
4416         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
4417         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
4418         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
4419         built-in.
4420         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4421         not __builtin_isnanl. Also on clang.
4422         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
4423         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
4424         * lib/math.in.h (__has_builtin): Remove macro.
4425         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
4426         __builtin_isnanf. Also on clang.
4427         (isnand, gl_isnan_d): With clang, use the GCC built-in.
4428         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
4429         __builtin_isnanl. Also on clang.
4430         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
4431         on clang.
4433 2020-08-09  Bruno Haible  <bruno@clisp.org>
4435         thread-optim: Fix logic error.
4436         Reported by Paul Eggert.
4437         * lib/thread-optim.h (IF_MT): Fix logic error.
4439 2020-08-08  Bruno Haible  <bruno@clisp.org>
4441         localename: Use module 'thread-optim'.
4442         * lib/localename.c: Include thread-optim.h.
4443         (struniq): Use IF_MT macro.
4444         * modules/localename (Depends-on): Add thread-optim.
4446         clean-temp: Use module 'thread-optim'.
4447         * lib/clean-temp.c: Include thread-optim.h.
4448         (register_temporary_file, unregister_temporary_file, create_temp_dir,
4449         register_temp_file, unregister_temp_file, register_temp_subdir,
4450         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
4451         close_temp, fclose_variant_temp): Use IF_MT macro.
4452         * modules/clean-temp (Depends-on): Add thread-optim.
4454         fatal-signal: Use module 'thread-optim'.
4455         * lib/fatal-signal.c: Include thread-optim.h.
4456         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
4457         macro.
4458         * modules/fatal-signal (Depends-on): Add thread-optim.
4460 2020-08-08  Bruno Haible  <bruno@clisp.org>
4462         New module 'thread-optim'.
4463         * lib/thread-optim.h: New file.
4464         * modules/thread-optim: New file.
4465         * doc/multithread.texi (Multithreading Optimizations): New section.
4467 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
4469         doc: more updates for glibc 2.32
4470         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
4471         * doc/posix-functions/fchmodat.texi: Update.
4473 2020-08-07  Bruno Haible  <bruno@clisp.org>
4475         doc: Update for glibc 2.32.
4476         * doc/glibc-functions/__libc_single_threaded.texi: New file.
4477         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
4478         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
4479         * doc/glibc-functions/sigabbrev_np.texi: New file.
4480         * doc/glibc-functions/sigdescr_np.texi: New file.
4481         * doc/glibc-functions/strerrordesc_np.texi: New file.
4482         * doc/glibc-functions/strerrorname_np.texi: New file.
4483         * doc/gnulib.texi: Include them.
4484         (Glibc sys/single_threaded.h): New section.
4485         * doc/pastposix-functions/h_errno.texi: Update.
4486         * doc/posix-functions/*.texi: Likewise.
4487         * doc/glibc-functions/*.texi: Likewise.
4489 2020-08-07  Bruno Haible  <bruno@clisp.org>
4491         alloca: No need to compile alloca.c with clang.
4492         * lib/alloca.c: Skip all code with clang.
4494         Use __builtin_alloca with clang.
4495         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
4497 2020-08-06  Bruno Haible  <bruno@clisp.org>
4499         Use __builtin_assume with clang.
4500         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
4501         (assume): Use __builtin_assume when available.
4503 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4505         libgmp: add <gmp/gmp.h> support
4506         * m4/libgmp.m4 (gl_LIBGMP):
4507         * modules/libgmp (configure.ac, Makefile.am):
4508         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
4509         ‘#include <gmp.h>’.
4511 2020-08-06  Bruno Haible  <bruno@clisp.org>
4513         Consider that clang defines __OPTIMIZE__ like GCC does.
4514         * lib/streq.h: Define the inline functions also on clang.
4515         * lib/c-strcaseeq.h: Likewise.
4516         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
4517         the GCC workaround to clang.
4519 2020-08-06  Bruno Haible  <bruno@clisp.org>
4521         safe-alloc: Remove unused code.
4522         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
4524 2020-08-06  Bruno Haible  <bruno@clisp.org>
4526         Use __builtin_expect with clang everywhere.
4527         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
4528         also on clang.
4530 2020-08-05  Bruno Haible  <bruno@clisp.org>
4532         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
4533         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
4534         built-in also on clang.
4535         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
4536         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
4538 2020-08-05  Bruno Haible  <bruno@clisp.org>
4540         Use __builtin_clz{,l,ll} with clang, also on Windows.
4541         * lib/integer_length.c: With clang, use the GCC built-in, not
4542         <intrin.h>.
4543         * lib/integer_length_l.c: Likewise.
4544         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
4545         also on clang.
4546         * lib/vasnprintf.c (divide): Likewise.
4548 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4550         Update srclist.txt as per recent glibc changes
4551         * config/srclist.txt: Uncomment lines to reflect recent merges
4552         from Gnulib to glibc.
4554 2020-08-03  Bruno Haible  <bruno@clisp.org>
4556         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4557         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
4559 2020-08-03  Bruno Haible  <bruno@clisp.org>
4561         integer_length_ll: Optimize for MSVC in 64-bit mode.
4562         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4563         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4565 2020-08-03  Bruno Haible  <bruno@clisp.org>
4567         integer_length_ll: Optimize for MSVC in 32-bit mode.
4568         * lib/integer_length_l.c: Include <intrin.h>.
4569         (integer_length): Define as inline function, like in
4570         lib/integer_length.c.
4572 2020-08-03  Bruno Haible  <bruno@clisp.org>
4574         integer_length: Optimize for MSVC.
4575         * lib/integer_length.c: Include <intrin.h>.
4576         (integer_length): With MSVC, use the _BitScanReverse built-in.
4578 2020-08-03  Bruno Haible  <bruno@clisp.org>
4580         ffsll: Optimize for MSVC in 64-bit mode.
4581         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4582         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4583         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
4585 2020-08-03  Bruno Haible  <bruno@clisp.org>
4587         ffsll: Optimize for MSVC in 32-bit mode.
4588         * lib/ffsl.h: Include <intrin.h>.
4589         (ffs): Define as inline function, like in lib/ffs.c.
4591 2020-08-03  Bruno Haible  <bruno@clisp.org>
4593         ffs: Optimize for MSVC.
4594         * lib/ffs.c: Include <intrin.h>.
4595         (ffs): With MSVC, use the _BitScanForward built-in.
4597 2020-08-03  Bruno Haible  <bruno@clisp.org>
4599         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
4600         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
4601         variable.
4603 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
4605         fopen: Avoid undesired interactions with glibc headers.
4606         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
4607         __need_FILE, as the latter does not work with glibc.
4609 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4611         fcntl: document some F_SETLK errno variations
4612         * doc/posix-functions/fcntl.texi (fcntl): Document
4613         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
4615 2020-08-02  Bruno Haible  <bruno@clisp.org>
4617         oset: Add an 'iterator_atleast' operation.
4618         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
4619         extracted from gl_array_search_atleast.
4620         (gl_array_search_atleast): Use it.
4621         (gl_array_iterator_atleast): New function.
4622         (gl_array_oset_implementation): Use it.
4623         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
4624         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
4625         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
4626         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
4627         member.
4628         (gl_oset_iterator_atleast): New function.
4629         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
4630         (gl_OSet::iterator): Add another auxiliary constructor.
4631         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
4632         New functions.
4633         (main): Test also gl_oset_iterator_atleast.
4634         * tests/test-avltree_oset.c (is_at_least): New function.
4635         (main): Test also gl_oset_iterator_atleast.
4636         * tests/test-rbtree_oset.c (is_at_least): New function.
4637         (main): Test also gl_oset_iterator_atleast.
4638         * tests/test-oset-c++.cc (is_at_most): New function.
4639         (main): Test also gl_OSet::begin_atleast.
4641 2020-08-02  Bruno Haible  <bruno@clisp.org>
4643         oset-c++, omap-c++: Remove restriction for search_atleast method.
4644         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
4645         a different type than the element.
4646         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
4647         a different type than the key.
4649 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4651         gnumakefile: say ‘$(MAKE)’ not ‘make’
4652         * top/GNUmakefile (abort-due-to-no-makefile):
4653         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
4654         This change is backported from Autoconf.
4656 2020-08-01  Bruno Haible  <bruno@clisp.org>
4658         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4659         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
4660         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
4661         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
4662         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
4663         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
4665 2020-08-01  Bruno Haible  <bruno@clisp.org>
4667         libtextstyle-optional: Update tests.
4668         * modules/libtextstyle-optional-tests (configure.ac): Invoke
4669         gl_LIBTEXTSTYLE_OPTIONAL.
4671 2020-08-01  Bruno Haible  <bruno@clisp.org>
4673         parse-datetime: Fix wrong #line statements.
4674         * modules/parse-datetime (Makefile.am): Correct #line statements also in
4675         parse-datetime-gen.h.
4677 2020-08-01  Bruno Haible  <bruno@clisp.org>
4679         libtextstyle[-optional]: Allow requesting a minimum version.
4680         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
4681         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
4682         gl_LIBTEXTSTYLE_SEARCH): New macros.
4683         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
4684         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
4685         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
4686         * modules/libtextstyle-optional (configure.ac): Don't invoke
4687         gl_LIBTEXTSTYLE_OPTIONAL.
4688         * NEWS: Mention the changes.
4690 2020-07-31  Bruno Haible  <bruno@clisp.org>
4692         _GL_CMP: Improve documentation.
4693         Reported by Paul Eggert in
4694         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
4695         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
4696         passed.
4698 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4700         largefile: sync with Autoconf master
4701         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
4702         Avoid undefined behavior on platforms where off_t is 32 bits.
4703         See: https://bugs.debian.org/742780
4705         alloca: sync with Autoconf master
4706         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4707         Do not define if Autoconf 2.70 or later, since Autoconf master
4708         now matches us.
4710 2020-07-30  Bruno Haible  <bruno@clisp.org>
4712         unicodeio: Add comment.
4713         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
4714         different iconv behaviours.
4716 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4718         Work around some Oracle Studio attribute bugs
4719         These were discovered when building bleeding-edge Emacs with
4720         Oracle Studio.
4721         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
4722         Port to Oracle Studio 12.6, which mishandles __attribute__
4723         ((__cold__)) and __attribute__ ((__may_alias__)) even though
4724         __has_attribute says they work.
4726 2020-07-29  Bruno Haible  <bruno@clisp.org>
4728         unicodeio: Fix wrong result on musl libc.
4729         Reported by A. Wilcox <awilfox@adelielinux.org> in
4730         <https://www.openwall.com/lists/musl/2020/07/29/2>.
4731         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
4732         on musl libc.
4733         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
4734         * modules/unicodeio (Files): Add m4/musl.m4.
4736 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
4738         fsusage, regex, stat-size: remove Cray support
4739         As near as I can make out this is actually support for UNICOS/mp,
4740         last released 2005, and Cray hasn’t supported that for years.
4741         * config/srclist.txt: Comment out regex.h for now.
4742         * lib/fsusage.c (get_fs_usage):
4743         * lib/regex.h (re_comp, re_exec):
4744         * lib/stat-size.h (ST_NBLOCKSIZE):
4745         Don’t worry about _CRAY.
4747 2020-07-29  Bruno Haible  <bruno@clisp.org>
4749         parse-datetime: Fix compilation error with bison 3.7.
4750         * modules/parse-datetime (Makefile.am): Create a generated header file
4751         parse-datetime-gen.h in the source directory. Correct #include and
4752         #line statements during preprocessing.
4754 2020-07-28  Bruno Haible  <bruno@clisp.org>
4756         fopen-gnu: Create files correctly (regression from 2020-05-24).
4757         * lib/fopen.c (rpl_open): Pass a third argument to open().
4759 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4761         xalloc-die: don’t depend on xalloc
4762         This removes a circular dependency, as xalloc depends on xalloc-die.
4763         * modules/xalloc-die (Files): Add lib/xalloc.h.
4764         (Depends-on): Remove xalloc.
4765         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
4767         dfa-tests: port to MSVC
4768         Problem reported by Gisle Vanem in:
4769         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
4770         Also, remove an unnecessary dependency on getprogname.
4771         * modules/dfa-tests (Depends-on): Remove getprogname.
4772         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
4773         (exit_status): New static var.
4774         (dfawarn): Set it instead of exiting.
4775         Do not declare as _Noreturn, to pacify MSVC.
4776         (main): Return exit_status.
4778 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4780         argz: pacify MSVC
4781         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
4782         Problem reported by Gisle Vanem.
4784         libgmp: remove dependency on havelib
4785         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
4786         use the more-traditional AC_SEARCH_LIBS approach.
4787         This should work better with GNU Emacs configuration,
4788         which uses pkg-config instead of a havelib-style approach.
4789         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
4790         * modules/libgmp (Depends-on): Remove havelib.
4792         libgmp: remove HAVE_GMP, LIB_GMP
4793         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
4794         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
4796 2020-07-26  Bruno Haible  <bruno@clisp.org>
4798         inttypes: Remove support for AIX 4.
4799         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
4800         * m4/inttypes-pri.m4: Remove file.
4801         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
4802         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
4803         * modules/inttypes-incomplete (Makefile.am): Don't substitute
4804         PRI_MACROS_BROKEN.
4805         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
4807 2020-07-26  Bruno Haible  <bruno@clisp.org>
4809         gettimeofday: Remove workaround for Mac OS X 10.0.
4810         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
4811         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
4812         * lib/gettimeofday.c: Don't include localtime-buffer.h.
4813         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4814         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4815         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
4816         * modules/localtime-buffer: Remove file.
4817         * lib/localtime-buffer.h: Remove file.
4818         * lib/localtime-buffer.c: Remove file.
4819         * m4/localtime-buffer.m4: Remove file.
4820         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
4822 2020-07-26  Bruno Haible  <bruno@clisp.org>
4824         tzset: Remove workaround for Solaris 2.6.
4825         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
4826         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
4827         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
4828         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
4829         * lib/localtime-buffer.c: Likewise.
4830         * lib/localtime.c: Likewise.
4831         * lib/tzset.c: Don't include localtime-buffer.h.
4832         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
4833         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
4834         is 1.
4835         * modules/tzset (Depends-on): Remove localtime-buffer.
4837 2020-07-26  Bruno Haible  <bruno@clisp.org>
4839         expl: Simplify autoconf test.
4840         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
4841         with small values..." test into the "checking whether expl works..."
4842         test.
4844 2020-07-26  Bruno Haible  <bruno@clisp.org>
4846         alloca: Remove Cray-2 and Cray Y-MP support.
4847         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
4848         Enable also on Autoconf >= 2.69.
4849         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
4850         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
4851         i00afunc): Remove.
4853 2020-07-25  Bruno Haible  <bruno@clisp.org>
4855         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
4856         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
4858 2020-07-25  Bruno Haible  <bruno@clisp.org>
4860         sigprocmask: Small autoconf macro improvement.
4861         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
4862         user to override the value of gl_cv_func_sigprocmask.
4863         * m4/gnulib-common.m4 (gl_SILENT): New macro.
4865 2020-07-25  Bruno Haible  <bruno@clisp.org>
4867         Small autoconf macro improvements.
4868         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
4869         override the value of gl_cv_func_working_mktime.
4870         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
4871         compiler produces multi-arch binaries..." in the configure output.
4872         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
4873         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
4875 2020-07-25  Bruno Haible  <bruno@clisp.org>
4877         doc: Update for NetBSD 7.1, 8.0, 9.0.
4878         * doc/*/*.texi: Update.
4879         * m4/exp2l.m4: Update comments.
4880         * m4/expl.m4: Likewise.
4881         * m4/ilogb.m4: Likewise.
4882         * m4/ilogbf.m4: Likewise.
4883         * m4/log10l.m4: Likewise.
4884         * m4/logl.m4: Likewise.
4885         * m4/printf.m4: Likewise.
4886         * m4/rintl.m4: Likewise.
4887         * m4/wcwidth.m4: Likewise.
4889 2020-07-24  Bruno Haible  <bruno@clisp.org>
4891         doc: Update for Mac OS X 10.13.
4892         * doc/*/*.texi: Update.
4893         * m4/expm1l.m4: Update comments.
4894         * m4/getgroups.m4: Likewise.
4895         * m4/getlogin_r.m4: Likewise.
4896         * m4/linkat.m4: Likewise.
4897         * m4/printf.m4: Likewise.
4899 2020-07-24  Bruno Haible  <bruno@clisp.org>
4901         doc: Update for Cygwin 2.9.0.
4902         * doc/*/*.texi: Update.
4904 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4906         parse-datetime: modernize doc
4907         * doc/parse-datetime.texi: Use more-current examples.
4908         Don’t lead with 32-bit time_t, as it’s on its way out.
4909         Capitalize “Epoch” to be consistent with POSIX.
4911         timespec: remove dependence on ‘verify’
4912         * lib/timespec.h: Do not include verify.h; no longer needed.
4913         * modules/timespec (Depends-on): Remove ‘verify’.
4915         Optimize a few more three-valued comparisons
4916         * lib/timespec.h (timespec_cmp, timespec_sign):
4917         * lib/utimecmp.c (utimecmpat):
4918         Avoid conditional branches by using _GL_CMP.
4920         Fix _GL_CMP parenthesization typo
4921         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
4923 2020-07-24  Bruno Haible  <bruno@clisp.org>
4925         dfa: Revert breaking gawk.
4926         Reported by Arnold Robbins <arnold@skeeve.com>.
4927         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
4929 2020-07-23  Bruno Haible  <bruno@clisp.org>
4931         Optimize three-valued comparison between integers.
4932         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
4933         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
4934         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
4935         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
4936         * lib/dfa.c (compare): Likewise.
4937         * lib/fts.c (fts_compare_ino): Likewise.
4938         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
4939         * lib/mbscasecmp.c (mbscasecmp): Likewise.
4940         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
4941         * lib/memcasecmp.c (memcasecmp): Likewise.
4942         * lib/memcmp2.c (memcmp2): Likewise.
4943         * lib/savedir.c (direntry_cmp_inode): Likewise.
4944         * lib/strcasecmp.c (strcasecmp): Likewise.
4945         * lib/strncasecmp.c (strncasecmp): Likewise.
4946         * lib/unistr/u-cmp2.h (FUNC): Likewise.
4948 2020-07-23  Bruno Haible  <bruno@clisp.org>
4950         lchmod: Use /proc on Cygwin.
4951         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
4953 2020-07-23  Ken Brown  <kbrown@cornell.edu>
4955         fchmodat: Use /proc on Cygwin
4956         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
4958 2020-07-21  Bruno Haible  <bruno@clisp.org>
4960         aligned-malloc: Optionally use aligned_alloc.
4961         * lib/aligned-malloc.h: Verify the alignment.
4962         (aligned_malloc): Use aligned_alloc as an alternative.
4963         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
4964         * doc/posix-functions/aligned_alloc.texi: Mention the modules
4965         'aligned-malloc' and 'pagealign_alloc'.
4967 2020-07-21  Bruno Haible  <bruno@clisp.org>
4969         aligned-malloc: Add tests.
4970         * tests/test-aligned-malloc.c: New file.
4971         * modules/aligned-malloc-tests: New file.
4973         aligned-malloc: New module.
4974         * lib/aligned-malloc.h: New file.
4975         * m4/malloc-align.m4: New file.
4976         * modules/aligned-malloc: New file.
4977         * doc/posix-functions/posix_memalign.texi: Mention the new module.
4978         * doc/glibc-functions/memalign.texi: Likewise.
4980 2020-07-21  Bruno Haible  <bruno@clisp.org>
4982         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
4983         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
4984         sure PRIPTR_PREFIX is defined to "ll", not "l".
4986 2020-07-21  Bruno Haible  <bruno@clisp.org>
4988         printf-posix: Make an autoconf test more future-proof.
4989         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
4990         using uintptr_t.
4992 2020-07-20  Bruno Haible  <bruno@clisp.org>
4994         list, oset, omap: Relicense some of the container modules under LGPLv2+.
4995         * modules/list (License): Change to LGPLv2+.
4996         * modules/array-list (License): Likewise.
4997         * modules/carray-list (License): Likewise.
4998         * modules/linked-list (License): Likewise.
4999         * modules/avltree-list (License): Likewise.
5000         * modules/rbtree-list (License): Likewise.
5001         * modules/oset (License): Likewise.
5002         * modules/array-oset (License): Likewise.
5003         * modules/avltree-oset (License): Likewise.
5004         * modules/rbtree-oset (License): Likewise.
5005         * modules/omap (License): Likewise.
5006         * modules/array-omap (License): Likewise.
5007         * modules/avltree-omap (License): Likewise.
5008         * modules/rbtree-omap (License): Likewise.
5010 2020-07-20  Bruno Haible  <bruno@clisp.org>
5012         oset: Add an 'update' operation.
5013         * lib/gl_array_oset.c (gl_array_update): New function.
5014         (gl_array_oset_implementation): Use it.
5015         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5016         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5017         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
5018         extracted from gl_tree_nx_add_before.
5019         (gl_tree_nx_add_before): Invoke it.
5020         (gl_tree_add_node_after): New function, extracted from
5021         gl_tree_nx_add_after.
5022         (gl_tree_nx_add_after): Invoke it.
5023         (gl_tree_remove_node_no_free): New function, extracted from
5024         gl_tree_remove_node.
5025         (gl_tree_remove_node): Invoke it.
5026         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
5027         extracted from gl_tree_nx_add_before.
5028         (gl_tree_nx_add_before): Invoke it.
5029         (gl_tree_add_node_after): New function, extracted from
5030         gl_tree_nx_add_after.
5031         (gl_tree_nx_add_after): Invoke it.
5032         (gl_tree_remove_node_no_free): New function, extracted from
5033         gl_tree_remove_node.
5034         (gl_tree_remove_node): Invoke it.
5035         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
5036         from gl_tree_iterator_next.
5037         (gl_tree_iterator_next): Invoke it.
5038         (gl_tree_prev_node, gl_tree_update): New functions.
5039         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5040         (gl_avltree_oset_implementation): Use gl_tree_update.
5041         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5042         (gl_rbtree_oset_implementation): Use gl_tree_update.
5043         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
5044         (gl_oset_update): New function.
5045         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
5046         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
5047         * modules/rbtree-oset (configure.ac): Likewise.
5048         * tests/test-oset-update.h: New file.
5049         * tests/test-array_oset.c: Include test-oset-update.h.
5050         (main): Invoke test_update.
5051         * tests/test-avltree_oset.c: Likewise.
5052         * tests/test-rbtree_oset.c: Likewise.
5053         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
5054         * modules/avltree-oset-tests (Files): Likewise.
5055         * modules/rbtree-oset-tests (Files): Likewise.
5056         * tests/test-oset-c++.cc (action): New function.
5057         (main): Test the 'update' member function.
5059 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5061         md5, sha1, sha256, sha512: pacify Autoconf 2.70
5062         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
5063         shell if, so that the argument to AC_CHECK_HEADERS is
5064         a simple string that does not require shell evaluation.
5065         This fixes a warning generated by Autoconf 2.69b.
5067 2020-07-12  Bruno Haible  <bruno@clisp.org>
5069         libgmp: Avoid warning when --without-libgmp is used.
5070         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
5071         GCC >= 8, not for GCC >= 4.6.
5073 2020-07-12  Bruno Haible  <bruno@clisp.org>
5075         libgmp: Link to the correct shared library.
5076         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
5077         * modules/libgmp (Depends-on): Add havelib.
5078         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
5079         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
5081 2020-07-12  Bruno Haible  <bruno@clisp.org>
5083         libgmp tests: Add some safety checks.
5084         * modules/libgmp-tests (Depends-on): Add verify.
5085         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
5086         (main): Verify that gmp.h and libgmp versions match.
5088 2020-07-10  Bruno Haible  <bruno@clisp.org>
5090         unicodeio: Fix wrong result on NetBSD.
5091         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5092         characters also on NetBSD.
5094 2020-07-09  Bruno Haible  <bruno@clisp.org>
5096         unicodeio: Fix wrong result on Solaris 11.
5097         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
5098         via Akim Demaille <akim.demaille@gmail.com> in
5099         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
5100         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5101         characters on Solaris.
5102         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
5103         UTF-8 output or the specified fallback.
5105 2020-07-08  Bruno Haible  <bruno@clisp.org>
5107         unicodeio: Add tests.
5108         * tests/test-unicodeio.c: New file.
5109         * tests/test-unicodeio1.sh: New file.
5110         * tests/test-unicodeio2.sh: New file.
5111         * tests/test-unicodeio3.sh: New file.
5112         * modules/unicodeio-tests: New file.
5114 2020-07-08  Bruno Haible  <bruno@clisp.org>
5116         unicodeio: Document link requirements.
5117         * modules/unicodeio (Link): New section.
5119 2020-07-07  Bruno Haible  <bruno@clisp.org>
5121         doc: Remove support for some very old platforms.
5122         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
5123         * doc/posix-functions/memcpy.texi: Likewise.
5124         * doc/posix-functions/memmove.texi: Likewise.
5125         * doc/posix-functions/memset.texi: Likewise.
5126         * doc/posix-functions/getcwd.texi: Likewise.
5128         memchr: Remove support for some very old platforms.
5129         * m4/memchr-obsolete.m4: Remove file.
5130         * modules/memchr-obsolete: Remove file.
5131         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
5132         absent. Don't define HAVE_MEMCHR.
5133         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
5134         * modules/memchr (Depends-on): Remove memchr-obsolete.
5135         (configure.ac): Assume HAVE_MEMCHR is 1.
5136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5137         HAVE_MEMCHR.
5138         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
5139         * doc/posix-functions/memchr.texi: Don't mention module
5140         'memchr-obsolete'.
5141         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5142         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5143         * modules/strnlen (Depends-on): Remove memchr-obsolete.
5145         dup2: Remove support for some very old platforms.
5146         * m4/dup2-obsolete.m4: Remove file.
5147         * modules/dup2-obsolete: Remove file.
5148         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
5149         Don't define HAVE_DUP2.
5150         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
5151         * lib/dup2.c: Likewise.
5152         * modules/dup2 (Depends-on, configure.ac): Likewise.
5153         (Depends-on): Remove dup2-obsolete.
5154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
5155         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
5156         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
5158 2020-07-07  Bruno Haible  <bruno@clisp.org>
5160         canonicalize: Trim module dependencies.
5161         * lib/hash-triple.h: Group declarations.
5162         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
5163         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
5164         (STREQ): Remove macro.
5165         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
5166         * modules/hash-triple-simple: New file, based on modules/hash-triple.
5167         * modules/hash-triple (Files): Remove lib/hash-triple.h.
5168         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
5169         * modules/canonicalize (Depends-on): Remove hash-triple. Add
5170         hash-triple-simple.
5171         * modules/file-set (Depends-on): Likewise.
5173 2020-07-07  Bruno Haible  <bruno@clisp.org>
5175         Clarify dependencies to double-slash-root.
5176         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
5177         (Depends-on): Add double-slash-root.
5178         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
5179         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
5181 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5183         libgmp: new module
5184         The idea is to let programs simply include <gmp.h>, and
5185         so long as they live within the mini-gmp subset they need
5186         not worry about whether the GMP libraries are installed.
5187         * MODULES.html.sh: Mention it.
5188         * config/srclist.txt: Mention files copied from GMP source.
5189         * config/srclistvars.sh (GMP): New var.
5190         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
5191         * modules/libgmp-tests, tests/test-libgmp.c: New files.
5192         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
5194 2020-07-05  Bruno Haible  <bruno@clisp.org>
5196         mkancesdirs: Trim module dependencies.
5197         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
5198         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
5200 2020-07-05  Bruno Haible  <bruno@clisp.org>
5202         getprogname: Trim module dependencies.
5203         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
5204         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
5205         basename-lgpl.
5207 2020-07-05  Bruno Haible  <bruno@clisp.org>
5209         filenamecat-lgpl: Trim module dependencies.
5210         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
5211         dirname.h.
5212         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
5213         basename-lgpl, filename.
5215 2020-07-05  Bruno Haible  <bruno@clisp.org>
5217         backupfile, backup-rename: Trim module dependencies.
5218         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
5219         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
5220         basename-lgpl.
5221         * modules/backup-rename (Depends-on): Likewise.
5223 2020-07-05  Bruno Haible  <bruno@clisp.org>
5225         argp: Trim module dependencies.
5226         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
5227         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
5229 2020-07-05  Bruno Haible  <bruno@clisp.org>
5231         basename-lgpl: New module.
5232         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
5233         lib/basename-lgpl.c.
5234         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
5235         <stdbool.h>, filename.h.
5236         (last_component): Rename a local variable.
5237         * lib/dirname.h: Include basename-lgpl.h.
5238         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
5239         (last_component, base_len): Remove declarations.
5240         * modules/basename-lgpl: New file.
5241         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
5242         (Depends-on): Add basename-lgpl. Remove double-slash-root.
5243         (Makefile.am): Don't compile basename-lgpl.c.
5244         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
5245         not 'dirname'.
5247 2020-07-05  Bruno Haible  <bruno@clisp.org>
5249         dirname, dirname-lgpl: Simplify.
5250         * m4/dirname.m4: Remove file.
5251         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
5252         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
5253         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
5255 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
5257         tests: avoid shadowing warning
5258         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
5260 2020-07-05  Bruno Haible  <bruno@clisp.org>
5262         supersede: Add tests.
5263         * tests/test-supersede.c: New file.
5264         * tests/test-supersede-open.h: New file.
5265         * tests/test-supersede-fopen.h: New file.
5266         * modules/supersede-tests: New file.
5268         supersede: New module.
5269         * lib/supersede.h: New file.
5270         * lib/supersede.c: New file.
5271         * m4/supersede.m4: New file.
5272         * modules/supersede: New file.
5274 2020-07-05  Bruno Haible  <bruno@clisp.org>
5276         Add some copyright headers.
5277         * lib/dev-ino.h: Add copyright header.
5278         * lib/di-set.h: Likewise.
5279         * lib/fchown-stub.c: Likewise.
5280         * lib/file-set.h: Likewise.
5281         * lib/hash-triple.h: Likewise.
5282         * lib/idcache.h: Likewise.
5283         * lib/ino-map.h: Likewise.
5284         * lib/mkancesdirs.h: Likewise.
5285         * lib/scratch_buffer.h: Likewise.
5286         * lib/se-context.in.h: Likewise.
5287         * lib/stdopen.h: Likewise.
5288         * lib/userspec.h: Likewise.
5290 2020-07-04  Bruno Haible  <bruno@clisp.org>
5292         getrandom: Relicense under LGPLv2+.
5293         Paul Eggert's approval is in
5294         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
5295         * modules/getrandom (License): Change to LGPLv2+.
5297 2020-07-04  Bruno Haible  <bruno@clisp.org>
5299         getumask: Add tests.
5300         * tests/test-getumask.c: New file.
5301         * modules/getumask-tests: New file.
5303         getumask: New module.
5304         * lib/sys_stat.in.h (getumask): New declaration.
5305         * lib/getumask.c: New file.
5306         * m4/getumask.m4: New file.
5307         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
5308         declared.
5309         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
5310         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
5311         HAVE_GETUMASK.
5312         * modules/getumask: New file.
5313         * tests/test-sys_stat-c++.cc (getumask): Check signature.
5314         * doc/glibc-functions/getumask.texi: New file.
5315         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
5317 2020-07-04  Bruno Haible  <bruno@clisp.org>
5319         clean-temp: Add support for temporary files with given mode.
5320         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
5321         * lib/clean-temp.c (struct try_create_file_params): New type.
5322         (try_create_file): New function.
5323         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
5324         gen_tempname.
5326 2020-07-04  Bruno Haible  <bruno@clisp.org>
5328         clean-temp: Document limitations.
5329         * lib/clean-temp.h: Document limitations.
5331 2020-07-04  Bruno Haible  <bruno@clisp.org>
5333         clean-temp: Add support for temporary files with unpredictable names.
5334         * lib/clean-temp.h (gen_register_open_temp): New declaration.
5335         * lib/clean-temp.c: Include tempname.h.
5336         (gen_register_open_temp): New function.
5337         * modules/tempname (configure.ac): Define a module indicator.
5339 2020-07-04  Bruno Haible  <bruno@clisp.org>
5341         clean-temp: Add support for temporary files anywhere in the file system.
5342         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
5343         cleanup_temporary_file): New declarations.
5344         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
5345         variables.
5346         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
5347         (dir_cleanup_list): Renamed from cleanup_list.
5348         (cleanup_action): Process the file_cleanup_list as well.
5349         (do_init_clean_temp): New function.
5350         (clean_temp_once): New variable.
5351         (init_clean_temp): New function.
5352         (create_temp_dir): Invoke it.
5353         (register_temporary_file, unregister_temporary_file,
5354         cleanup_temporary_file): New functions.
5355         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
5356         argument.
5358 2020-07-04  Bruno Haible  <bruno@clisp.org>
5360         clean-temp: Improve comments.
5361         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5362         fwriteerror_temp, close_stream_temp): Clarify intended use.
5363         * lib/clean-temp.c: Likewise.
5365 2020-07-04  Bruno Haible  <bruno@clisp.org>
5367         clean-temp: Make multithread-safe, part 2.
5368         * lib/fatal-signal.h: Include <signal.h>.
5369         (get_fatal_signal_set): New declaration.
5370         * lib/fatal-signal.c (get_fatal_signal_set): New function.
5371         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
5372         (struct closeable_fd): New type.
5373         (fatal_signal_set): New variable.
5374         (init_fatal_signal_set): New function.
5375         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
5376         (cleanup_action): Invoke asyncsafe_close instead of close.
5377         (create_temp_dir): Invoke init_fatal_signal_set.
5378         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
5379         element.
5380         (unregister_fd): Remove function.
5381         (close_temp): Cleanup descriptors list on the fly. Invoke
5382         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
5383         (fclose_variant_temp): New function.
5384         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
5385         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
5387 2020-07-04  Bruno Haible  <bruno@clisp.org>
5389         clean-temp: Make multithread-safe, part 1.
5390         * lib/clean-temp.c: Include glthread/lock.h.
5391         (cleanup_list_lock): New variable.
5392         (register_temp_file, unregister_temp_file, register_temp_subdir,
5393         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
5394         (create_temp_dir): Likewise. Don't free the old array.
5395         (descriptors_lock): New variable.
5396         (register_fd, unregister_fd): Use it.
5397         * modules/clean-temp (Depends-on): Add lock.
5399 2020-07-04  Bruno Haible  <bruno@clisp.org>
5401         fatal-signal: Make multithread-safe.
5402         * lib/fatal-signal.c (init_fatal_signals): Add comment.
5403         (do_init_fatal_signal_set): New function, extracted from
5404         init_fatal_signal_set.
5405         (fatal_signal_set_once): New variable.
5406         (init_fatal_signal_set): Use gl_once.
5408 2020-07-03  Bruno Haible  <bruno@clisp.org>
5410         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
5411         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
5412         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
5413         <bcrypt.h>.
5415 2020-07-03  Bruno Haible  <bruno@clisp.org>
5417         dfa tests: Follow common file naming conventions.
5418         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
5419         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
5420         * tests/test-dfa-invalid-char-class.sh: Renamed from
5421         tests/dfa-invalid-char-class.sh. Update.
5422         * modules/dfa-tests (Files, Makefile.am): Update.
5424 2020-07-03  Bruno Haible  <bruno@clisp.org>
5426         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
5427         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
5428         the GCC extended asm syntax also for the Sun Studio 12 compilers.
5430 2020-07-03  Bruno Haible  <bruno@clisp.org>
5432         asyncsafe-spin: Reduce code duplication.
5433         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
5434         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
5435         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
5437 2020-07-03  Bruno Haible  <bruno@clisp.org>
5439         lchmod: Simplify after 2020-02-22 change.
5440         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
5442 2020-07-03  Bruno Haible  <bruno@clisp.org>
5444         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
5445         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
5447 2020-07-03  Bruno Haible  <bruno@clisp.org>
5449         dfa: Make sure the compiler does not barf on 'inline'.
5450         * modules/dfa (configure.ac): Require AC_C_INLINE.
5452 2020-07-03  Bruno Haible  <bruno@clisp.org>
5454         bitset: Make sure the compiler does not barf on 'inline'.
5455         * modules/bitset (configure.ac): New section.
5457 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5459         manywarnings: improve port to GCC 10.1
5460         * build-aux/gcc-warning.spec: Also list warnings that are default
5461         or are enabled by already-given flags.  This lets us speed up
5462         checking for attributes, and makes the generated compilation
5463         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
5464         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
5465         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
5466         to shell variables that may have long values.
5467         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
5468         consequences of other flags, to speed up checking and
5469         shorten commands.
5471         tests: pacify gcc -fanalyzer on zerosize_ptr
5472         * tests/test-memcasecmp.c (main):
5473         * tests/test-memchr.c (main):
5474         * tests/test-memchr2.c (main):
5475         * tests/test-memcmp.c (main):
5476         * tests/test-memmem.c (main):
5477         * tests/test-memrchr.c (main):
5478         * tests/unistr/test-chr.h (main):
5479         * tests/unistr/test-cmp.h (test_cmp):
5480         Check whether zerosize_ptr returns NULL before using it.
5481         This pacifies GCC 10.1’s new fanalyzer option, and matches
5482         other uses of zerosize_ptr.
5484 2020-07-01  Bruno Haible  <bruno@clisp.org>
5486         asyncsafe-spin: Add tests.
5487         * tests/test-asyncsafe-spin1.c: New file.
5488         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
5489         tests/test-pthread-spin.c.
5490         * modules/asyncsafe-spin-tests: New file.
5492 2020-07-01  Bruno Haible  <bruno@clisp.org>
5494         asyncsafe-spin: New module.
5495         * lib/asyncsafe-spin.h: New file.
5496         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
5497         * modules/asyncsafe-spin: New file.
5499 2020-07-01  Bruno Haible  <bruno@clisp.org>
5501         windows-spin: Fix race condition on multiprocessor systems.
5502         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
5504 2020-07-01  Bruno Haible  <bruno@clisp.org>
5506         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
5507         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5508         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
5509         an implementation based on other GCC built-ins.
5511 2020-07-01  Bruno Haible  <bruno@clisp.org>
5513         pthread-spin: Optimize fallback for GCC versions >= 4.7.
5514         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5515         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
5516         lock byte.
5518 2020-07-01  Bruno Haible  <bruno@clisp.org>
5520         pthread-spin: Add error checking.
5521         * lib/pthread-spin.c: Include <stdbool.h>.
5522         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
5523         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
5524         the unlocks.
5525         * modules/pthread-spin (Depends-on): Add stdbool.
5527 2020-07-01  Bruno Haible  <bruno@clisp.org>
5529         pthread-spin: Add tests.
5530         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
5531         * modules/pthread-spin-tests: New file.
5533 2020-07-01  Bruno Haible  <bruno@clisp.org>
5535         tests: Reduce code duplication.
5536         * tests/atomic-int-posix.h: New file, extracted from
5537         tests/test-pthread-mutex.c.
5538         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
5539         * tests/test-pthread-rwlock.c: Likewise.
5540         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
5541         * modules/pthread-rwlock-tests (Files): Likewise.
5543 2020-07-01  Bruno Haible  <bruno@clisp.org>
5545         tests: Refactor.
5546         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
5547         * tests/test-mtx.c: Include it. Remove the corresponding code.
5548         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
5550 2020-07-01  Bruno Haible  <bruno@clisp.org>
5552         tests: Refactor.
5553         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
5554         * tests/test-lock.c: Include it. Remove the corresponding code.
5555         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
5557 2020-06-29  Bruno Haible  <bruno@clisp.org>
5559         sys_socket: Don't define socklen_t if it is already defined on mingw.
5560         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
5561         <https://savannah.gnu.org/bugs/?57725>,
5562         by Rahul Das <bokul_4u@yahoo.com> in
5563         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
5564         and by Eli Zaretskii <eliz@gnu.org> in
5565         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
5566         * lib/sys_socket.in.h (socklen_t): Remove definition.
5568 2020-06-29  Bruno Haible  <bruno@clisp.org>
5570         alloca-opt: Fix warning on mingw.
5571         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
5572         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
5573         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
5574         whether alloca is defined.
5576 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5578         getrandom: do not depend on ‘open’ on mingw
5579         Similarly for at-internal, getloadavg.  These modules do not call
5580         the ‘open’ function when they are compiled on mingw.  On mingw,
5581         this avoids having to compile open.c when building Emacs, which
5582         does its own thing with ‘open’.
5583         * modules/at-internal, modules/getloadavg, modules/getrandom:
5584         (Depends-on): Don’t depend on ‘open’ on mingw.
5585         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
5586         * modules/getloadavg (Depends-on):
5587         Depend on intprops, open, stdbool, stdlib only if compiling
5588         getloadavg.c.
5590 2020-06-28  Bruno Haible  <bruno@clisp.org>
5592         doc: Add a note about sigprocmask vs. pthread_sigmask.
5593         * doc/posix-functions/sigprocmask.texi: Add note.
5595 2020-06-28  Bruno Haible  <bruno@clisp.org>
5597         getrandom: Fix compilation errors on older versions of mingw.
5598         Reported by Eli Zaretskii <eliz@gnu.org> in
5599         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
5600         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
5601         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
5602         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
5603         BCryptGenRandom ourselves.
5605 2020-06-28  Bruno Haible  <bruno@clisp.org>
5607         clean-temp: Fix wrong errno in error message.
5608         * lib/clean-temp.c (create_temp_dir): Save errno around
5609         unblock_fatal_signals call.
5611 2020-06-27  Bruno Haible  <bruno@clisp.org>
5613         fatal-signal: Make multithread-safe.
5614         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
5616 2020-06-27  Bruno Haible  <bruno@clisp.org>
5618         clean-temp: Don't force deletion of temporary files on native Windows.
5619         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
5620         argument.
5621         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
5622         * NEWS: Mention the change.
5623         * lib/javacomp.c (write_temp_file): Update.
5625 2020-06-27  Bruno Haible  <bruno@clisp.org>
5627         fatal-signal: Make multithread-safe.
5628         * lib/fatal-signal.c: Include glthread/lock.h.
5629         (at_fatal_signal_lock): New variable.
5630         (at_fatal_signal): Use it.
5631         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
5632         (block_fatal_signals, unblock_fatal_signals): Use them.
5633         * modules/fatal-signal (Depends-on): Add lock.
5635 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5637         getloadavg: don’t depend on fopen-gnu
5638         This is for Emacs, which does not need fopen-gnu for anything else,
5639         and which would need it only on a NetBSD platform where getloadavg
5640         does not work (does that even happen?).
5641         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
5642         * modules/getloadavg (Depends-on): Remove fopen-gnu.
5644         * tests/test-getloadavg.c (main): Fix typo.
5646 2020-06-27  Bruno Haible  <bruno@clisp.org>
5648         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
5649         * modules/tempname (Link): New section.
5650         * modules/mkdtemp (Link): Likewise.
5651         * modules/clean-temp (Link): Likewise.
5652         * modules/mkstemp (Link): Likewise.
5653         * modules/stdlib-safer (Link): Likewise.
5654         * modules/mkstemps (Link): Likewise.
5655         * modules/mkostemp (Link): Likewise.
5656         * modules/mkostemps (Link): Likewise.
5657         * modules/tmpfile (Link): Likewise.
5658         * modules/tmpfile-safer (Link): Likewise.
5659         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
5660         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
5661         $(LIB_GETRANDOM).
5662         * NEWS: Mention the changes.
5664 2020-06-27  Bruno Haible  <bruno@clisp.org>
5666         fopen-gnu: Simplify code.
5667         * lib/fopen.c: Include <stdbool.h>.
5668         (rpl_fopen): Use a single variable open_flags instead of
5669         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
5670         * modules/fopen (Depends-on): Add stdbool.
5672 2020-06-26  Bruno Haible  <bruno@clisp.org>
5674         canonicalize: Improve documentation.
5675         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
5676         return convention.
5678 2020-06-26  Bruno Haible  <bruno@clisp.org>
5680         xgetcwd: Improve documentation.
5681         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
5683 2020-06-26  Bruno Haible  <bruno@clisp.org>
5685         getcwd: Improve documentation.
5686         * lib/getcwd.c (__getcwd): Document the failure return convention.
5688 2020-06-26  Bruno Haible  <bruno@clisp.org>
5690         fchdir: Improve documentation.
5691         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
5692         convention.
5694 2020-06-26  Bruno Haible  <bruno@clisp.org>
5696         filenamecat-lgpl: Set errno upon failure.
5697         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
5698         return convention.
5699         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
5701 2020-06-26  Bruno Haible  <bruno@clisp.org>
5703         areadlink-with-size: Set errno upon failure.
5704         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
5705         fails.
5706         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
5708 2020-06-26  Bruno Haible  <bruno@clisp.org>
5710         copy-file: Shrink dependencies.
5711         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
5712         qcopy-acl.
5714 2020-06-26  Bruno Haible  <bruno@clisp.org>
5716         doc: Mention declaration fixes implemented by some modules.
5717         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
5718         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
5719         declaration appear in <unistd.h>.
5720         * doc/posix-functions/dup.texi: Likewise.
5721         * doc/posix-functions/dup2.texi: Likewise.
5722         * doc/posix-functions/gethostname.texi: Likewise.
5723         * doc/posix-functions/isatty.texi: Likewise.
5724         * doc/posix-functions/lseek.texi: Likewise.
5725         * doc/posix-functions/unlink.texi: Likewise.
5726         * doc/posix-functions/read.texi: Mention the module 'read'.
5727         * doc/posix-functions/write.texi: Mention the effects of the module
5728         'write'.
5730 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5732         c-dtoastr, c-ldtoastr: new modules
5733         These modules provide the same functionality as the modules
5734         dtoastr and ldtoastr except for the formatting taking place in the
5735         C locale.
5736         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
5737         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
5738         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
5739         defined.  Use c_snprintf and c_strtod/c_strtold instead of
5740         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
5741         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
5742         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
5743         modules/c-ldtoastr-tests: New files.
5744         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
5745         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
5747 2020-06-21  Bruno Haible  <bruno@clisp.org>
5749         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
5750         * lib/tzset.c: Include <stdlib.h>, <string.h>.
5752 2020-06-16  Bruno Haible  <bruno@clisp.org>
5754         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
5755         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
5757 2020-06-16  Bruno Haible  <bruno@clisp.org>
5759         thread, thrd: Avoid a compiler warning.
5760         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
5762 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
5764         windows-thread: Avoid a compiler warning.
5765         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
5766         void.
5767         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
5769 2020-06-15  Bruno Haible  <bruno@clisp.org>
5771         unictype/joininggroup-name: Fix warning on 64-bit mingw.
5772         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
5773         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
5774         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
5775         first.
5777 2020-06-06  Bruno Haible  <bruno@clisp.org>
5779         calloc-gnu tests: Avoid a test failure with clang.
5780         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
5781         'volatile', to defeat compiler optimizations.
5783 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5785         getloadavg: fix double-increment bug
5786         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
5787         Linux without glibc, Android, Cygwin.  This fixes a bug I
5788         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
5789         Problem and fix reported by Semen Verchenko in:
5790         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
5792         tempname: use getrandom, not getentropy
5793         This removes a dependency, as getentropy depends on getrandom.
5794         * lib/tempname.c: Include sys/random.h instead of unistd.h.
5795         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
5796         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
5798 2020-06-01  Bruno Haible  <bruno@clisp.org>
5800         doc: New chapter 'Multithreading'.
5801         * doc/multithread.texi: New file.
5802         * doc/gnulib.texi: Include it.
5804 2020-06-01  Bruno Haible  <bruno@clisp.org>
5806         doc: Move 'Running self-tests under valgrind' section.
5807         * doc/gnulib.texi (Build Infrastructure Modules): Include
5808         valgrind-tests.texi here...
5809         (Miscellaneous Notes): ... not here.
5811 2020-06-01  Bruno Haible  <bruno@clisp.org>
5813         doc: Move 'Visual Studio Compatibility' section.
5814         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
5815         here...
5816         (Build Infrastructure Modules): ... not here.
5818 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5820         doc: improve randomness discussion
5821         Inspired by comments from Jeffrey Walton in:
5822         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
5823         * doc/glibc-functions/getentropy.texi (getentropy):
5824         * doc/glibc-functions/getrandom.texi (getrandom):
5825         Improve discussion of problems with "random" data,
5826         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
5828 2020-06-01  Bruno Haible  <bruno@clisp.org>
5830         doc: Fix Texinfo syntax error.
5831         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
5833 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
5835         doc: Change '.' to '@.' where appropriate.
5836         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
5837         * doc/glibc-functions/fstatfs.texi: Likewise.
5838         * doc/glibc-functions/fts_children.texi: Likewise.
5839         * doc/glibc-functions/fts_read.texi: Likewise.
5840         * doc/glibc-functions/getdirentries.texi: Likewise.
5841         * doc/glibc-functions/mkostemp.texi: Likewise.
5842         * doc/glibc-functions/mkostemps.texi: Likewise.
5843         * doc/glibc-functions/mkstemps.texi: Likewise.
5844         * doc/glibc-functions/preadv.texi: Likewise.
5845         * doc/glibc-functions/pwritev.texi: Likewise.
5846         * doc/glibc-functions/sendfile.texi: Likewise.
5847         * doc/glibc-functions/statfs.texi: Likewise.
5848         * doc/gnulib-intro.texi: Likewise.
5849         * doc/gnulib-tool.texi: Likewise.
5850         * doc/intprops.texi: Likewise.
5851         * doc/lib-symbol-visibility.texi: Likewise.
5852         * doc/licenses-texi.texi: Likewise.
5853         * doc/pastposix-functions/bcmp.texi: Likewise.
5854         * doc/pastposix-functions/bcopy.texi: Likewise.
5855         * doc/pastposix-functions/bzero.texi: Likewise.
5856         * doc/pastposix-functions/ecvt.texi: Likewise.
5857         * doc/pastposix-functions/fcvt.texi: Likewise.
5858         * doc/pastposix-functions/ftime.texi: Likewise.
5859         * doc/pastposix-functions/gcvt.texi: Likewise.
5860         * doc/pastposix-functions/getwd.texi: Likewise.
5861         * doc/pastposix-functions/index.texi: Likewise.
5862         * doc/pastposix-functions/mktemp.texi: Likewise.
5863         * doc/pastposix-functions/rindex.texi: Likewise.
5864         * doc/pastposix-functions/wcswcs.texi: Likewise.
5865         * doc/posix-functions/aio_cancel.texi: Likewise.
5866         * doc/posix-functions/aio_error.texi: Likewise.
5867         * doc/posix-functions/aio_fsync.texi: Likewise.
5868         * doc/posix-functions/aio_read.texi: Likewise.
5869         * doc/posix-functions/aio_return.texi: Likewise.
5870         * doc/posix-functions/aio_suspend.texi: Likewise.
5871         * doc/posix-functions/aio_write.texi: Likewise.
5872         * doc/posix-functions/creat.texi: Likewise.
5873         * doc/posix-functions/ctime.texi: Likewise.
5874         * doc/posix-functions/daylight.texi: Likewise.
5875         * doc/posix-functions/fgetpos.texi: Likewise.
5876         * doc/posix-functions/fopen.texi: Likewise.
5877         * doc/posix-functions/freopen.texi: Likewise.
5878         * doc/posix-functions/fseeko.texi: Likewise.
5879         * doc/posix-functions/fsetpos.texi: Likewise.
5880         * doc/posix-functions/fstatat.texi: Likewise.
5881         * doc/posix-functions/fstatvfs.texi: Likewise.
5882         * doc/posix-functions/ftello.texi: Likewise.
5883         * doc/posix-functions/ftruncate.texi: Likewise.
5884         * doc/posix-functions/getrlimit.texi: Likewise.
5885         * doc/posix-functions/lio_listio.texi: Likewise.
5886         * doc/posix-functions/localtime.texi: Likewise.
5887         * doc/posix-functions/lseek.texi: Likewise.
5888         * doc/posix-functions/mkstemp.texi: Likewise.
5889         * doc/posix-functions/mktime.texi: Likewise.
5890         * doc/posix-functions/open.texi: Likewise.
5891         * doc/posix-functions/openat.texi: Likewise.
5892         * doc/posix-functions/opendir.texi: Likewise.
5893         * doc/posix-functions/pread.texi: Likewise.
5894         * doc/posix-functions/pwrite.texi: Likewise.
5895         * doc/posix-functions/readdir.texi: Likewise.
5896         * doc/posix-functions/readdir_r.texi: Likewise.
5897         * doc/posix-functions/scandir.texi: Likewise.
5898         * doc/posix-functions/seekdir.texi: Likewise.
5899         * doc/posix-functions/setrlimit.texi: Likewise.
5900         * doc/posix-functions/statvfs.texi: Likewise.
5901         * doc/posix-functions/strftime.texi: Likewise.
5902         * doc/posix-functions/telldir.texi: Likewise.
5903         * doc/posix-functions/timezone.texi: Likewise.
5904         * doc/posix-functions/tmpfile.texi: Likewise.
5905         * doc/posix-functions/truncate.texi: Likewise.
5906         * doc/posix-functions/tzname.texi: Likewise.
5907         * doc/posix-functions/wcsftime.texi: Likewise.
5908         * doc/windows-sockets.texi: Likewise.
5910 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5912         getrandom-tests: do not assume GRND_RANDOM yields short read
5913         * tests/test-getrandom.c (main): Omit assertion that
5914         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
5915         when b’s size is 100000.  This assertion fails with Linux kernel
5916         5.6.13, as that kernel ignores the GRND_RANDOM flag.
5917         The separate blocking pool is going away in the Linux kernel, and
5918         they’ve added a flag GRND_INSECURE instead; see:
5919         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
5920         The assertion was iffy anyway; what’s to prevent a kernel from
5921         lazily filling a large buffer with random bytes?
5923         read-file-test: pacify --enable-gcc-warnings
5924         * tests/test-read-file.c (test_read_file): Now static.
5926         tempname: merge from glibc and coreutils
5927         Also, merge in Gnulib’s more-recent methods of making it easier
5928         to share between Gnulib and glibc, and fix a few randomness
5929         glitches.
5930         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
5931         (__set_errno): Remove; libc-config.h does that for us.
5932         Do not include <sys/time.h>.
5933         (__secure_getenv) [_LIBC]: New macro.
5934         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
5935         (RANDOM_BITS): Rewrite.
5936         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
5937         (random_value): New typedef.
5938         (try_file, try_dir, try_nocreate): Move up.
5939         (gen_tempname_len, try_tempname_len): New functions.
5940         (gen_tempname_len): Use a constant array rather than a switch.
5941         (try_tempname_len): Don’t assume string length fits in int.
5942         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
5943         has enough entropy (it’s a bit short).
5944         (__gen_tempname): Rewrite in terms of gen_tempname_len.
5945         (__try_tempname): Rewrite in terms of try_tempname_len.
5946         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
5947         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
5948         Add getentropy, libc-config.
5950 2020-05-31  Bruno Haible  <bruno@clisp.org>
5952         getrandom, getentropy: Mention the crypto/gc-random module.
5953         Suggested by Simon Josefsson in
5954         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
5955         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
5956         crypto/gc-random module.
5957         * doc/glibc-functions/getentropy.texi: Likewise.
5959 2020-05-31  Bruno Haible  <bruno@clisp.org>
5961         getentropy: Enhance tests.
5962         * tests/test-getentropy.c (main): Add one more test.
5963         * tests/test-unistd-c++.cc: Check the signature of getentropy.
5965 2020-05-31  Bruno Haible  <bruno@clisp.org>
5967         getentropy: Work around a macOS and Solaris problem.
5968         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
5969         'getentropy' module.
5970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5971         UNISTD_H_HAVE_SYS_RANDOM_H.
5972         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
5973         UNISTD_H_HAVE_SYS_RANDOM_H.
5974         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
5975         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
5976         problem. List more platforms.
5978 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5980         fnmatch: merge from glibc
5981         Also, merge in Gnulib’s more-recent methods of making it easier
5982         to share between Gnulib and glibc.
5983         * lib/fnmatch.c: Reorder includes to match glibc better.
5984         Include libc-config.h instead of config.h.
5985         Include alloca.h only if _LIBC || HAVE_ALLOCA.
5986         Do not include "../locale/elem-hash.h" if _LIBC.
5987         Define macros for btowc, etc. if _LIBC.  All uses simplified.
5988         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
5989         Include intprops.h, since glibc has it now.
5990         (SIZE_MAX): Remove; use (size_t) -1 instead.
5991         Omit the "Comment out all this code" ifdef, since Gnulib
5992         has never really needed it.
5993         (STREQ): Remove; no longer used.
5994         (__libc_use_alloca, alloca, alloca_account): Define as
5995         needed if !_LIBC.
5996         (ISWCTYPE): Remove; all uses replaced by iswctype.
5997         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
5998         (internal_function): Remove.  All uses removed.
5999         (STRUCT): New macro.
6000         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
6001         (WMEMCMP): New macro.
6002         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
6003         and <locale/weightwc.h>.
6004         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
6005         __builtin_expect.  Check for integer overflow more
6006         systematically.  Account for alloca storage better when
6007         recursive.  Use strnlen instead of strlen for efficiency.
6008         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
6009         (struct STRUCT): New type.
6010         (FCT, EXT): New ENDS and ALLOCA_USED args.
6011         All callers changed.
6012         (FCT): Prefer __glibc_unlikely to __builtin_expect.
6013         Simplify by assuming WIDE_CHAR_SUPPORT.
6014         Copy _LIBC code from glibc without worrying Gnulib compatibility.
6015         Cast cold to UCHAR to avoid signedness warning.
6016         (END): Check for invalid pattern.
6017         (EXT): Improve alloca/malloc checking (taken from glibc),
6018         and improve it some more by using intprops.h and checking
6019         for integer overflow and using bool for booleans.
6020         * lib/libc-config.h (compat_symbol): New macro.
6021         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
6022         acceptable to non-GCC when a trailing semicolon is added.
6023         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
6024         libc-config, strnlen.  Remove alloca.
6026 2020-05-31  Bruno Haible  <bruno@clisp.org>
6028         getrandom: Doc and test tweaks.
6029         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
6030         it sets errno when failing.
6031         * tests/test-getrandom.c (main): Disable the high-quality check on those
6032         platforms on which it fails.
6033         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
6034         Cygwin to the list of platforms that don't have the function. Add a note
6035         about the quality of the result.
6036         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
6037         declaration; this is fixed by module 'getrandom'.
6039 2020-05-31  Bruno Haible  <bruno@clisp.org>
6041         getrandom: Add support for native Windows.
6042         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
6043         <wincrypt.h>.
6044         (CRYPT_VERIFY_CONTEXT): New macro.
6045         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
6046         'A'.
6047         (GetProcAddress): New macro.
6048         (BCryptGenRandomFuncType): New type.
6049         (BCryptGenRandomFunc, initialized): New variables.
6050         (initialize): New function.
6051         (getrandom): On native Windows, use <bcrypt.h> API when available, and
6052         <wincrypt.h> API as fallback.
6053         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
6054         * modules/getrandom (Link): New section.
6055         * modules/getentropy (Link): Likewise.
6056         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
6057         $(LIB_GETRANDOM).
6058         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
6059         $(LIB_GETRANDOM).
6060         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
6061         against $(LIB_GETRANDOM).
6062         * doc/glibc-functions/getrandom.texi: Mention the native Windows
6063         support.
6065 2020-05-31  Bruno Haible  <bruno@clisp.org>
6067         getrandom: Simplify the determination of the random number devices.
6068         Suggested by Paul Eggert in
6069         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
6070         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
6071         macros.
6072         * modules/getrandom (Depends-on): Remove crypto/gc-random.
6074 2020-05-31  Bruno Haible  <bruno@clisp.org>
6076         crypto/gc-random: Fix list of crypto devices for Solaris.
6077         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
6079 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
6081         list: fix GCC warnings
6082         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
6083         (gl_tree_next_node, gl_tree_node_nx_set_value)
6084         (gl_tree_previous_node, gl_tree_next_node):
6085         Mark unused arguments.
6086         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
6087         * lib/gl_anylinked_list2.h (gl_linked_node_value)
6088         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
6090         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
6091         the same variable name in nested scopes.
6093 2020-05-31  Bruno Haible  <bruno@clisp.org>
6095         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
6096         Reported by Akim Demaille in
6097         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
6098         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
6099         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
6100         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
6101         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
6102         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
6104 2020-05-30  Bruno Haible  <bruno@clisp.org>
6106         wmemchr: Relicense under LGPLv2+.
6107         * modules/wmemchr (License): Set to LGPLv2+.
6109 2020-05-30  Bruno Haible  <bruno@clisp.org>
6111         wmempcpy: New module.
6112         Reported by Paul Eggert in
6113         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
6114         * lib/wchar.in.h (wmempcpy): New declaration.
6115         * lib/wmempcpy.c: New file.
6116         * m4/wmempcpy.m4: New file.
6117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
6118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
6119         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
6120         HAVE_WMEMPCPY.
6121         * modules/wmempcpy: New file.
6122         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
6123         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
6124         * modules/mempcpy (Description): Fix typo.
6126 2020-05-30  Bruno Haible  <bruno@clisp.org>
6128         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
6129         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
6131 2020-05-30  Bruno Haible  <bruno@clisp.org>
6133         sys_random: Work around macOS bug.
6134         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
6135         <stdlib.h> before <sys/random.h>.
6136         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
6137         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
6138         first.
6139         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
6141 2020-05-30  Bruno Haible  <bruno@clisp.org>
6143         getrandom: Override incompatible system function on Solaris 11.
6144         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
6145         * lib/getrandom.c (getrandom): When the system has getrandom, just
6146         invoke it.
6147         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
6148         system's getrandom function's prototype is not the expected one.
6149         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
6150         REPLACE_GETRANDOM.
6151         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
6152         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
6153         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
6154         EAGAIN.
6155         * doc/glibc-functions/getrandom.texi: Mention the new module and the
6156         Solaris problem.
6158 2020-05-30  Bruno Haible  <bruno@clisp.org>
6160         sys_random: Add C++ tests.
6161         * tests/test-sys_random-c++.cc: New file.
6162         * modules/sys_random-c++-tests: New file.
6163         * modules/sys_random-tests (Depends-on): Depend on it.
6165         sys_random: Add tests.
6166         * tests/test-sys_random.c: New file.
6167         * modules/sys_random-tests: New file.
6169         sys_random: New module.
6170         * lib/sys_random.in.h: Use the common idioms for overridable header
6171         files.
6172         * m4/sys_random_h.m4: New file.
6173         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
6174         * modules/sys_random: New file.
6175         * modules/getrandom (Files): Remove lib/sys_random.in.h.
6176         (Depends-on): Add sys_random.
6177         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
6178         gl_UNISTD_MODULE_INDICATOR.
6179         (Makefile.am): Don't generate sys/random.h here.
6180         * doc/glibc-headers/sys_random.texi: New file.
6181         * doc/gnulib.texi: Include it.
6183 2020-05-30  Bruno Haible  <bruno@clisp.org>
6185         unistd: Remove conflicting declaration of getrandom().
6186         * lib/unistd.in.h (getrandom): Remove declaration.
6187         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
6188         declared.
6189         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
6190         HAVE_GETRANDOM.
6191         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
6192         HAVE_GETRANDOM.
6194 2020-05-30  Bruno Haible  <bruno@clisp.org>
6196         getrandom: Add tests.
6197         * tests/test-getrandom.c: New file.
6198         * modules/getrandom-tests: New file.
6200 2020-05-30  Bruno Haible  <bruno@clisp.org>
6202         crypto/gc-random: Fix link error on MSVC.
6203         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
6204         * modules/crypto/gc-random (Link): New section.
6205         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
6206         $(LIB_GC_RANDOM).
6208 2020-05-30  Bruno Haible  <bruno@clisp.org>
6210         Don't assume that UNICODE is not defined.
6211         Many Windows API functions are defined differently (redirecting to a
6212         function with suffix 'W') if the application defines the macro UNICODE
6213         than by default (redirecting to a function with suffix 'A').
6214         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
6215         variant with suffix 'A'.
6216         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
6217         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
6218         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
6219         * lib/getlogin.c (GetUserName): Likewise.
6220         * lib/getlogin_r.c (GetUserName): Likewise.
6221         * lib/gettimeofday.c (LoadLibrary): Likewise.
6222         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
6223         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
6224         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
6225         * lib/mountlist.c (GetDriveType): Likewise.
6226         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
6227         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
6228         Likewise.
6229         * lib/physmem.c (GetModuleHandle): Likewise.
6230         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6231         PeekMessage, DispatchMessage): Likewise.
6232         * lib/progreloc.c (GetModuleFileName): Likewise.
6233         * lib/putenv.c (SetEnvironmentVariable): Likewise.
6234         * lib/read.c (GetNamedPipeHandleState): Likewise.
6235         * lib/readdir.c (FindNextFile): Likewise.
6236         * lib/relocatable.c (GetModuleFileName): Likewise.
6237         * lib/rename.c (MoveFileEx): Likewise.
6238         * lib/rewinddir.c (FindFirstFile): Likewise.
6239         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6240         PeekMessage, DispatchMessage): Likewise.
6241         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
6242         * lib/socket.c (WSASocket): Likewise.
6243         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
6244         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
6245         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
6246         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
6247         * lib/tmpdir.c (GetTempPath): Likewise.
6248         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
6249         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
6250         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
6251         * lib/windows-cond.c (CreateEvent): Likewise.
6252         * lib/windows-rwlock.c (CreateEvent): Likewise.
6253         * lib/windows-timedmutex.c (CreateEvent): Likewise.
6254         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
6255         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
6256         * lib/write.c (GetNamedPipeHandleState): Likewise.
6258 2020-05-30  Bruno Haible  <bruno@clisp.org>
6260         physmem: Fix compilation errors on MSVC.
6261         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
6262         * modules/physmem (Depends-on): Add unistd.
6264 2020-05-29  Bruno Haible  <bruno@clisp.org>
6266         gnulib-tool: Fix link errors with a particular set of modules on mingw.
6267         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
6268         LDADD a second time, after the second occurrence of libtests.a.
6269         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
6271 2020-05-29  Bruno Haible  <bruno@clisp.org>
6273         fnmatch: Rely on more gnulib modules.
6274         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
6275         wmempcpy, mempcpy.
6276         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
6277         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
6278         HAVE_MEMPCPY are all 1.
6279         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
6280         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
6282 2020-05-29  Bruno Haible  <bruno@clisp.org>
6284         Avoid dynamic lookup of Windows API functions when possible.
6285         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
6286         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
6287         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
6288         (use_win32_p): Define differently.
6289         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
6290         CreateHardLinkFunc, initialized, initialize): Don't define in a build
6291         for Windows XP or higher.
6293 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6295         read-file: disable buffering if RF_SENSITIVE is set
6296         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
6297         Suggested by Glenn Strauss.
6298         (fread_file): Suggest calling setvbuf before calling this
6299         function.  Suggested by Bruno Haible.
6301 2020-05-29  Bruno Haible  <bruno@clisp.org>
6303         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
6304         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
6305         program.
6306         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
6307         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
6308         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
6309         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
6311 2020-05-29  Bruno Haible  <bruno@clisp.org>
6313         Fix compilation error on native Windows (regression from 2020-05-28).
6314         Reported by Daiki Ueno.
6315         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
6316         macro when not using dynamic loading.
6317         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
6318         QueryFullProcessImageNameFunc): Likewise.
6319         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
6320         GetFinalPathNameByHandleFunc): Likewise.
6322 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6324         fopen-gnu-tests: fix "\x" escape usage
6325         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
6327 2020-05-28  Bruno Haible  <bruno@clisp.org>
6329         Avoid dynamic loading of Windows API functions when possible.
6330         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6331         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
6332         * lib/gettimeofday.c (GetProcAddress,
6333         GetSystemTimePreciseAsFileTimeFuncType,
6334         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
6335         define in a build for Windows 8 or higher.
6336         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
6337         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
6338         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
6339         in a build for Windows Vista or higher.
6340         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
6341         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
6342         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
6344 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6346         explicit_bzero-tests: improve -Wmissing-declarations pacification
6347         * tests/test-explicit_bzero.c: Now noinline.
6348         Suggested by Bruno Haible in:
6349         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
6351 2020-05-28  Bruno Haible  <bruno@clisp.org>
6353         Fix build errors due to read-file changes (regression from 2020-05-27).
6354         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
6355         invocation.
6356         * tests/test-sameacls.c (main): Likewise.
6357         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
6358         read_binary_file.
6359         * tests/test-pipe-filter-ii1.c (main): Likewise.
6361 2020-05-28  Bruno Haible  <bruno@clisp.org>
6363         fts: Make more robust in multithreaded applications.
6364         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
6365         * modules/fts (Depends-on): Add 'open'.
6367 2020-05-28  Bruno Haible  <bruno@clisp.org>
6369         relocatable-prog: Make more robust in multithreaded applications.
6370         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
6371         relocatable-prog-wrapper.
6372         (find_executable): Pass an O_CLOEXEC flag to open().
6373         * modules/relocatable-prog (Depends-on): Add 'open'.
6375 2020-05-28  Bruno Haible  <bruno@clisp.org>
6377         getloadavg: Make more robust in multithreaded applications.
6378         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
6379         Simplify use of O_CLOEXEC.
6380         * modules/getloadavg (Depends-on): Add 'open'.
6382 2020-05-28  Bruno Haible  <bruno@clisp.org>
6384         vma-iter: Make more robust in multithreaded applications.
6385         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
6386         open().
6387         * modules/vma-iter (Depends-on): Add 'open'.
6389 2020-05-28  Bruno Haible  <bruno@clisp.org>
6391         truncate: Make more robust in multithreaded applications.
6392         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
6394 2020-05-28  Bruno Haible  <bruno@clisp.org>
6396         pagealign_alloc: Make more robust in multithreaded applications.
6397         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
6398         open().
6399         * modules/pagealign_alloc (Depends-on): Add 'open'.
6401 2020-05-28  Bruno Haible  <bruno@clisp.org>
6403         openat: Make more robust in multithreaded applications.
6404         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
6406 2020-05-28  Bruno Haible  <bruno@clisp.org>
6408         at-internal: Make more robust in multithreaded applications.
6409         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
6410         open().
6412 2020-05-28  Bruno Haible  <bruno@clisp.org>
6414         mountlist: Make more robust in multithreaded applications.
6415         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
6416         open().
6417         * modules/mountlist (Depends-on): Add 'open'.
6419 2020-05-28  Bruno Haible  <bruno@clisp.org>
6421         login_tty: Make more robust in multithreaded applications.
6422         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
6423         * modules/login_tty (Depends-on): Add 'open'.
6425 2020-05-28  Bruno Haible  <bruno@clisp.org>
6427         javacomp: Make more robust in multithreaded applications.
6428         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
6429         open().
6430         * modules/javacomp (Depends-on): Add 'open'.
6432 2020-05-28  Bruno Haible  <bruno@clisp.org>
6434         getprogname: Make more robust in multithreaded applications.
6435         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
6436         * modules/getprogname (Depends-on): Add 'open'.
6438 2020-05-28  Bruno Haible  <bruno@clisp.org>
6440         get_progname_of: Make more robust in multithreaded applications.
6441         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
6442         open().
6443         * modules/get_progname_of (Depends-on): Add 'open'.
6445 2020-05-28  Bruno Haible  <bruno@clisp.org>
6447         get_ppid_of: Make more robust in multithreaded applications.
6448         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
6449         * modules/get_ppid_of (Depends-on): Add 'open'.
6451 2020-05-28  Bruno Haible  <bruno@clisp.org>
6453         get-rusage-as: Make more robust in multithreaded applications.
6454         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
6455         flag to open().
6456         * modules/get-rusage-as (Depends-on): Add 'open'.
6458 2020-05-28  Bruno Haible  <bruno@clisp.org>
6460         crypto/gc: Make more robust in multithreaded applications.
6461         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
6462         * modules/crypto/gc (Depends-on): Add 'open'.
6464 2020-05-28  Bruno Haible  <bruno@clisp.org>
6466         copy-file: Make more robust in multithreaded applications.
6467         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
6468         open().
6470 2020-05-28  Bruno Haible  <bruno@clisp.org>
6472         chown: Make more robust in multithreaded applications.
6473         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
6475 2020-05-28  Bruno Haible  <bruno@clisp.org>
6477         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
6478         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
6480 2020-05-28  Daiki Ueno  <ueno@gnu.org>
6482         fopen-gnu: make 'b' flag can be used with 'e' on Windows
6483         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
6484         specified on Windows.
6485         * tests/test-fopen-gnu.c (DATA): New define.
6486         (main): Add test for reading binary files with an 'e' flag.
6488 2020-05-27  Bruno Haible  <bruno@clisp.org>
6490         Don't assume that UNICODE is not defined.
6491         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
6492         differently if the application defines the macro UNICODE.
6493         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6494         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
6495         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
6496         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
6497         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
6499 2020-05-27  Bruno Haible  <bruno@clisp.org>
6501         Improve pattern for defining _WIN32_WINNT.
6502         Newer versions of the Windows API may not only add, but also remove API
6503         functions. Therefore, when the user is e.g. building for Windows 10, we
6504         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
6505         use of APIs that were present in Windows 8 but removed in Windows 10.
6506         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
6507         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
6508         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
6509         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6510         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
6512 2020-05-27  Bruno Haible  <bruno@clisp.org>
6514         javacomp: Make more robust in multithreaded applications.
6515         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
6516         * modules/javacomp (Depends-on): Add fopen-gnu.
6518 2020-05-27  Bruno Haible  <bruno@clisp.org>
6520         mountlist: Make more robust in multithreaded applications.
6521         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
6522         to fopen.
6523         * modules/mountlist (Depends-on): Add fopen-gnu.
6525 2020-05-27  Bruno Haible  <bruno@clisp.org>
6527         sethostname: Make more robust in multithreaded applications.
6528         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
6529         * modules/sethostname (Depends-on): Add fopen-gnu.
6531 2020-05-27  Bruno Haible  <bruno@clisp.org>
6533         readutmp: Make more robust in multithreaded applications.
6534         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
6535         * modules/readutmp (Depends-on): Add fopen-gnu.
6537 2020-05-27  Bruno Haible  <bruno@clisp.org>
6539         getpass: Make more robust in multithreaded applications.
6540         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
6541         * modules/getpass (Depends-on): Add fopen-gnu.
6543 2020-05-27  Bruno Haible  <bruno@clisp.org>
6545         getloadavg: Make more robust in multithreaded applications.
6546         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
6547         * modules/getloadavg (Depends-on): Add fopen-gnu.
6549 2020-05-27  Bruno Haible  <bruno@clisp.org>
6551         exclude: Make more robust in multithreaded applications.
6552         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
6553         * modules/exclude (Depends-on): Add fopen-gnu.
6555 2020-05-27  Bruno Haible  <bruno@clisp.org>
6557         bitset: Make more robust in multithreaded applications.
6558         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
6559         'e' flag to fopen.
6560         * modules/bitset (Depends-on): Add fopen-gnu.
6562 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6564         read-file: add RF_SENSITIVE flag
6565         * lib/read-file.h (RF_SENSITIVE): New define.
6566         * lib/read-file.c (fread_file, read_file): Take into account of
6567         RF_SENSITIVE flag.
6568         * modules/read-file (Depends-on): Add explicit_bzero.
6569         This adds an alternative behavior of those functions to explicitly
6570         clear the internal memory block when it becomes unused.  This is
6571         useful for reading sensitive information from a file.
6573 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6575         read-file: add flags to modify reading behavior
6576         * lib/read-file.h (RF_BINARY): New define.
6577         (fread_file, read_file): Take FLAGS argument.
6578         (read_binary_file): Remove.
6579         * lib/read-file.c (internal_read_file): Merge into ...
6580         (read_file): ... here.
6581         * modules/read-file-tests (Files): Add "tests/macros.h".
6582         * tests/test-read-file.c (main): Refactor using ASSERT macro.
6583         * NEWS: Mention this change.
6585 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6587         doc/gnulib-intro.texi: add missing "to" in sentence
6588         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
6589         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
6590         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
6592 2020-05-26  Bruno Haible  <bruno@clisp.org>
6594         count-one-bits: Fix MSVC specific code.
6595         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6596         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
6597         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
6598         using GCC.
6599         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
6600         (__popcnt64): In 32-bit mode, define as an inline function.
6601         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
6603 2020-05-26  Bruno Haible  <bruno@clisp.org>
6605         argz: Avoid name clashes through argz.h.
6606         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6607         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
6608         * lib/argz.h: Don't use __ prefixed identifiers.
6609         (const): Remove definition.
6610         (argz_next): Remove inline definitions.
6612 2020-05-26  Daiki Ueno  <ueno@gnu.org>
6614         read-file: make use of fopen-gnu
6615         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
6616         (read_binary_file): Likewise.
6617         * modules/read-file (Depends-on): Add fopen-gnu.
6619 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6621         getentropy, getrandom: new modules
6622         * MODULES.html.sh (func_all_modules):
6623         * lib/unistd.in.h (getentropy, getrandom):
6624         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
6625         * modules/unistd (unistd.h):
6626         Add support for getentropy, getrandom.
6627         * doc/glibc-functions/getentropy.texi (getentropy):
6628         * doc/glibc-functions/getrandom.texi (getrandom):
6629         These are now fixed on some platforms.
6630         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
6631         * m4/getentropy.m4, m4/getrandom.m4:
6632         * modules/getentropy, modules/getentropy-tests:
6633         * modules/getrandom, modules/getrandom-tests:
6634         * tests/test-getentropy.c, tests/test-getrandom.c:
6635         New files.
6637 2020-05-25  Bruno Haible  <bruno@clisp.org>
6639         Add missing C99 dependencies.
6640         Reported by Paul Smith <psmith@gnu.org> in
6641         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
6642         * modules/assert (Depends-on): Add c99.
6643         * modules/filenamecat-lgpl (Depends-on): Likewise.
6644         * modules/libc-config (Depends-on): Likewise.
6645         * modules/mktime (Depends-on): Likewise.
6646         * modules/random_r (Depends-on): Likewise.
6647         * modules/regex (Depends-on): Likewise.
6648         * modules/scratch_buffer (Depends-on): Likewise.
6649         * modules/timespec-add (Depends-on): Likewise.
6650         * modules/timespec-sub (Depends-on): Likewise.
6651         * modules/verify (Depends-on): Likewise.
6653 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6655         explicit_bzero-tests: pacify -Wmissing-declarations
6656         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
6657         Now static.
6659 2020-05-24  Bruno Haible  <bruno@clisp.org>
6661         fopen-gnu: Add tests.
6662         * tests/test-fopen-gnu.c: New file.
6663         * modules/fopen-gnu-tests: New file.
6665         fopen-gnu: New module.
6666         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
6667         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
6668         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
6669         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
6670         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
6671         * modules/fopen-gnu: New file.
6672         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
6674 2020-05-24  Bruno Haible  <bruno@clisp.org>
6676         open, openat: Really support O_CLOEXEC.
6677         * lib/open.c (open): When have_cloexec is still undecided, do pass a
6678         O_CLOEXEC flag to orig_open.
6679         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
6680         pass a O_CLOEXEC flag to orig_openat.
6681         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
6682         * modules/open-tests (Depends-on): Add fcntl.
6683         * modules/openat-tests (Depends-on): Likewise.
6684         * modules/fcntl-safer-tests (Depends-on): Likewise.
6686 2020-05-24  Bruno Haible  <bruno@clisp.org>
6688         fopen: Fix the trailing slash workaround.
6689         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
6690         write access. Pass the right flags to open().
6691         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
6693 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6695         assure: new macro ‘affirm’
6696         * lib/assure.h: Include verify.h.
6697         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
6698         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
6699         and commentary by Bruno Haible in:
6700         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
6701         * modules/assure (Depends-on:): Add verify.
6703 2020-05-23  Bruno Haible  <bruno@clisp.org>
6705         calloc-gnu: Make test work in non-flat address spaces.
6706         Uses code by Paul Eggert.
6707         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
6708         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
6710 2020-05-23  Bruno Haible  <bruno@clisp.org>
6712         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
6713         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
6714         AC_RUN_IFELSE invocations.
6716 2020-05-23  Bruno Haible  <bruno@clisp.org>
6718         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
6719         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
6720         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
6721         don't have it.
6722         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
6723         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
6724         don't have it.
6725         * lib/isnanf-nolibm.h (__has_builtin): New macro.
6726         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6727         it.
6728         * lib/isnanl-nolibm.h (__has_builtin): New macro.
6729         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6730         it.
6731         * lib/math.in.h (__has_builtin): New macro.
6732         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6733         it.
6734         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6735         it.
6736         (isnan): Don't use the builtins on clang versions that don't have
6737         __builtin_isnanf and __builtin_isnanl.
6739 2020-05-23  Bruno Haible  <bruno@clisp.org>
6741         calloc-gnu: Avoid wrong configure results with clang.
6742         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
6743         'volatile', to defeat compiler optimizations.
6745 2020-05-23  Bruno Haible  <bruno@clisp.org>
6747         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
6748         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
6749         'long double' values by reference, with values taken from a statically
6750         allocated array.
6752 2020-05-23  Bruno Haible  <bruno@clisp.org>
6754         findprog-in: Ignore directories.
6755         Reported by Frederick Eaton via Dmitry Goncharov in
6756         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
6757         * lib/findprog-in.c (find_in_given_path): When the file found is a
6758         directory, set errno to EACCES and, during a PATH search, continue
6759         searching.
6760         * modules/findprog-in (Depends-on): Add sys_stat, stat.
6762 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6764         verify: document ‘assume’ better
6765         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
6767 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
6769         gendocs: Clarify licenses for templates.
6770         * doc/gendocs_template: Add a GNU All-Permissive license notice
6771         and bump Parent-Version.
6772         * doc/gendocs_template_min: Add a GNU All-Permissive license
6773         notice and copy the explanatory comment about the license notice
6774         at the bottom from gendocs_template.
6776 2020-05-21  Bruno Haible  <bruno@clisp.org>
6778         group-member: Relicense under LGPLv2+.
6779         Jim Meyering's approval is in
6780         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
6781         Paul Eggert's approval is in
6782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
6783         Eric Blake's approval is in
6784         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
6785         * modules/group-member (License): Change to LGPLv2+.
6787 2020-05-21  Bruno Haible  <bruno@clisp.org>
6789         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
6790         Reported by Tim Rühsen in
6791         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6792         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
6794 2020-05-21  Bruno Haible  <bruno@clisp.org>
6796         regex: Avoid wrong configure results with "clang -fsanitize=leak".
6797         Reported by Tim Rühsen in
6798         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6799         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
6800         before returning with status 0.
6802 2020-05-21  Bruno Haible  <bruno@clisp.org>
6804         glob: Avoid wrong configure results with "clang -fsanitize=leak".
6805         Reported by Tim Rühsen in
6806         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6807         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
6809 2020-05-21  Bruno Haible  <bruno@clisp.org>
6811         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
6812         Reported by Tim Rühsen in
6813         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6814         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
6815         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
6816         respectively.
6818 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
6820         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
6821         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
6823 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6825         ftoastr: fix ifndef typo
6826         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
6828 2020-05-19  Bruno Haible  <bruno@clisp.org>
6830         havelib: Tweak documentation.
6831         * doc/havelib.texi (Searching for Libraries): Fix typo.
6833 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6835         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
6836         This was needed earlier because modules had to import the main script,
6837         but that is no longer true.  Rename the script so that it is
6838         consistent with all other scripts in gnulib and uses hyphens.
6839         * build-aux/vcs_to_changelog.py: Rename to...
6840         * build-aux/vcs-to-changelog.py: ... this.
6841         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
6842         * modules/vcs-to-changelog: Likewise.
6844 2020-05-17  Bruno Haible  <bruno@clisp.org>
6846         Clarify intended usage of the license file modules.
6847         Reported by Asher Gordon <AsDaGo@posteo.net> in
6848         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
6849         * doc/licenses-texi.texi (License Texinfo sources): Mention the
6850         GNU AGPL. Explain the intended usage of the modules.
6851         * modules/fdl (Notice): Discourage use as a module.
6852         * modules/fdl-1.3 (Notice): Likewise.
6854 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
6856         hash: add hash_xinsert
6857         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
6859 2020-05-16  Bruno Haible  <bruno@clisp.org>
6861         findprog-lgpl: Fix link error (existing since 2008-09-02).
6862         * modules/findprog-lgpl (Makefile.am): Arrange to compile
6863         findprog-lgpl.c, not findprog.c.
6864         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
6865         XNMALLOC.
6867 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
6869         c-stack: pacify -Wunused-result when DEBUG
6870         Problem reported by Marc Nieper-Wißkirchen in:
6871         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
6872         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
6873         Explicitly ignore write failures.
6875 2020-05-13  Jim Meyering  <meyering@fb.com>
6877         announce-gen: improve a comment
6878         * build-aux/announce-gen: Improve comment.
6880 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6882         xalloc: pacify -Wanalyzer-possible-null-argument
6883         Problem reported for GCC 10.1.0 by Bruno Haible in:
6884         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
6885         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
6886         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
6887         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
6889 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6891         careadlinkat: fix GCC 10 workaround
6892         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6893         Massage the code so that it’s closer to what it was before
6894         the GCC 10.1.0 workaround was introduced.  This fixes
6895         a loop when !buffer and the bug workaround is in effect.
6896         Remove unnecessary casts.  Defend in a different way
6897         against (buffer && !buffer_size), by adding at least 1
6898         to buf_size each time through the loop.
6900 2020-05-10  Bruno Haible  <bruno@clisp.org>
6902         doc: Mark HP-UX as unsupported.
6903         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
6905 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6907         careadlinkat: limit GCC workaround
6908         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
6909         10.1.0 and later, since the workaround is pretty bad and the GCC
6910         bug should get fixed.
6912 2020-05-10  Bruno Haible  <bruno@clisp.org>
6914         havelib: Enhance documentation.
6915         * doc/havelib.texi (Searching for Libraries): Mention the bad
6916         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
6918 2020-05-10  Bruno Haible  <bruno@clisp.org>
6920         attribute: Clarify list of attributes.
6921         * lib/attribute.h: Reorder the list of attributes, and group them by
6922         purpose.
6924 2020-05-10  Bruno Haible  <bruno@clisp.org>
6926         string: Fix compilation error in C++ mode.
6927         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
6928         _GL_WARN_ON_USE.
6929         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
6930         instead of _GL_WARN_ON_USE.
6932 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
6934         announce-gen: add support for dist-lzip
6935         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
6937 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6939         manywarnings: port to GCC 10.1
6940         * build-aux/gcc-warning.spec:
6941         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
6942         Add GCC 10.1.0 warnings.
6944         careadlinkat: pacify -Wreturn-local-addr
6945         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6946         Pacify gcc 10’s -Wreturn-local-addr option.
6947         Simplify some of the later code.
6949 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6951         attribute: remove ATTRIBUTE_DEPRECATED
6952         * lib/attribute.h: Improve recently-added comments, mostly
6953         by shortening them (use active voice, etc.).
6954         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
6955         Problem reported by Bruno Haible in:
6956         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
6958 2020-05-09  Bruno Haible  <bruno@clisp.org>
6960         attribute: Add comments.
6961         * lib/attribute.h: Document each macro.
6963 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
6965         bitset: use the attribute module
6966         * modules/bitset: Depend on 'attribute'.
6967         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
6968         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
6969         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
6970         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
6972 2020-05-09  Bruno Haible  <bruno@clisp.org>
6974         c-stack: Fix warning when DEBUG is enabled.
6975         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6976         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
6977         * lib/c-stack.c: Include <stdio.h>.
6979 2020-05-09  Bruno Haible  <bruno@clisp.org>
6981         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
6982         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
6983         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6984         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6985         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6986         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6987         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6988         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6989         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6990         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
6991         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6992         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6993         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6995 2020-05-09  Bruno Haible  <bruno@clisp.org>
6997         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
6998         Reported by Akim Demaille in
6999         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
7000         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
7001         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7002         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7004 2020-05-09  Bruno Haible  <bruno@clisp.org>
7006         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
7007         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
7008         that usually comes from m4/gnulib-common.m4.
7009         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7011 2020-05-09  Bruno Haible  <bruno@clisp.org>
7013         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
7014         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
7015         that usually comes from m4/gnulib-common.m4.
7016         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7017         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7018         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7020 2020-05-09  Bruno Haible  <bruno@clisp.org>
7022         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
7023         * lib/uchar.in.h (char16_t): Define as macro if
7024         GNULIB_OVERRIDES_CHAR16_T.
7025         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
7026         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
7027         (gl_UCHAR_H): Invoke them.
7028         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
7029         GNULIB_OVERRIDES_CHAR32_T.
7030         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
7031         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
7032         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
7033         GNULIB_OVERRIDES_CHAR32_T.
7035 2020-05-09  Bruno Haible  <bruno@clisp.org>
7037         Macro tweaks.
7038         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
7039         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
7041 2020-05-08  Bruno Haible  <bruno@clisp.org>
7043         c32rtomb: Avoid compilation failure on Haiku.
7044         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
7045         inline definitions.
7046         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
7048 2020-05-08  Bruno Haible  <bruno@clisp.org>
7050         mbrtoc32: Avoid compilation failure on Haiku.
7051         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
7052         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
7053         AC_CHECK_FUNCS_ONCE.
7054         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
7056 2020-05-08  Bruno Haible  <bruno@clisp.org>
7058         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
7059         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
7061 2020-05-08  Bruno Haible  <bruno@clisp.org>
7063         list: Update documentation.
7064         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7065         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
7066         * doc/containers.texi (Container data types): Document the new list
7067         operations and their complexity.
7069 2020-05-08  Bruno Haible  <bruno@clisp.org>
7071         ignore-value tests: Use module 'attribute'.
7072         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
7073         * tests/test-ignore-value.c: Include attribute.h.
7074         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
7075         * modules/ignore-value-tests (Depends-on): Add attribute.
7077 2020-05-08  Bruno Haible  <bruno@clisp.org>
7079         uniname/uniname: Use module 'attribute'.
7080         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
7081         * lib/uniname/uninames.h: Regenerated.
7082         * lib/uniname/uniname.c: Include attribute.h.
7083         * modules/uniname/uniname (Depends-on): Add attribute.
7085 2020-05-08  Bruno Haible  <bruno@clisp.org>
7087         c32rtomb: Use module 'attribute'.
7088         * lib/c32rtomb.c: Include attribute.h.
7089         (FALLTHROUGH): Remove macro.
7090         * modules/c32rtomb (Depends-on): Add attribute.
7092 2020-05-08  Bruno Haible  <bruno@clisp.org>
7094         xsize: Use module 'attribute'.
7095         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
7096         * modules/xsize (Depends-on): Add attribute.
7098 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7100         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
7102         * lib/attribute.h: Minor style fixes.
7104         Fix version-etc glitch on OpenIndiana
7105         Problem reported by Mats Erik Andersson in:
7106         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
7107         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
7108         that now clashes with gnulib-common.h.  All uses changed.
7110 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7112         attribute: new module
7113         This simplifies use of GCC and C2X attributes like ‘deprecated’.
7114         * MODULES.html.sh: Add attribute.
7115         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
7116         * doc/gnulib.texi (Particular Modules): Add Attributes.
7117         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
7118         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
7119         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
7120         * lib/vasnprintf.c:
7121         Include attribute.h, and let it define FALLTHROUGH.
7122         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
7123         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
7124         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
7125         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
7126         This is a copy since Gawk doesn’t use Gnulib.
7127         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
7128         is incompatible with gl_COMMON_BODY’s.  All uses changed.
7129         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
7130         Keep the existing FALLTHROUGH definition since Glibc might use it,
7131         and it does no harm to Gnulib’s FALLTHROUGH.
7132         * lib/fts_.h, lib/inttostr.h:
7133         (__GNUC_PREREQ): Remove; no longer needed.
7134         (__attribute_warn_unused_result__): Remove.  All uses
7135         replaced by _GL_ATTRIBUTE_NODISCARD.
7136         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
7137         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
7138         __attribute__ ((__warn_unused_result__)), for forward
7139         compatibility to C2X.
7140         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
7141         _GL_ATTRIBUTE_NODISCARD.
7142         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
7143         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
7144         replaced by gl_COMMON_BODY’s implementation, which has a
7145         slightly different signature.
7146         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
7147         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
7148         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
7149         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
7150         No doubt all uses should be replaced, at some point.
7151         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
7152         (_Noreturn): Use it.
7153         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
7154         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
7155         (_GL_ATTRIBUTE_COLD)
7156         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
7157         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
7158         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
7159         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
7160         (_GL_ATTRIBUTE_MAYBE_UNUSED)
7161         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
7162         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
7163         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
7164         (_GL_ATTRIBUTE_RETURNS_NONNULL)
7165         (_GL_ATTRIBUTE_SENTINEL): New macros.
7166         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
7167         * modules/fnmatch, modules/freopen-safer, modules/fts:
7168         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
7169         * modules/quotearg, modules/savewd:
7170         * modules/unistdio/u16-u16-vasnprintf:
7171         * modules/unistdio/u16-vasnprintf:
7172         * modules/unistdio/u32-u32-vasnprintf:
7173         * modules/unistdio/u32-vasnprintf:
7174         * modules/unistdio/u8-u8-vasnprintf:
7175         * modules/unistdio/u8-vasnprintf:
7176         * modules/unistdio/ulc-vasnprintf:
7177         * modules/unistr/u8-uctomb, modules/vasnprintf:
7178         (Depends-on:): Add attribute module.
7180 2020-05-03  Bruno Haible  <bruno@clisp.org>
7182         bison: Fix today's commit.
7183         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
7185 2020-05-03  Bruno Haible  <bruno@clisp.org>
7187         list-c++: Add get_first, get_last, set_first, set_last operations.
7188         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
7189         set_first, set_last.
7190         * lib/gl_list.h: Tweak comments.
7192 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
7194         bison: rely on bison's %require to check a version requirement
7195         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
7196         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
7197         enough of not.
7198         So far it is the only know Yacc tool that supports '%require'.
7199         Other yaccs will actually even choke on seeing the -o option after the
7200         input file name.
7201         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
7203 2020-05-02  Bruno Haible  <bruno@clisp.org>
7205         list: Add get_first, get_last, set_first, set_last operations.
7206         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
7207         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
7208         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
7210 2020-05-02  Bruno Haible  <bruno@clisp.org>
7212         list: Remove redundant code for remove_first and remove_last operations.
7213         * lib/gl_list.h (struct gl_list_implementation): Remove fields
7214         remove_first, remove_last.
7215         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
7216         * lib/gl_array_list.c: Revert last change.
7217         * lib/gl_carray_list.c: Likewise.
7218         * lib/gl_anylinked_list2.h: Likewise.
7219         * lib/gl_linked_list.c: Likewise.
7220         * lib/gl_linkedhash_list.c: Likewise.
7221         * lib/gl_anytree_list2.h: Likewise.
7222         * lib/gl_avltree_list.c: Likewise.
7223         * lib/gl_avltreehash_list.c: Likewise.
7224         * lib/gl_rbtree_list.c: Likewise.
7225         * lib/gl_rbtreehash_list.c: Likewise.
7226         * lib/gl_sublist.c: Likewise.
7228 2020-05-02  Bruno Haible  <bruno@clisp.org>
7230         bison-i18n: Add support for cross-compilation.
7231         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
7232         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
7233         via Akim Demaille <akim@lrde.epita.fr>.
7234         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
7235         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
7236         Don't use bison's --print-localedir option when cross-compiling.
7237         Also, fix an error message and a comment.
7239 2020-05-01  Bruno Haible  <bruno@clisp.org>
7241         list: Add remove_first and remove_last operations.
7242         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7243         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
7244         * lib/gl_list.h (struct gl_list_implementation): Add fields
7245         remove_first, remove_last.
7246         (gl_list_remove_first, gl_list_remove_last): New functions.
7247         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
7248         functions, based on gl_array_remove_at.
7249         (gl_array_list_implementation): Implement the new operations.
7250         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
7251         New functions, based on gl_carray_remove_at.
7252         (gl_carray_list_implementation): Implement the new operations.
7253         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
7254         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
7255         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
7256         new operations.
7257         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
7258         Likewise.
7259         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
7260         New functions, based on gl_tree_remove_at.
7261         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
7262         new operations.
7263         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7264         Likewise.
7265         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
7266         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
7267         Likewise.
7268         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
7269         New functions, based on gl_sublist_remove_at.
7270         (gl_sublist_list_implementation): Implement the new operations.
7271         * lib/gl_list.hh (class gl_List): Add methods remove_first,
7272         remove_last.
7273         * tests/test-array_list.c (main): Test also gl_list_remove_first and
7274         gl_list_remove_last.
7275         * tests/test-avltree_list.c (main): Likewise.
7276         * tests/test-avltreehash_list.c (main): Likewise.
7277         * tests/test-carray_list.c (main): Likewise.
7278         * tests/test-linked_list.c (main): Likewise.
7279         * tests/test-linkedhash_list.c (main): Likewise.
7280         * tests/test-rbtree_list.c (main): Likewise.
7281         * tests/test-rbtreehash_list.c (main): Likewise.
7283 2020-05-01  Bruno Haible  <bruno@clisp.org>
7285         parse-datetime: Fix a build failure with an older bison version.
7286         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
7287         parse-datetime.tab.c if a suitable version of bison was not found.
7289 2020-05-01  Bruno Haible  <bruno@clisp.org>
7291         bison: New module.
7292         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
7293         m4/parse-datetime.m4.
7294         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
7295         * modules/bison: New file.
7296         * modules/parse-datetime (Files): Remove m4/bison.m4.
7297         (Depends-on): Add bison.
7299 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
7301         Update users.txt.
7302         * users.txt: Add poke.
7304 2020-04-28  Bruno Haible  <bruno@clisp.org>
7306         posix_spawn_file_actions_addfchdir tests: Enhance test.
7307         * tests/test-posix_spawn5.c: Include findprog.h.
7308         (test): New function, extracted from main.
7309         (main): Invoke it. Also, invoke it with a program name such as
7310         "bin/pwd".
7311         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
7312         findprog.
7314 2020-04-28  Bruno Haible  <bruno@clisp.org>
7316         posix_spawn_file_actions_addchdir tests: Enhance test.
7317         * tests/test-posix_spawn4.c: Include findprog.h.
7318         (test): New function, extracted from main.
7319         (main): Invoke it. Also, invoke it with a program name such as
7320         "bin/pwd".
7321         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
7322         findprog.
7324 2020-04-28  Bruno Haible  <bruno@clisp.org>
7326         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
7327         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
7328         access elements of the wrong union member.
7330 2020-04-27  Bruno Haible  <bruno@clisp.org>
7332         getdate: Remove deprecated module.
7333         * modules/getdate: Remove file.
7334         * doc/getdate.texi: Remove file.
7335         * lib/getdate.h: Remove file.
7336         * NEWS: Mention the removal.
7338 2020-04-27  Bruno Haible  <bruno@clisp.org>
7340         realloc: Remove deprecated module.
7341         * modules/realloc: Remove file.
7342         * NEWS: Mention the removal.
7344 2020-04-27  Bruno Haible  <bruno@clisp.org>
7346         calloc: Remove deprecated module.
7347         * modules/calloc: Remove file.
7348         * NEWS: Mention the removal.
7350 2020-04-27  Bruno Haible  <bruno@clisp.org>
7352         malloc: Remove deprecated module.
7353         * modules/malloc: Remove file.
7354         * NEWS: Mention the removal.
7356 2020-04-27  Bruno Haible  <bruno@clisp.org>
7358         fnmatch-posix: Remove deprecated module.
7359         * modules/fnmatch-posix: Remove file.
7360         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
7361         * NEWS: Mention the removal.
7363 2020-04-27  Bruno Haible  <bruno@clisp.org>
7365         pipe: Remove deprecated module.
7366         * modules/pipe: Remove file.
7367         * lib/pipe.h: Remove file.
7368         * NEWS: Mention the removal.
7370 2020-04-27  Bruno Haible  <bruno@clisp.org>
7372         getopt: Remove deprecated module.
7373         * modules/getopt: Remove file.
7374         * NEWS: Mention the removal.
7376 2020-04-27  Bruno Haible  <bruno@clisp.org>
7378         remove-dest-slash: Remove deprecated module.
7379         * modules/rename-dest-slash: Remove file.
7380         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
7381         Update.
7382         * NEWS: Mention the removal.
7384 2020-04-27  Bruno Haible  <bruno@clisp.org>
7386         unictype/bidicategory-*: Remove deprecated modules.
7387         * modules/unictype/bidicategory-all: Remove file.
7388         * modules/unictype/bidicategory-byname: Remove file.
7389         * modules/unictype/bidicategory-name: Remove file.
7390         * modules/unictype/bidicategory-of: Remove file.
7391         * modules/unictype/bidicategory-test: Remove file.
7392         * MODULES.html.sh (Unicode string functions): Update.
7393         * NEWS: Mention the removals.
7395 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7397         Tune fts for FTS_LOGICAL+FTS_NOSTAT
7398         From a suggestion by Askar Safin in:
7399         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
7400         * lib/fts.c (fts_build): If file types are known, optimize
7401         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
7402         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
7403         non-directories.
7405 2020-04-19  Bruno Haible  <bruno@clisp.org>
7407         vasnprintf: Add support for printing wide characters using escapes.
7408         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
7409         (wctomb_fallback): New function.
7410         (local_wctomb): New function.
7411         (local_wcrtomb): New function or macro.
7412         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
7413         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
7414         %lc.
7416 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7418         fts: remove NOSTAT_LEAF_OPTIMIZATION
7419         It caused ‘find’ and ‘du’ to dump core, and it was useful
7420         only for obsolescent Linux filesystems anyway.  Problem reported in:
7421         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
7422         Quite possibly there is still a serious underlying fts bug with
7423         tight-loop-check and mutating file systems, but if so this patch
7424         should cause the bug to be triggered less often.
7425         * lib/fts.c (enum leaf_optimization): Remove
7426         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
7427         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
7428         (leaf_optimization): Remove special cases for ReiserFS and XFS.
7429         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
7430         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
7431         Remove.  All uses removed.
7433 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7435         explicit_bzero: Improve code style.
7436         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
7438 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7440         explicit_bzero: On native Windows, use SecureZeroMemory().
7441         * lib/explicit_bzero.c: Include <windows.h>.
7442         (explicit_bzero): On native Windows, use SecureZeroMemory.
7444 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7446         explicit_bzero: Use memset_s() when available.
7447         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
7448         (explicit_bzero): Use memset_s when available.
7449         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
7451 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7453         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
7454         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
7455         free() that overwrite the memory with canaries.
7457 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
7459         bootstrap: recommend git submodule update --init
7460         Reported by Bruno Haible.
7461         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
7462         * build-aux/bootstrap: recommand "git submodule update --init"
7463         rather than "git submodule init".
7465 2020-04-12  Bruno Haible  <bruno@clisp.org>
7467         explicit_bzero: Add tests.
7468         * tests/test-explicit_bzero.c: New file.
7469         * modules/explicit_bzero-tests: New file.
7471 2020-04-11  Bruno Haible  <bruno@clisp.org>
7473         explicit_bzero: Relicense under LGPLv2+.
7474         Approved by Paul Eggert.
7475         * modules/explicit_bzero (License): Change to LGPLv2+.
7477 2020-04-10  Bruno Haible  <bruno@clisp.org>
7479         findprog, relocatable-prog: Ignore directories during PATH search.
7480         Reported by Frederick Eaton via Dmitry Goncharov in
7481         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7483         * lib/findprog.c (find_in_path): When the file found in a PATH element
7484         is a directory, continue searching.
7485         * modules/findprog (Depends-on): Add sys_stat, stat.
7486         * modules/findprog-lgpl (Depends-on): Likewise.
7488         * lib/progreloc.c (maybe_executable): When the file found in a PATH
7489         element is a directory, continue searching.
7490         * lib/relocwrapper.c: Update comments.
7491         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
7492         (configure.ac-early): New section.
7494 2020-04-10  Bruno Haible  <bruno@clisp.org>
7496         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
7497         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7498         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
7499         * MODULES.html.sh: In a git-less tarball, use the date of the first
7500         ChangeLog entry.
7502 2020-04-04  Bruno Haible  <bruno@clisp.org>
7504         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
7505         * m4/gettext.m4: Fix comments regarding the gettext library.
7506         * m4/intl-thread-locale.m4: Likewise.
7507         * m4/intlmacosx.m4: Likewise.
7508         * m4/lcmessage.m4: Likewise.
7509         * m4/nls.m4: Likewise.
7510         * m4/po.m4: Likewise.
7511         * m4/progtest.m4: Likewise.
7513 2020-04-04  Jim Meyering  <meyering@fb.com>
7515         maint: remove a stray inter-word space in a 6x-repeated comment
7516         Induce the changes by running this:
7517           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
7518         * build-aux/announce-gen: Change "by  perl" to "by perl".
7519         * build-aux/gitlog-to-changelog: Likewise.
7520         * build-aux/prefix-gnulib-mk: Likewise.
7521         * build-aux/update-copyright: Likewise.
7522         * build-aux/useless-if-before-free: Likewise.
7523         * tests/test-update-copyright.sh: Likewise.
7525 2020-03-28  Bruno Haible  <bruno@clisp.org>
7527         Use module 'filename' instead of module 'dosname'.
7529         * lib/at-func.c: Include filename.h instead of dosname.h.
7530         * lib/unlinkat.c: Likewise.
7531         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
7532         * modules/areadlinkat-with-size (Depends-on): Likewise.
7533         * modules/faccessat (Depends-on): Likewise.
7534         * modules/fchmodat (Depends-on): Likewise.
7535         * modules/fchownat (Depends-on): Likewise.
7536         * modules/fstatat (Depends-on): Likewise.
7537         * modules/mkdirat (Depends-on): Likewise.
7538         * modules/mkfifoat (Depends-on): Likewise.
7539         * modules/readlinkat (Depends-on): Likewise.
7540         * modules/selinux-at (Depends-on): Likewise.
7541         * modules/symlinkat (Depends-on): Likewise.
7542         * modules/unlinkat (Depends-on): Likewise.
7543         * modules/utimensat (Depends-on): Likewise.
7545         * lib/at-func2.c: Include filename.h instead of dosname.h.
7546         * modules/linkat (Depends-on): Add filename. Remove dosname.
7547         * modules/renameatu (Depends-on): Likewise.
7549         * lib/canonicalize.c: Include filename.h instead of dosname.h.
7550         * lib/canonicalize-lgpl.c: Likewise.
7551         * modules/canonicalize (Depends-on): Add filename.
7552         * modules/canonicalize-lgpl (Depends-on): Likewise.
7554         * lib/dirname.h: Include filename.h instead of dosname.h.
7555         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
7557         * lib/fchdir.c: Include filename.h instead of dosname.h.
7558         * modules/fchdir (Depends-on): Add filename. Remove dosname.
7560         * lib/openat.c: Include filename.h instead of dosname.h.
7561         * modules/openat (Depends-on): Add filename. Remove dosname.
7563         * lib/rmdir.c: Include filename.h instead of dosname.h.
7564         * modules/rmdir (Depends-on): Add filename. Remove dosname.
7566         * lib/savewd.c: Include filename.h instead of dosname.h.
7567         * modules/savewd (Depends-on): Add filename. Remove dosname.
7569         * lib/unlink.c: Include filename.h instead of dosname.h.
7570         * modules/unlink (Depends-on): Add filename. Remove dosname.
7572         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
7573         * lib/relocwrapper.c: Update comments.
7575         * modules/lstat (Depends-on): Remove dosname.
7577 2020-03-28  Bruno Haible  <bruno@clisp.org>
7579         dosname: Redirect to 'filename'.
7580         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7581         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
7582         * lib/dosname.h: Remove all definitions. Just include filename.h.
7583         * modules/dosname (Status, Notice): Mark as deprecated.
7584         (Depends-on): Add 'filename'.
7586 2020-03-28  Bruno Haible  <bruno@clisp.org>
7588         dosname: Change IS_RELATIVE_FILE_NAME.
7589         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
7590         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
7591         * NEWS: Mention the change.
7593 2020-03-28  Bruno Haible  <bruno@clisp.org>
7595         filename: Copy some definitions from module 'dosname'.
7596         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
7597         (HAS_DEVICE): Document macro.
7598         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
7599         (IS_ABSOLUTE_FILE_NAME): Consider
7600         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
7601         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
7602         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
7603         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
7604         IS_PATH_WITH_DIR.
7605         (DllMain): Update.
7606         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
7607         IS_PATH_WITH_DIR.
7608         (find_executable): Update.
7609         * NEWS: Document the deprecations.
7611 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7613         getopt-posix: port __GETOPT_PREFIX to macOS
7614         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
7615         Define to work around a problem with asm on macOS (Bug#40205).
7617 2020-03-22  Bruno Haible  <bruno@clisp.org>
7619         MODULES.html.sh: Add support for reproducible builds.
7620         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7621         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
7622         * MODULES.html.sh: Print the date of the last gnulib commit, not the
7623         current date.
7625 2020-03-22  Bruno Haible  <bruno@clisp.org>
7627         Several modules: Depend on stat.
7628         * modules/acl-permissions (Depends-on): Add stat.
7629         * modules/canonicalize (Depends-on): Likewise.
7630         * modules/file-has-acl (Depends-on): Likewise.
7631         * modules/fstat (Depends-on): Likewise.
7632         * modules/fstatat (Depends-on): Likewise.
7633         * modules/glob (Depends-on): Likewise.
7634         * modules/javacomp (Depends-on): Likewise.
7635         * modules/linkat (Depends-on): Likewise.
7636         * modules/mkdir (Depends-on): Likewise.
7637         * modules/pt_chown (Depends-on): Likewise.
7638         * modules/ptsname_r (Depends-on): Likewise.
7639         * modules/readlinkat (Depends-on): Likewise.
7640         * modules/rename (Depends-on): Likewise.
7641         * modules/renameatu (Depends-on): Likewise.
7642         * modules/tmpdir (Depends-on): Likewise.
7643         * modules/utimens (Depends-on): Likewise.
7644         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
7645         * modules/same (Depends-on): Remove stat.
7647 2020-03-22  Bruno Haible  <bruno@clisp.org>
7649         acl-permissions: Improve autoconf macro.
7650         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
7651         more reliably.
7653 2020-03-22  Bruno Haible  <bruno@clisp.org>
7655         file-has-acl: Fix module description.
7656         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
7657         (Depends-on): Depend on acl-permissions unconditionally.
7659 2020-03-21  Bruno Haible  <bruno@clisp.org>
7661         unlink: Ensure errno also on native Windows.
7662         * modules/unlink (Depends-on): Add malloc-posix.
7664 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7666         unlink: fix malloc errno typo
7667         Problem reported by Tim Rühsen in:
7668         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
7669         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
7671 2020-03-16  Bruno Haible  <bruno@clisp.org>
7673         *printf-posix: Fix m4 error (regression from 2020-03-08).
7674         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
7675         brackets in AC_COMPILE_IFELSE invocation.
7677 2020-03-08  Bruno Haible  <bruno@clisp.org>
7679         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
7680         * modules/crypto/af_alg (Depends-on): Add fstat.
7681         * modules/renameatu (Depends-on): Likewise.
7682         * modules/same (Depends-on): Likewise.
7683         * modules/term-style-control (Depends-on): Likewise.
7685 2020-03-08  Bruno Haible  <bruno@clisp.org>
7687         *printf-posix: Document why it's overridden on some glibc systems.
7688         Reported by Adrian Bunk <bunk@stusta.de> in
7689         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
7690         * doc/posix-functions/*printf.texi: Document the problem with the %n
7691         directive on some glibc systems.
7692         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
7693         the cross-compilation guesses accordingly.
7695 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7697         open, openat: port to (O_RDWR | O_RDONLY) != 0
7698         Potential portability problem reported by Dan Gohman in:
7699         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
7700         * lib/open.c (open):
7701         * lib/openat.c (rpl_openat):
7702         Don’t assume O_RDONLY is disjoint from O_RDWR.
7704 2020-03-07  Bruno Haible  <bruno@clisp.org>
7706         openat: Fix theoretically possible issue on GNU/Hurd.
7707         Reported by Dan Gohman <sunfish@mozilla.com> in
7708         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
7709         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
7710         ignore the bits that are also set in O_RDONLY.
7712 2020-02-24  Bruno Haible  <bruno@clisp.org>
7714         getloadavg: Don't use /usr/local when cross-compiling on AIX.
7715         Reported by Jens Rehsack <sno@netbsd.org> in
7716         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
7717         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
7718         cross-compiling.
7720 2020-02-24  Bruno Haible  <bruno@clisp.org>
7722         fcntl: Add witness of gnulib override.
7723         Reported by Jens Rehsack <sno@netbsd.org> in
7724         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
7725         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
7726         macros.
7728 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
7730         Update users.txt.
7731         * users.txt: Add datamash, time.
7733 2020-02-23  Bruno Haible  <bruno@clisp.org>
7735         uni*/base: Use 'restrict'.
7736         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
7737         from lib/regex.h.
7738         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
7739         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
7740         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
7741         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
7742         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
7743         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
7744         '_UC_RESTRICT'.
7745         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
7746         u32_conv_to_encoding): Use '_UC_RESTRICT'.
7747         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
7748         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
7749         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
7750         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
7751         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
7752         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
7753         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
7754         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
7755         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
7756         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
7757         '_UC_RESTRICT'.
7758         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
7759         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
7760         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
7761         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
7762         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
7763         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
7764         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
7765         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
7767 2020-02-23  Bruno Haible  <bruno@clisp.org>
7769         glob, spawn: Use improved '_Restrict_' definition.
7770         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
7771         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
7773 2020-02-23  Bruno Haible  <bruno@clisp.org>
7775         crypto/gc: Use 'restrict'.
7776         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
7777         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
7779         crypto/hmac-*: Use 'restrict'.
7780         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
7781         'restrict'.
7782         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
7783         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
7784         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
7785         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
7787         crypto/sm3: Use 'restrict'.
7788         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
7789         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
7791         crypto/*-buffer: Use 'restrict'.
7792         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
7793         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
7795         crypto/sha512-buffer: Use 'restrict'.
7796         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
7797         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
7798         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
7800         crypto/sha256-buffer: Use 'restrict'.
7801         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
7802         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
7803         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
7805         crypto/sha1-buffer: Use 'restrict'.
7806         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
7807         'restrict'.
7808         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
7810         crypto/md5-buffer: Use 'restrict'.
7811         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
7812         'restrict'.
7813         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
7815         crypto/md4: Use 'restrict'.
7816         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
7817         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
7819         crypto/md2: Use 'restrict'.
7820         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
7821         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
7823         crypto/rijndael: Use 'restrict'.
7824         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
7825         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
7826         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
7828         crypto/arctwo: Use 'restrict'.
7829         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
7830         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
7832         crypto/arcfour: Use 'restrict'.
7833         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
7834         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
7836         careadlinkat: Use 'restrict'.
7837         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
7838         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
7839         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
7841         regex-quote: Use 'restrict'.
7842         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
7843         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
7845         system-quote: Use 'restrict'.
7846         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
7847         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
7849         sh-quote: Use 'restrict'.
7850         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
7851         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
7853         quotearg: Use 'restrict'.
7854         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
7855         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
7857         parse-datetime: Use 'restrict'.
7858         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
7859         'restrict'.
7860         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
7862         nstrftime: Use 'restrict'.
7863         * lib/strftime.h (nstrftime): Use 'restrict'.
7864         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
7866         mbstok_r: Use 'restrict'.
7867         * lib/string.in.h (mbstok_r): Use 'restrict'.
7869         xmemcoll: Use 'restrict'.
7870         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
7871         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
7873         memcoll: Use 'restrict'.
7874         * lib/memcoll.h (memcoll): Use 'restrict'.
7875         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
7877         vasnprintf: Use 'restrict'.
7878         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
7879         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
7881         c-vasnprintf: Use 'restrict'.
7882         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
7883         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
7885         c-vsnprintf: Use 'restrict'.
7886         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
7887         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
7889         c-snprintf: Use 'restrict'.
7890         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
7891         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
7893         astrxfrm: Use 'restrict'.
7894         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
7895         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
7897         amemxfrm: Use 'restrict'.
7898         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
7899         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
7901 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7903         fchmodat, lchmod: simplify
7904         It appears that we may have overengineered lchmod and fchmodat,
7905         in that the code was prepared for some hypothetical platforms but
7906         was so complicated that it was hard to understand.  I attempted to
7907         improve the situation by simplifying the code when this
7908         simplification should not hurt on real platforms; we can re-add
7909         complexity later to port to platforms I didn’t know about.
7910         * lib/fchmodat.c (fchmodat):
7911         * lib/lchmod.c (lchmod):
7912         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
7913         around the /proc code that needs it.
7914         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
7915         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
7916         Do not include <config.h> twice.
7917         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
7918         lchmod on any known hosts.
7919         (lchmod): Do not defer to fchmodat, so that the lchmod module
7920         need not depend on the fchmodat module (which is a circular
7921         dependency).  Do not use openat, since ‘open’ suffices.
7922         Coalesce calls to lchmod/chmod.
7923         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
7924         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
7925         * modules/lchmod (Depends-on, configure.ac):
7926         * modules/sys_stat (Depends-on):
7927         Do not worry about replacing lchmod, since that shouldn’t happen.
7928         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
7929         Do not worry about whether lchmod works on non-symlinks,
7930         since every known lchmod works on non-symlinks.
7931         * modules/lchmod (Depends-on):
7932         Remove circular dependency on fchmodat.
7934 2020-02-22  Bruno Haible  <bruno@clisp.org>
7936         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
7937         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
7938         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
7940 2020-02-22  Bruno Haible  <bruno@clisp.org>
7942         Use 'restrict' in all POSIX function declarations.
7943         * lib/iconv.in.h (iconv): Use 'restrict'.
7944         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
7945         * lib/monetary.in.h (strfmon_l): Likewise.
7946         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
7947         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
7948         pthread_mutex_timedlock, pthread_rwlock_init,
7949         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
7950         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
7951         * lib/search.in.h (tdelete): Likewise.
7952         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
7953         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
7954         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
7955         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
7956         Likewise.
7957         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
7958         strtoull): Likewise.
7959         * lib/string.in.h (strncat): Likewise.
7960         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
7961         recvfrom): Likewise.
7962         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
7963         * lib/time.in.h (strftime): Likewise.
7964         * lib/unistd.in.h (readlink, readlinkat): Likewise.
7965         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
7966         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
7967         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
7968         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
7969         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
7970         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
7971         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7972         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7973         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
7974         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
7975         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7976         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7977         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7978         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7979         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
7980         other *_h.m4 files.
7981         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
7983 2020-02-22  Bruno Haible  <bruno@clisp.org>
7985         Update NEWS.
7986         * NEWS: Mention the last change.
7988 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7990         chmodat, chownat: new modules
7991         These are split from fchmodat, fchownat.  GNU Emacs needs the
7992         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
7993         lchmodat.  Split the latter two into a new module chmodat.
7994         Similarly for fchownat.  This the same basic idea for why statat
7995         was split from fstatat on 2013-01-23.
7996         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
7997         Rename from FCHMODAT_INLINE.  All uses changed.
7998         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
7999         Rename from FCHOWNAT_INLINE.  All uses changed.
8000         * lib/openat.h:
8001         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
8002         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
8003         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
8004         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
8005         (configure.ac): Remove fchmodat module indicator.
8006         (Makefile.am): Omit chmodat.c.
8007         (Maintainer): Add self.
8008         * modules/fchownat: Similarly, but for chown.
8009         * tests/test-fchownat.c (BASE): Don't define if already defined.
8010         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
8012 2020-02-22  Bruno Haible  <bruno@clisp.org>
8014         users.txt: Add groff.
8015         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
8016         * users.txt: Add groff.
8018 2020-02-22  Bruno Haible  <bruno@clisp.org>
8020         gnulib-tool: Ensure copied files are writable.
8021         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
8022         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
8023         * gnulib-tool (func_ensure_writable): New function.
8024         (func_ln_s, func_hardlink, func_lookup_file, func_import,
8025         func_create_testdir, copy-file): Invoke it after copying a file.
8027 2020-02-22  Bruno Haible  <bruno@clisp.org>
8029         users.txt: Update.
8030         * users.txt: Update URLs to projects that have moved or switched to git.
8031         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
8032         over the summary view. Add gawk.
8034 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8036         largefile: remove _DARWIN_USE_64_BIT_INODE
8037         It’s not needed in currently-supported macOS versions, and was
8038         problematic anyway in MacOS X 10.5 which was the only version that
8039         could use it.  Problem reported by Peter Eisentraut in:
8040         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
8041         * m4/largefile.m4 (AC_SYS_LARGEFILE):
8042         Don’t define _DARWIN_USE_64_BIT_INODE.
8043         This syncs with Autoconf master.
8045         Add ‘extern "C"’ to count-one-bits.h etc.
8046         This ports these .h files to C++.
8047         Problem reported by Simon Marchi in:
8048         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
8049         * lib/count-leading-zeros.h, lib/count-one-bits.h:
8050         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
8052 2020-02-19  Bruno Haible  <bruno@clisp.org>
8054         uninorm/decompose-internal: Avoid "no previous prototype" warning.
8055         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8056         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
8057         * lib/array-mergesort.h: Accept an optional macro definition
8058         STATIC_FROMTO.
8059         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
8061 2020-02-16  Bruno Haible  <bruno@clisp.org>
8063         fchmodat: Make more future-proof.
8064         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
8065         NEED_FCHMODAT_NONSYMLINK_FIX.
8066         (gl_PREREQ_FCHMODAT): New macro.
8067         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
8068         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
8069         without lchmod function.
8070         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
8072 2020-02-16  Bruno Haible  <bruno@clisp.org>
8074         lchmod: Make more future-proof.
8075         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
8076         (gl_PREREQ_LCHMOD): New macro.
8077         * lib/lchmod.c (orig_lchmod): New function.
8078         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
8079         Return EOPNOTSUPP only on Linux and on platforms without lchmod
8080         function.
8081         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
8083         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
8084         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
8086 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8088         xnanosleep: prefer pause, and get remaining time
8089         Problem reported by Vladimir Panteleev in:
8090         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
8091         * lib/xnanosleep.c: Include intprops.h, unistd.h.
8092         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
8093         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
8094         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
8095         * modules/xnanosleep (Depends-on): Add intprops, unistd.
8097 2020-02-16  Bruno Haible  <bruno@clisp.org>
8099         lchmod: Improve cross-compilation guess.
8100         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
8101         cross-compiling, guess depending on the platform.
8103 2020-02-16  Bruno Haible  <bruno@clisp.org>
8105         fstrcmp: Add API to clean up resources.
8106         Reported by Akim Demaille <akim@lrde.epita.fr> in
8107         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
8108         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
8109         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
8111 2020-02-14  Bruno Haible  <bruno@clisp.org>
8113         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
8114         Reported by Christian Biesinger in
8115         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
8116         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
8117         corresponding module is not enabled.
8118         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
8119         prototype if the corresponding module is not enabled.
8121 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8123         fchmodat, lchmod: port to buggy Linux filesystems
8124         Problem reported by Florian Weimer in:
8125         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
8126         * lib/fchmodat.c (fchmodat):
8127         * lib/lchmod.c (lchmod):
8128         Don’t assume that chmod on the O_PATH-opened fd will do
8129         the right thing on a symbolic link.
8130         * lib/fchmodat.c (fchmodat):
8131         Don’t attempt to special-case
8132         any flag value other than AT_SYMLINK_NOFOLLOW.
8134 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8136         lchmod: pacify Coverity CID 1491216
8137         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
8138         not complain about unreachable code at the ‘struct stat st;’
8139         declaration.
8141 2020-02-10  Bruno Haible  <bruno@clisp.org>
8143         copysignf: Fix link error on HP-UX with cc.
8144         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
8145         HP-UX, set COPYSIGNF_LIBM to -lm.
8147 2020-02-10  Bruno Haible  <bruno@clisp.org>
8149         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
8150         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
8151         with $(LIB_SEMAPHORE).
8152         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
8153         with $(LIB_SEMAPHORE).
8155 2020-02-10  Bruno Haible  <bruno@clisp.org>
8157         ptsname_r-tests: Avoid unused function warning.
8158         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
8160 2020-02-08  Bruno Haible  <bruno@clisp.org>
8162         lchmod: Add tests.
8163         * tests/test-lchmod.c: New file.
8164         * modules/lchmod-tests: New file.
8166 2020-02-08  Bruno Haible  <bruno@clisp.org>
8168         lchmod: Ensure declaration on HP-UX.
8169         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
8170         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
8172 2020-02-08  Bruno Haible  <bruno@clisp.org>
8174         fchmodat: Strengthen tests.
8175         * tests/test-fchmodat.c (BASE): New macro.
8176         (main): Use it, to avoid conflicts with other unit tests. Verify that
8177         fchmodat changed the file permission bits.
8179 2020-02-08  Bruno Haible  <bruno@clisp.org>
8181         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
8182         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
8183         '#undef __need_system_sys_stat_h'.
8185 2020-02-08  Bruno Haible  <bruno@clisp.org>
8187         fchmodat: Improve cross-compilation guesses.
8188         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
8189         cross-compiling, guess depending on the platform.
8190         * doc/posix-functions/fchmodat.texi: Clarify.
8192 2020-02-08  Bruno Haible  <bruno@clisp.org>
8194         Fix compilation errors in a testdir created with --with-c++-tests.
8195         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
8196         since it does not work any more with g++ >= 4.4.
8198 2020-02-08  Bruno Haible  <bruno@clisp.org>
8200         doc: Update for glibc 2.31.
8201         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
8202         * doc/gnulib.texi: Include it.
8203         * doc/pastposix-functions/h_errno.texi: Update.
8204         * doc/posix-functions/*.texi: Likewise.
8206 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
8208         mountlist: consider smb3 file systems as remote
8209         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
8210         "smb3" as remote.
8212 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8214         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
8215         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
8216         they act like chmod on non-symlinks.
8217         * NEWS:
8218         * doc/glibc-functions/lchmod.texi (lchmod):
8219         * doc/posix-functions/fchmodat.texi (fchmodat):
8220         Mention this.
8221         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
8222         config.h, and undef it after including sys/stat.h the first time.
8223         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
8224         sys/stat.h a second time after defining orig_fchmodat.
8225         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
8226         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
8227         * lib/lchmod.c: New file.
8228         * lib/sys_stat.in.h (fchmodat, lchmod):
8229         Support replacing these functions.
8230         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
8231         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
8232         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
8233         Test that lchmod works on non-symlinks.
8234         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
8235         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
8236         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
8237         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
8238         * modules/lchmod (Files): Add lib/lchmod.c.
8239         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
8240         (configure.ac): Compile lchmod.c if needed.
8241         (lib_SOURCES): Add lchmod.c.
8242         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
8243         and REPLACE_LCHMOD.
8244         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
8245         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
8247 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
8249         mountlist: Consider AFS filesystems as remote
8250         df --local relies on the ME_REMOTE macro to determine if a given
8251         mount entry should be considered "local".  There is special logic
8252         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
8253         kernel's kafs module or AuriStorFS is treated as a local mount.
8254         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
8255         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
8257 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8259         Port _Noreturn to older Clang
8260         Problem reported by Jeffery Walton in:
8261         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
8262         * lib/_Noreturn.h (_Noreturn):
8263         * m4/gnulib-common.m4 (gl_COMMON_BODY):
8264         Assume _Noreturn works in Clang 3.5 and later.
8265         It is documented to work in Clang 3.5:
8266         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
8267         and is not documented in Clang 3.4:
8268         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
8269         Apple sets __clang_version__ to a different value, so use
8270         __apple_build_version__ there.  See:
8271         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
8273 2020-02-04  Pádraig Brady  <P@draigBrady.com>
8275         test-canonicalize: avoid unused function warning
8276         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
8277         with the same guard as that used to protect usage of the null_ptr
8278         function, so that one doesn't get a -Wunused warning.
8279         * tests/test-canonicalize-lgpl.c: Likewise.
8281 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8283         libc-config: port to Apple’s Clang variant
8284         * lib/libc-config.h (__glibc_clang_prereq):
8285         Port to Apple’s Clang variant, which uses a different
8286         numbering scheme for __clang_major__.
8288 2020-02-02  Bruno Haible  <bruno@clisp.org>
8290         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
8291         * doc/containers.texi: Document these new modules.
8293 2020-02-02  Bruno Haible  <bruno@clisp.org>
8295         omap-c++: Add tests.
8296         * tests/test-omap-c++.cc: New file.
8297         * modules/omap-c++-tests: New file.
8299         omap-c++: New module.
8300         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
8301         * modules/omap-c++: New file.
8303 2020-02-02  Bruno Haible  <bruno@clisp.org>
8305         map-c++: Add tests.
8306         * tests/test-map-c++.cc: New file.
8307         * modules/map-c++-tests: New file.
8309         map-c++: New module.
8310         * lib/gl_map.hh: New file, based on lib/gl_map.h.
8311         * modules/map-c++: New file.
8313 2020-02-02  Bruno Haible  <bruno@clisp.org>
8315         oset-c++: Add tests.
8316         * tests/test-oset-c++.cc: New file.
8317         * modules/oset-c++-tests: New file.
8319         oset-c++: New module.
8320         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
8321         * modules/oset-c++: New file.
8323 2020-02-02  Bruno Haible  <bruno@clisp.org>
8325         set-c++: Add tests.
8326         * tests/test-set-c++.cc: New file.
8327         * modules/set-c++-tests: New file.
8329         set-c++: New module.
8330         * lib/gl_set.hh: New file, based on lib/gl_set.h.
8331         * modules/set-c++: New file.
8333 2020-02-02  Bruno Haible  <bruno@clisp.org>
8335         list-c++: Add tests.
8336         * tests/test-list-c++.cc: New file.
8337         * modules/list-c++-tests: New file.
8339         list-c++: New module.
8340         * lib/gl_list.hh: New file, based on lib/gl_list.h.
8341         * modules/list-c++: New file.
8343 2020-02-02  Bruno Haible  <bruno@clisp.org>
8345         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
8346         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
8347         '_Noreturn'.
8348         * lib/sigpipe-die.h (sigpipe_die): Likewise.
8350 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8352         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
8353         On x86_64 with glibc-2.30, gcc 9.2 is giving:
8354           error: argument 2 value '18446744073709551615'
8355           exceeds maximum object size 9223372036854775807
8356           [-Werror=alloc-size-larger-than=]
8357         The details of this restriction are discussed at:
8358         https://stackoverflow.com/q/42574890/4421
8359         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
8361 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8363         sysctl.h: avoid including on glibc
8364         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
8365         * lib/physmem.c: Likewise.
8367 2020-02-02  Bruno Haible  <bruno@clisp.org>
8369         list, set, oset, map, omap: Avoid imperative voice in documentation.
8370         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
8371         in the specification of functions.
8372         * lib/gl_set.h: Likewise.
8373         * lib/gl_oset.h: Likewise.
8374         * lib/gl_map.h: Likewise.
8375         * lib/gl_omap.h: Likewise.
8376         * lib/gl_*.h: Likewise.
8378 2020-02-01  Bruno Haible  <bruno@clisp.org>
8380         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
8381         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
8382         does.
8384 2020-01-29  Bruno Haible  <bruno@clisp.org>
8386         array-map, hash-map, linkedhash-map: Fix module description.
8387         * modules/array-map (Description): Fix description.
8388         * modules/hash-map (Description): Likewise.
8389         * modules/linkedhash-map (Description): Likewise.
8391 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8393         dfa: do not depend on isblank
8394         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
8395         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
8396         * modules/dfa (Depends-on): Remove isblank.
8397         * modules/isblank: Add a module indicator, for lib/dfa.c.
8399         dfa: do not assume 64-bit int
8400         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
8401         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
8402         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
8403         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
8404         Fall back to 32-bit words.
8405         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
8406         of 4 64-bit args.  All uses changed.
8408 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8410         regex: remove limits-h dependency
8411         * modules/regex (Depends-on): Remove limits-h, since the
8412         code no longer depends on ULONG_WIDTH already being defined.
8414         regex: port to non-GCC pre-IEC-60559
8415         Problem reported by Arnold Robbins in:
8416         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
8417         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
8419 2020-01-25  Bruno Haible  <bruno@clisp.org>
8421         c32isxdigit: Add tests.
8422         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
8423         * tests/test-c32isxdigit.sh: New file.
8424         * modules/c32isxdigit-tests: New file.
8426         c32isxdigit: New module.
8427         * lib/c32isxdigit.c: New file.
8428         * modules/c32isxdigit: New file.
8429         * doc/posix-functions/iswxdigit.texi: Mention the new module.
8431 2020-01-25  Bruno Haible  <bruno@clisp.org>
8433         c32isupper: Add tests.
8434         * tests/test-c32isupper.c: New file.
8435         * tests/test-c32isupper.sh: New file.
8436         * modules/c32isupper-tests: New file.
8438         c32isupper: New module.
8439         * lib/c32isupper.c: New file.
8440         * modules/c32isupper: New file.
8441         * doc/posix-functions/iswupper.texi: Mention the new module.
8443 2020-01-25  Bruno Haible  <bruno@clisp.org>
8445         c32isspace: Add tests.
8446         * tests/test-c32isspace.c: New file.
8447         * tests/test-c32isspace.sh: New file.
8448         * modules/c32isspace-tests: New file.
8450         c32isspace: New module.
8451         * lib/c32isspace.c: New file.
8452         * modules/c32isspace: New file.
8453         * doc/posix-functions/iswspace.texi: Mention the new module.
8455 2020-01-25  Bruno Haible  <bruno@clisp.org>
8457         c32ispunct: Add tests.
8458         * tests/test-c32ispunct.c: New file.
8459         * tests/test-c32ispunct.sh: New file.
8460         * modules/c32ispunct-tests: New file.
8462         c32ispunct: New module.
8463         * lib/c32ispunct.c: New file.
8464         * modules/c32ispunct: New file.
8465         * doc/posix-functions/iswpunct.texi: Mention the new module.
8467 2020-01-25  Bruno Haible  <bruno@clisp.org>
8469         c32isprint: Add tests.
8470         * tests/test-c32isprint.c: New file.
8471         * tests/test-c32isprint.sh: New file.
8472         * modules/c32isprint-tests: New file.
8474         c32isprint: New module.
8475         * lib/c32isprint.c: New file.
8476         * modules/c32isprint: New file.
8477         * doc/posix-functions/iswprint.texi: Mention the new module.
8479 2020-01-25  Bruno Haible  <bruno@clisp.org>
8481         c32islower: Add tests.
8482         * tests/test-c32islower.c: New file.
8483         * tests/test-c32islower.sh: New file.
8484         * modules/c32islower-tests: New file.
8486         c32islower: New module.
8487         * lib/c32islower.c: New file.
8488         * modules/c32islower: New file.
8489         * doc/posix-functions/iswlower.texi: Mention the new module.
8491 2020-01-25  Bruno Haible  <bruno@clisp.org>
8493         c32isgraph: Add tests.
8494         * tests/test-c32isgraph.c: New file.
8495         * tests/test-c32isgraph.sh: New file.
8496         * modules/c32isgraph-tests: New file.
8498         c32isgraph: New module.
8499         * lib/c32isgraph.c: New file.
8500         * modules/c32isgraph: New file.
8501         * doc/posix-functions/iswgraph.texi: Mention the new module.
8503 2020-01-25  Bruno Haible  <bruno@clisp.org>
8505         c32isdigit: Add tests.
8506         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
8507         * tests/test-c32isdigit.sh: New file.
8508         * modules/c32isdigit-tests: New file.
8510         c32isdigit: New module.
8511         * lib/c32isdigit.c: New file.
8512         * modules/c32isdigit: New file.
8513         * doc/posix-functions/iswdigit.texi: Mention the new module.
8515 2020-01-25  Bruno Haible  <bruno@clisp.org>
8517         c32iscntrl: Add tests.
8518         * tests/test-c32iscntrl.c: New file.
8519         * tests/test-c32iscntrl.sh: New file.
8520         * modules/c32iscntrl-tests: New file.
8522         c32iscntrl: New module.
8523         * lib/c32iscntrl.c: New file.
8524         * modules/c32iscntrl: New file.
8525         * doc/posix-functions/iswcntrl.texi: Mention the new module.
8527 2020-01-25  Bruno Haible  <bruno@clisp.org>
8529         c32isblank: Add tests.
8530         * tests/test-c32isblank.c: New file.
8531         * tests/test-c32isblank.sh: New file.
8532         * modules/c32isblank-tests: New file.
8534         c32isblank: New module.
8535         * lib/c32isblank.c: New file.
8536         * modules/c32isblank: New file.
8537         * doc/posix-functions/iswblank.texi: Mention the new module.
8539 2020-01-25  Bruno Haible  <bruno@clisp.org>
8541         c32isalpha: Add tests.
8542         * tests/test-c32isalpha.c: New file.
8543         * tests/test-c32isalpha.sh: New file.
8544         * modules/c32isalpha-tests: New file.
8546         c32isalpha: New module.
8547         * lib/c32isalpha.c: New file.
8548         * modules/c32isalpha: New file.
8549         * doc/posix-functions/iswalpha.texi: Mention the new module.
8551 2020-01-25  Bruno Haible  <bruno@clisp.org>
8553         c32isalnum: Add tests.
8554         * tests/test-c32isalnum.c: New file.
8555         * tests/test-c32isalnum.sh: New file.
8556         * modules/c32isalnum-tests: New file.
8558         c32isalnum: New module.
8559         * lib/c32isalnum.c: New file.
8560         * lib/c32is-impl.h: New file.
8561         * modules/c32isalnum: New file.
8562         * doc/posix-functions/iswalnum.texi: Mention the new module.
8564 2020-01-25  Bruno Haible  <bruno@clisp.org>
8566         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
8567         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
8568         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
8569         c32isupper, c32isxdigit): New declarations.
8570         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
8571         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8572         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8573         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8574         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8575         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
8576         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8577         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8578         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8579         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8580         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
8581         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
8582         c32ispunct, c32isspace, c32isupper, c32isxdigit.
8584 2020-01-25  Bruno Haible  <bruno@clisp.org>
8586         mbchar, wctype: Use the corrected iswxdigit function.
8587         * modules/mbchar (Depends-on): Add iswxdigit.
8588         * modules/wctype (Depends-on): Likewise.
8590         iswxdigit: Add tests.
8591         * tests/test-iswxdigit.c: New file.
8592         * tests/test-iswxdigit.sh: New file.
8593         * modules/iswxdigit-tests: New file.
8595         iswxdigit: New module.
8596         * m4/iswxdigit.m4: New file.
8597         * lib/wctype.in.h (iswxdigit): Potentially override.
8598         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
8599         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
8600         * lib/iswxdigit.c: New file.
8601         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
8602         REPLACE_ISWXDIGIT.
8603         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
8604         REPLACE_ISWXDIGIT.
8605         * modules/iswxdigit: New file.
8606         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
8608 2020-01-25  Bruno Haible  <bruno@clisp.org>
8610         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
8611         Reported by John Donoghue <john.david.donoghue@gmail.com> in
8612         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
8613         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
8614         off_t on mingw, invoke _lseeki64 instead of lseek.
8616 2020-01-25  Bruno Haible  <bruno@clisp.org>
8618         iswdigit tests: Avoid test failure on Cygwin.
8619         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
8620         byte sequence, return 0.
8622         iswdigit: Fix test failure on native Windows.
8623         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
8625         mbchar, wctype: Use the corrected iswdigit function.
8626         * modules/mbchar (Depends-on): Add iswdigit.
8627         * modules/wctype (Depends-on): Likewise.
8629         iswdigit: Add tests.
8630         * tests/test-iswdigit.c: New file.
8631         * tests/test-iswdigit.sh: New file.
8632         * modules/iswdigit-tests: New file.
8634         iswdigit: New module.
8635         * m4/iswdigit.m4: New file.
8636         * lib/wctype.in.h (iswdigit): Potentially override.
8637         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
8638         * lib/iswdigit.c: New file.
8639         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
8640         REPLACE_ISWDIGIT.
8641         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
8642         REPLACE_ISWDIGIT.
8643         * modules/iswdigit: New file.
8644         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
8646 2020-01-25  Bruno Haible  <bruno@clisp.org>
8648         hard-locale tests: Make it easy to reuse the musl test.
8649         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
8650         * modules/hard-locale-tests (Files): Add it.
8651         (configure.ac): Invoke gl_MUSL_LIBC.
8653 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
8655         regex: port to Gawk on nonstandard platforms
8656         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
8657         This is useful for Gawk, which does not use the Gnulib stdlib-h
8658         module.  Problem reported by Arnold Robbins in:
8659         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
8661 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8663         regex: fix bug with >=16 subexpressions
8664         * lib/regex_internal.h (struct re_backref_cache_entry):
8665         Use bitset_word_t as the type of eps_reachable_subexps_map,
8666         instead of unsigned short int.  This fixes a bug I introduced
8667         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
8668         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
8669         Remove unused member 'unused'.
8671         regex: simplify definition of BITSET_WORD_BITS
8672         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
8673         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
8674         * lib/regex_internal.h (BITSET_WORD_BITS):
8675         * modules/regex (Depends-on): Add limits-h.
8676         Simplify now that we can use ULONG_WIDTH.
8678 2020-01-20  Bruno Haible  <bruno@clisp.org>
8680         mbrtoc32: Add note about FreeBSD 12.
8681         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
8682         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
8683         affected.
8685 2020-01-20  Bruno Haible  <bruno@clisp.org>
8687         unistr/u8-uctomb: Fix warning.
8688         Reported by Andreas Schwab <schwab@suse.de> in
8689         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
8690         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
8691         (u8_uctomb): Add FALLTHROUGH markers.
8693 2020-01-20  Bruno Haible  <bruno@clisp.org>
8695         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
8696         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
8697         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
8698         (glthread_once): Use it.
8700 2020-01-19  Bruno Haible  <bruno@clisp.org>
8702         threadlib: Disable use of weak symbols on FreeBSD 11.
8703         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8704         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
8705         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
8706         against a bug in FreeBSD 11.
8708 2020-01-19  Bruno Haible  <bruno@clisp.org>
8710         iconv_open: Improve z/OS support.
8711         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
8712         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
8713         Remove mapping for EUC-TW.
8715 2020-01-18  Bruno Haible  <bruno@clisp.org>
8717         Rename ~~gnulib.m4 to zzgnulib.m4.
8718         Suggested by Paul Eggert.
8719         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
8720         * gnulib-tool (func_get_filelist): Update.
8721         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8723 2020-01-18  Bruno Haible  <bruno@clisp.org>
8725         doc: Update license notices.
8726         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
8727         reference to a section or to a "file as part of this distribution".
8729 2020-01-18  Bruno Haible  <bruno@clisp.org>
8731         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
8732         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8733         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
8734         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
8735         AC_EGREP_CPP.
8737 2020-01-18  Bruno Haible  <bruno@clisp.org>
8739         Ensure Automake does not drop ~~gnulib.m4.
8740         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
8741         * m4/gnulib-common.m4 (gl_COMMON): Require it.
8743 2020-01-18  Bruno Haible  <bruno@clisp.org>
8745         Fix major regression from 2020-01-10.
8746         Reported by Paul Eggert in
8747         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
8748         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8749         Don't AC_REQUIRE anything.
8750         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
8751         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
8752         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
8753         use ac_compile instead.
8754         (AC_CHECK_DECL): Remove override.
8755         * m4/~~gnulib.m4: New file.
8756         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
8757         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8759 2020-01-17  Bruno Haible  <bruno@clisp.org>
8760             Paul Eggert  <eggert@cs.ucla.edu>
8762         glob: Fix use-after-free bug.
8763         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8764         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
8765         * lib/glob.c (__glob): Delay freeing dirname until after the use of
8766         end_name.
8768 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8770         vcs-to-changelog: Fix parsing of fndecl without args.
8771         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
8772         for empty arguments.
8774 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8776         vcs-to-changelog: Add documentation.
8777         * doc/vcs-to-changelog.texi: New file.
8778         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
8779         section.
8781 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8783         vcs-to-changelog: Allow loading of custom quirks file.
8784         * build-aux/vcs_to_changelog.py: New commandline option -q.
8786 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8788         vcs-to-changelog: Fix formatting of ChangeLog output.
8789         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
8790         output.
8792 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8794         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
8795         Reported in
8796         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
8797         * build-aux/vcstocl/frontend_c.py: Remove shebang.
8799 2020-01-15  Simon Josefsson  <simon@josefsson.org>
8801         crypto/gc-pbkdf2: New module.
8802         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
8803         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
8804         * lib/gc-pbkdf2.c: New file.
8805         * lib/gc-pbkdf2-sha1.c: Use new interface.
8806         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
8807         * modules/crypto/gc-pbkdf2: New file.
8808         * modules/crypto/gc-pbkdf2-tests: New file.
8809         * tests/test-gc-pbkdf2.c: New file.
8811 2020-01-12  Bruno Haible  <bruno@clisp.org>
8813         c32stombs: Add tests.
8814         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
8815         * tests/test-c32stombs-1.sh: New file, based on
8816         tests/test-c32srtombs-1.sh.
8817         * tests/test-c32stombs-2.sh: New file, based on
8818         tests/test-c32srtombs-2.sh.
8819         * tests/test-c32stombs-3.sh: New file, based on
8820         tests/test-c32srtombs-3.sh.
8821         * tests/test-c32stombs-4.sh: New file, based on
8822         tests/test-c32srtombs-4.sh.
8823         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
8825         c32stombs: New module.
8826         * lib/uchar.in.h (c32stombs): New declaration.
8827         * lib/c32stombs.c: New file.
8828         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
8829         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
8830         * modules/c32stombs: New file.
8831         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
8832         * doc/posix-functions/wcstombs.texi: Mention the new module.
8834 2020-01-11  Jim Meyering  <meyering@fb.com>
8836         perl: require the "warnings" module
8837         * m4/perl.m4: Also "use warnings", so we reject the perl found
8838         on at least one IRIX 6.5 system. Reported by Bruno Haible in
8839         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
8841 2020-01-10  Bruno Haible  <bruno@clisp.org>
8843         Fix major regression from 2020-01-04.
8844         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8845         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
8846         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
8847         AC_DEFUN_ONCE.
8848         (AC_CHECK_DECL): Invoke, not require, it.
8850 2020-01-10  Bruno Haible  <bruno@clisp.org>
8852         c32snrtombs: Add tests.
8853         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
8854         * tests/test-c32snrtombs-1.sh: New file, based on
8855         tests/test-wcsnrtombs1.sh.
8856         * tests/test-c32snrtombs-2.sh: New file, based on
8857         tests/test-wcsnrtombs2.sh.
8858         * tests/test-c32snrtombs-3.sh: New file, based on
8859         tests/test-wcsnrtombs3.sh.
8860         * tests/test-c32snrtombs-4.sh: New file, based on
8861         tests/test-wcsnrtombs4.sh.
8862         * modules/c32snrtombs-tests: New file, based on
8863         modules/wcsnrtombs-tests.
8865         c32snrtombs: New module.
8866         * lib/uchar.in.h (c32snrtombs): New declaration.
8867         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8868         INTERNAL_STATE, WCRTOMB.
8869         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8870         * lib/c32snrtombs.c: New file.
8871         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
8872         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
8873         * modules/c32snrtombs: New file.
8874         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
8875         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8877 2020-01-09  Bruno Haible  <bruno@clisp.org>
8879         c32srtombs: Add tests.
8880         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
8881         * tests/test-c32srtombs-1.sh: New file, based on
8882         tests/test-wcsrtombs1.sh.
8883         * tests/test-c32srtombs-2.sh: New file, based on
8884         tests/test-wcsrtombs2.sh.
8885         * tests/test-c32srtombs-3.sh: New file, based on
8886         tests/test-wcsrtombs3.sh.
8887         * tests/test-c32srtombs-4.sh: New file, based on
8888         tests/test-wcsrtombs4.sh.
8889         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
8891         c32srtombs: New module.
8892         * lib/uchar.in.h (c32srtombs): New declaration.
8893         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8894         INTERNAL_STATE, WCRTOMB.
8895         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8896         * lib/c32srtombs.c: New file.
8897         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
8898         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
8899         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
8900         * modules/c32srtombs: New file.
8901         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
8902         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
8904 2020-01-08  Bruno Haible  <bruno@clisp.org>
8906         c32tob: Make consistent with mbrtoc32.
8907         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
8908         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
8909         use c32rtomb, not wctob.
8910         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
8911         (Depends-on): Add c32rtomb.
8912         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
8914 2020-01-08  Bruno Haible  <bruno@clisp.org>
8916         c32rtomb: Add tests.
8917         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
8918         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
8919         * tests/test-c32rtomb-w32.c: New file, based on
8920         tests/test-wcrtomb-w32.c.
8921         * tests/test-c32rtomb-w32-1.sh: New file, based on
8922         tests/test-wcrtomb-w32-1.sh.
8923         * tests/test-c32rtomb-w32-2.sh: New file, based on
8924         tests/test-wcrtomb-w32-2.sh.
8925         * tests/test-c32rtomb-w32-3.sh: New file, based on
8926         tests/test-wcrtomb-w32-3.sh.
8927         * tests/test-c32rtomb-w32-4.sh: New file, based on
8928         tests/test-wcrtomb-w32-4.sh.
8929         * tests/test-c32rtomb-w32-5.sh: New file, based on
8930         tests/test-wcrtomb-w32-5.sh.
8931         * tests/test-c32rtomb-w32-6.sh: New file, based on
8932         tests/test-wcrtomb-w32-6.sh.
8933         * tests/test-c32rtomb-w32-7.sh: New file, based on
8934         tests/test-wcrtomb-w32-7.sh.
8935         * modules/c32rtomb-tests: New file.
8937         c32rtomb: New module.
8938         * lib/uchar.in.h (c32rtomb): New declaration.
8939         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
8940         * m4/c32rtomb.m4: New file.
8941         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
8942         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
8943         REPLACE_C32RTOMB.
8944         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
8945         HAVE_C32RTOMB, REPLACE_C32RTOMB.
8946         * modules/c32rtomb: New file.
8947         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
8948         * doc/posix-functions/c32rtomb.texi: Document the new module.
8949         * doc/posix-functions/wcrtomb.texi: Mention the new module.
8951 2020-01-08  Bruno Haible  <bruno@clisp.org>
8953         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
8954         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
8955         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
8956         but is not working.
8957         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
8958         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
8959         differ, use the system's mbrtoc32, adding workarounds.
8960         * modules/mbrtoc32 (Depends-on): Add hard-locale.
8961         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
8962         Windows problem.
8963         * lib/btoc32.c: Include <stdio.h>, <string.h>.
8964         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
8965         use mbrtoc32, not btowc.
8966         * modules/btoc32 (Depends-on): Add mbrtoc32.
8967         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
8968         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
8969         * modules/mbsrtoc32s (Depends-on): Update conditions.
8970         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8971         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
8972         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
8973         * modules/mbsnrtoc32s (Depends-on): Update conditions.
8974         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8976 2020-01-07  Bruno Haible  <bruno@clisp.org>
8978         wcrtomb: Make multithread-safe, except possibly on IRIX.
8979         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
8980         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
8981         WCRTOMB_RETVAL_BUG.
8982         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
8983         wctomb only on IRIX.
8985 2020-01-05  Jim Meyering  <meyering@fb.com>
8987         tests: skip thread-using tests when threading is disabled
8988         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
8989         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
8990         of those, so they are skipped in this case.
8991         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
8992         * tests/test-setlocale_null-mt-all.c (main): Likewise.
8993         * tests/test-setlocale_null-mt-one.c (main): Likewise.
8995 2020-01-05  Bruno Haible  <bruno@clisp.org>
8997         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
8998         Reported by Jim Meyering in
8999         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
9000         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
9001         (GNULIB_defined_ptsname_r): New macro.
9002         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
9003         (main): Disable the NULL argument test if canonicalize_file_name does
9004         not come from gnulib.
9005         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
9006         (main): Disable the NULL argument test if canonicalize_file_name does
9007         not come from gnulib.
9008         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
9009         (test_errors): Disable the NULL argument test if ptsname_r does not come
9010         from gnulib.
9012 2020-01-04  Jim Meyering  <meyering@fb.com>
9014         update-copyright: reenable its always-skipped test
9015         * tests/test-update-copyright.sh: Restore the "-pi" options removed
9016         on 2019-06-15. Without those, an internal preliminary test would
9017         fail, causing this test always to be skipped.
9018         Verify that the test is now run and passes via this:
9019           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
9021 2020-01-05  Bruno Haible  <bruno@clisp.org>
9023         mbstoc32s: Add tests.
9024         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
9025         * tests/test-mbstoc32s-1.sh: New file, based on
9026         tests/test-mbsrtoc32s-1.sh.
9027         * tests/test-mbstoc32s-2.sh: New file, based on
9028         tests/test-mbsrtoc32s-2.sh.
9029         * tests/test-mbstoc32s-3.sh: New file, based on
9030         tests/test-mbsrtoc32s-3.sh.
9031         * tests/test-mbstoc32s-4.sh: New file, based on
9032         tests/test-mbsrtoc32s-4.sh.
9033         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
9035         mbstoc32s: New module.
9036         * lib/uchar.in.h (mbstoc32s): New declaration.
9037         * lib/mbstoc32s.c: New file.
9038         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
9039         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
9040         * modules/mbstoc32s: New file.
9041         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
9042         * doc/posix-functions/mbstowcs.texi: Mention the new module.
9044 2020-01-05  Bruno Haible  <bruno@clisp.org>
9046         Tweak recently added tests.
9047         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
9048         * tests/test-mbsrtoc32s.c: Likewise.
9049         * tests/test-mbsnrtoc32s.c: Likewise.
9051 2020-01-04  Bruno Haible  <bruno@clisp.org>
9053         mbsnrtoc32s: Add tests.
9054         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
9055         * tests/test-mbsnrtoc32s-1.sh: New file, based on
9056         tests/test-mbsnrtowcs1.sh.
9057         * tests/test-mbsnrtoc32s-2.sh: New file, based on
9058         tests/test-mbsnrtowcs2.sh.
9059         * tests/test-mbsnrtoc32s-3.sh: New file, based on
9060         tests/test-mbsnrtowcs3.sh.
9061         * tests/test-mbsnrtoc32s-4.sh: New file, based on
9062         tests/test-mbsnrtowcs4.sh.
9063         * modules/mbsnrtoc32s-tests: New file, based on
9064         modules/mbsnrtowcs-tests.
9066         mbsnrtoc32s: New module.
9067         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
9068         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9069         INTERNAL_STATE, MBRTOWC.
9070         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9071         * lib/mbsnrtoc32s.c: New file.
9072         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
9073         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
9074         * modules/mbsnrtoc32s: New file.
9075         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
9076         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
9078 2020-01-04  Bruno Haible  <bruno@clisp.org>
9080         mbsrtoc32s tests: Enhance test.
9081         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
9082         test strings for UTF-8 and GB18030.
9084 2020-01-04  Bruno Haible  <bruno@clisp.org>
9086         mbsrtoc32s: Fix bug.
9087         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
9088         that SMALL_WCHAR_T is defined.
9090 2020-01-04  Bruno Haible  <bruno@clisp.org>
9092         mbsrtoc32s: Add tests.
9093         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
9094         * tests/test-mbsrtoc32s-1.sh: New file, based on
9095         tests/test-mbsrtowcs1.sh.
9096         * tests/test-mbsrtoc32s-2.sh: New file, based on
9097         tests/test-mbsrtowcs2.sh.
9098         * tests/test-mbsrtoc32s-3.sh: New file, based on
9099         tests/test-mbsrtowcs3.sh.
9100         * tests/test-mbsrtoc32s-4.sh: New file, based on
9101         tests/test-mbsrtowcs4.sh.
9102         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
9104         mbsrtoc32s: New module.
9105         * lib/uchar.in.h (mbsrtoc32s): New declaration.
9106         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9107         INTERNAL_STATE, MBRTOWC.
9108         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9109         * lib/mbsrtoc32s.c: New file.
9110         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
9111         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
9112         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
9113         * modules/mbsrtoc32s: New file.
9114         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
9115         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
9117 2020-01-04  Bruno Haible  <bruno@clisp.org>
9119         mbrtowc, mbrtoc32: Tighten dependendies.
9120         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
9121         REPLACE_MBSTATE_T is 1.
9122         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9123         REPLACE_MBSTATE_T is 0.
9124         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
9125         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
9126         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9127         REPLACE_MBSTATE_T is 0.
9129 2020-01-04  Bruno Haible  <bruno@clisp.org>
9131         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
9132         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
9133         * modules/uchar (Files): Add stdint.m4.
9134         (Makefile.am): Substitute SMALL_WCHAR_T.
9135         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
9137 2020-01-04  Bruno Haible  <bruno@clisp.org>
9139         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
9140         Reported by Martin Storsjö <martin@martin.st> in
9141         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
9142         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9143         New macros.
9144         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
9146 2020-01-04  Bruno Haible  <bruno@clisp.org>
9148         btoc32: Add tests.
9149         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
9150         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
9151         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
9152         * modules/btoc32-tests: New file, based on modules/btowc-tests.
9154         btoc32: New module.
9155         * lib/uchar.in.h (btoc32): New declaration.
9156         * lib/btoc32.c: New file.
9157         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
9158         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
9159         * modules/btoc32: New file.
9160         * tests/test-uchar-c++.cc: Test the signature of btoc32.
9161         * doc/posix-functions/btowc.texi: Mention the new module.
9163 2020-01-03  Bruno Haible  <bruno@clisp.org>
9165         uchar tests: Avoid compilation error with HP cc.
9166         * tests/test-uchar.c: Disable a test when HP cc is in use.
9168 2020-01-03  Bruno Haible  <bruno@clisp.org>
9170         mbrtoc32: Add tests.
9171         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
9172         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
9173         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
9174         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
9175         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9176         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
9177         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
9178         * tests/test-mbrtoc32-w32-1.sh: New file, based on
9179         tests/test-mbrtowc-w32-1.sh.
9180         * tests/test-mbrtoc32-w32-2.sh: New file, based on
9181         tests/test-mbrtowc-w32-2.sh.
9182         * tests/test-mbrtoc32-w32-3.sh: New file, based on
9183         tests/test-mbrtowc-w32-3.sh.
9184         * tests/test-mbrtoc32-w32-4.sh: New file, based on
9185         tests/test-mbrtowc-w32-4.sh.
9186         * tests/test-mbrtoc32-w32-5.sh: New file, based on
9187         tests/test-mbrtowc-w32-5.sh.
9188         * tests/test-mbrtoc32-w32-6.sh: New file, based on
9189         tests/test-mbrtowc-w32-6.sh.
9190         * tests/test-mbrtoc32-w32-7.sh: New file, based on
9191         tests/test-mbrtowc-w32-7.sh.
9192         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
9194         mbrtoc32: New module.
9195         * lib/uchar.in.h (mbrtoc32): New declaration.
9196         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
9197         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
9198         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
9199         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
9200         REPLACE_MBRTOC32.
9201         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
9202         HAVE_MBRTOC32, REPLACE_MBRTOC32.
9203         * modules/mbrtoc32: New file, based on modules/mbrtowc.
9204         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
9205         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
9206         $(LIB_MBRTOWC).
9207         * doc/posix-functions/mbrtoc32.texi: Document the new module.
9208         * doc/posix-functions/mbrtowc.texi: Mention the new module.
9210 2020-01-03  Bruno Haible  <bruno@clisp.org>
9212         mbrtowc: Refactor to share code with mbrtoc32.
9213         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
9214         * lib/mbrtowc-impl-utf8.h: Likewise.
9215         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
9216         mbrtowc-impl.h.
9217         * modules/mbrtowc (Files): Add the new files.
9219 2020-01-03  Jim Meyering  <meyering@fb.com>
9221         doc: fix time.texi wording
9222         * doc/posix-headers/time.texi (time.h): Typo.
9224 2020-01-03  Bruno Haible  <bruno@clisp.org>
9226         mbrtowc: Refactor locale charset dispatching.
9227         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
9228         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
9229         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
9230         localcharset.h, streq.h.
9231         (enc_t): Remove type.
9232         (locale_enc): Remove function.
9233         (cached_locale_enc): Remove variable.
9234         (locale_enc_cached): Remove function.
9235         (mbrtowc): Invoke locale_encoding_classification.
9236         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
9237         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
9238         lc-charset-dispatch.c.
9239         (configure.ac): Arrange to compile lc-charset-dispatch.c.
9241 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9243         doc: mention 32-bit time_t issue
9244         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9245         * doc/posix-headers/time.texi (time.h): Mention 2038.
9247 2020-01-03  Bruno Haible  <bruno@clisp.org>
9249         mbrtowc: Ensure the mbtowc_lock is unique.
9250         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
9251         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
9252         lib/setlocale_null.c.
9253         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
9254         glthread/lock.h. Include mbtowc-lock.h.
9255         (mbtowc_lock): Remove declaration.
9256         (mbrtowc): Use mbtowc_with_lock.
9257         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
9258         threads.h. Set LIB_MBRTOWC.
9259         (gl_PREREQ_MBTOWC_LOCK): New macro.
9260         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
9261         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
9262         (Depends-on): Remove lock.
9263         (configure.ac): Arrange to compile mbtowc-lock.c.
9264         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
9265         * modules/acl (Link): Likewise.
9266         * modules/argmatch (Link): Likewise.
9267         * modules/backup-rename (Link): Likewise.
9268         * modules/backupfile (Link): Likewise.
9269         * modules/closein (Link): Likewise.
9270         * modules/closeout (Link): Likewise.
9271         * modules/copy-file (Link): Likewise.
9272         * modules/csharpcomp (Link): Likewise.
9273         * modules/csharpexec (Link): Likewise.
9274         * modules/dfa (Link): Likewise.
9275         * modules/exclude (Link): Likewise.
9276         * modules/fnmatch (Link): Likewise.
9277         * modules/fnmatch-gnu (Link): Likewise.
9278         * modules/fnmatch-posix (Link): Likewise.
9279         * modules/glob (Link): Likewise.
9280         * modules/human (Link): Likewise.
9281         * modules/javacomp (Link): Likewise.
9282         * modules/javaexec (Link): Likewise.
9283         * modules/javaversion (Link): Likewise.
9284         * modules/mbfile (Link): Likewise.
9285         * modules/mbiter (Link): Likewise.
9286         * modules/mbmemcasecmp (Link): Likewise.
9287         * modules/mbmemcasecoll (Link): Likewise.
9288         * modules/mbrlen (Link): Likewise.
9289         * modules/mbscasecmp (Link): Likewise.
9290         * modules/mbscasestr (Link): Likewise.
9291         * modules/mbschr (Link): Likewise.
9292         * modules/mbscspn (Link): Likewise.
9293         * modules/mbsinit (Link): Likewise.
9294         * modules/mbslen (Link): Likewise.
9295         * modules/mbsncasecmp (Link): Likewise.
9296         * modules/mbsnlen (Link): Likewise.
9297         * modules/mbsnrtowcs (Link): Likewise.
9298         * modules/mbspbrk (Link): Likewise.
9299         * modules/mbspcasecmp (Link): Likewise.
9300         * modules/mbsrchr (Link): Likewise.
9301         * modules/mbsrtowcs (Link): Likewise.
9302         * modules/mbssep (Link): Likewise.
9303         * modules/mbsspn (Link): Likewise.
9304         * modules/mbsstr (Link): Likewise.
9305         * modules/mbstok_r (Link): Likewise.
9306         * modules/mbswidth (Link): Likewise.
9307         * modules/mbuiter (Link): Likewise.
9308         * modules/mkdir-p (Link): Likewise.
9309         * modules/propername (Link): Likewise.
9310         * modules/quote (Link): Likewise.
9311         * modules/quotearg (Link): Likewise.
9312         * modules/quotearg-simple (Link): Likewise.
9313         * modules/regex-quote (Link): Likewise.
9314         * modules/rpmatch (Link): Likewise.
9315         * modules/sh-quote (Link): Likewise.
9316         * modules/system-quote (Link): Likewise.
9317         * modules/trim (Link): Likewise.
9318         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9319         * modules/unistdio/ulc-fprintf (Link): Likewise.
9320         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9321         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9322         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9323         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9324         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9325         * modules/xfreopen (Link): Likewise.
9326         * modules/xmemcoll (Link): Likewise.
9327         * modules/yesno (Link): Likewise.
9328         * modules/regex (Link): Add $(LIB_MBRTOWC).
9329         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
9330         instead of $(LIBTHREAD).
9331         * modules/argmatch-tests (Makefile.am): Likewise.
9332         * modules/closein-tests (Makefile.am): Likewise.
9333         * modules/copy-file-tests (Makefile.am): Likewise.
9334         * modules/dfa-tests (Makefile.am): Likewise.
9335         * modules/fnmatch-tests (Makefile.am): Likewise.
9336         * modules/glob-tests (Makefile.am): Likewise.
9337         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9338         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9339         * modules/mbrtowc-tests (Makefile.am): Likewise.
9340         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9341         * modules/mbscasestr-tests (Makefile.am): Likewise.
9342         * modules/mbschr-tests (Makefile.am): Likewise.
9343         * modules/mbscspn-tests (Makefile.am): Likewise.
9344         * modules/mbsinit-tests (Makefile.am): Likewise.
9345         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9346         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9347         * modules/mbspbrk-tests (Makefile.am): Likewise.
9348         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9349         * modules/mbsrchr-tests (Makefile.am): Likewise.
9350         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9351         * modules/mbsspn-tests (Makefile.am): Likewise.
9352         * modules/mbsstr-tests (Makefile.am): Likewise.
9353         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9354         * modules/quotearg-tests (Makefile.am): Likewise.
9355         * modules/readtokens-tests (Makefile.am): Likewise.
9356         * modules/sh-quote-tests (Makefile.am): Likewise.
9357         * modules/system-quote-tests (Makefile.am): Likewise.
9358         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9359         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9360         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9361         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9362         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9363         * modules/yesno-tests (Makefile.am): Likewise.
9364         * modules/exclude-tests (Makefile.am): Link the programs with
9365         $(LIB_MBRTOWC).
9366         * modules/regex-tests (Makefile.am): Likewise.
9367         * modules/regex-quote-tests (Makefile.am): Likewise.
9369 2020-01-03  Bruno Haible  <bruno@clisp.org>
9371         getopt-posix: Fix compilation failure in testdirs.
9372         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
9373         when the gnulib module 'getopt-posix' is enabled.
9374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
9375         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
9376         module indicator.
9377         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
9379 2020-01-03  Bruno Haible  <bruno@clisp.org>
9381         doc: Mention the 64-bit inode number problem.
9382         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
9383         64-bit inode number problem.
9384         * doc/posix-functions/stat.texi: Mention that this module fixes the
9385         64-bit inode number problem.
9386         * doc/posix-functions/lstat.texi: Likewise.
9387         * doc/posix-functions/fstat.texi: Likewise.
9388         * doc/posix-functions/readdir.texi: Add more details.
9389         * doc/posix-functions/readdir_r.texi: Likewise.
9391 2020-01-02  Bruno Haible  <bruno@clisp.org>
9393         wcrtomb: Add more tests.
9394         * tests/test-wcrtomb-w32.c: Include localcharset.h.
9395         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9396         locale_charset() returns the expected value; otherwise, skip the test.
9397         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
9398         * tests/test-wcrtomb-w32-7.sh: Likewise.
9399         * modules/wcrtomb-tests (Files): Add these files.
9400         (Depends-on): Add localcharset.
9401         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
9403 2020-01-02  Bruno Haible  <bruno@clisp.org>
9405         mbrtowc: Add more tests.
9406         * tests/test-mbrtowc-w32.c: Include localcharset.h.
9407         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9408         locale_charset() returns the expected value; otherwise, skip the test.
9409         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
9410         * tests/test-mbrtowc-w32-7.sh: Likewise.
9411         * modules/mbrtowc-tests (Files): Add these files.
9412         (Depends-on): Add localcharset.
9413         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
9415 2020-01-02  Bruno Haible  <bruno@clisp.org>
9417         mbrtowc: Fix test failures on MSVC (regression by previous commit).
9418         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
9419         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
9420         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
9421         MBRTOWC_STORES_INCOMPLETE_BUG.
9422         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
9424 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9426         doc: mention glibc bug 24269
9427         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
9428         Reformat slightly so that it looks nicer in the Grep manual.
9430 2020-01-02  Bruno Haible  <bruno@clisp.org>
9432         mbrtowc: Don't replace mbstate_t on MSVC.
9433         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
9434         a missing mbsinit function on native Windows.
9435         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
9436         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
9437         MSVC bug.
9438         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
9440 2020-01-02  Bruno Haible  <bruno@clisp.org>
9442         setlocale-null: Avoid crashing the MSVC linker.
9443         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
9444         MSVC.
9446 2020-01-02  Bruno Haible  <bruno@clisp.org>
9448         wchar: Make the HP-UX workaround work on HP-UX 11.31.
9449         * modules/wchar (Depends-on): Add inttypes-incomplete.
9450         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
9451         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
9452         of strtoimax.
9454 2020-01-02  Bruno Haible  <bruno@clisp.org>
9456         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
9457         * lib/mbrtowc.c: Include <stdint.h>.
9458         * modules/mbrtowc (Depends-on): Add stdint.
9460 2020-01-01  Pádraig Brady  <P@draigBrady.com>
9462         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
9463         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
9464         which will auto enable use of openssl, only for >= version 3,
9465         which is newly licensed under the Apache Software License.
9467 2020-01-01  Bruno Haible  <bruno@clisp.org>
9469         mbrtowc: Include function name in macro names.
9470         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
9471         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
9472         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
9473         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
9474         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
9475         C_LOCALE_MAYBE_EILSEQ.
9477 2020-01-01  Bruno Haible  <bruno@clisp.org>
9479         c32tob: New module.
9480         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
9481         (c32tob): New declaration.
9482         * lib/c32tob.c: New file.
9483         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
9484         macros.
9485         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
9486         * modules/uchar (Depends-on): Add snippet/c++defs.
9487         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
9488         uchar.h.
9489         * modules/c32tob: New file.
9490         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
9491         defined.
9492         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
9493         c32tob.
9494         * modules/uchar-c++-tests (Files): Add tests/signature.h.
9495         * doc/posix-functions/wctob.texi: Mention the new module.
9497 2020-01-01  Bruno Haible  <bruno@clisp.org>
9499         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
9500         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
9501         $(LIB_SETLOCALE).
9503 2020-01-01  Bruno Haible  <bruno@clisp.org>
9505         hard-locale tests: Fix a conflict with the C++ tests.
9506         * modules/hard-locale-tests (Makefile.am): Build a program named
9507         'current-locale', not 'locale'.
9509 2020-01-01  Bruno Haible  <bruno@clisp.org>
9511         doc: Update documentation about wchar_t.
9512         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
9513         wchar_t type.
9515 2020-01-01  Bruno Haible  <bruno@clisp.org>
9517         mbrtowc tests: Fix typos.
9518         * tests/test-mbrtowc.c (main): Fix typo.
9519         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
9521 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9523         maint: update copyright notices
9524         Before doing the following changes done by hand, I also ran ‘make
9525         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
9526         to do most of the copyright years automatically.  A few upstream
9527         sources are still in 2019 but these should eventually be changed
9528         automatically too.
9529         * build-aux/declared.sh (func_version):
9530         * build-aux/libtool-next-version (func_version):
9531         * build-aux/run-test (func_version):
9532         Update these notices by hand.  Put just the last year
9533         in output of programs, as per GNU coding standards.
9535 2019-12-31  Bruno Haible  <bruno@clisp.org>
9537         uchar: Add C++ tests.
9538         * tests/test-uchar-c++.cc: New file.
9539         * tests/test-uchar-c++2.cc: New file.
9540         * modules/uchar-c++-tests: New file.
9542         uchar: Add tests.
9543         * tests/test-uchar.c: New file.
9544         * modules/uchar-tests: New file.
9546         uchar: New module.
9547         * lib/uchar.in.h: New file.
9548         * m4/uchar.m4: New file.
9549         * modules/uchar: New file.
9550         * doc/posix-headers/uchar.texi: Mention the new module.
9552 2019-12-30  Jim Meyering  <meyering@fb.com>
9554         localeinfo: ->simple would be wrong for LC_ALL=C
9555         That would lead to using unnecessary and expensive code paths in dfa.c.
9556         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
9557         error that would have made grep many times slower in the C locale.
9558         With this change, and a file created like this:
9559           yes 00 | head -10000000 > in
9560         Running grep as follows becomes more than 40 times faster:
9561           LC_ALL=C grep -Fw 0 in
9563 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9565         doc: document trouble with back-references
9566         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
9568 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9570         doc: use “back-reference” for \1 etc.
9571         * doc/regex.texi: Consistently spell “back-reference” with
9572         a hyphen, since that’s how POSIX does it.
9574 2019-12-26  Jim Meyering  <meyering@fb.com>
9576         test-framework-sh: tighten an internal grep regexp
9577         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
9578         that helps test for a working printf.
9580 2019-12-26  Bruno Haible  <bruno@clisp.org>
9582         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
9583         Reported by Paul Eggert in
9584         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
9585         Simplification by Jim Meyering.
9586         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
9587         octal escape sequence in a UTF-8 locale.
9589 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
9591         mbrtowc: port better to narrow-wchar_t platforms
9592         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
9593         wchar_t is too narrow to represent all the Unicode characters,
9594         consider a byte sequence for an out-of-wchar_t-range character to
9595         be an encoding error.  This fixes grep’s surrogate-pair test
9596         failure on AIX 7.2.
9598 2019-12-24  Bruno Haible  <bruno@clisp.org>
9600         localcharset: Avoid referencing rpl_setlocale on native Windows.
9601         * lib/localcharset.c (setlocale): Undefine.
9603 2019-12-24  Bruno Haible  <bruno@clisp.org>
9605         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
9606         * m4/semaphore.m4: New file.
9607         * modules/lock-tests (Files): Add it.
9608         (configure.ac): Require gl_SEMAPHORE.
9609         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
9611 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
9613         strptime: fix typo in previous patch
9614         Problem and fix reported by Bruno Haible in:
9615         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
9616         * lib/strptime.c (day_of_the_week): Fix paren bug.
9618 2019-12-24  Bruno Haible  <bruno@clisp.org>
9620         setlocale-null: Make it easy to rely on the lock in another library.
9621         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
9622         defined.
9624 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9626         gethrxtime, mktime, nstrftime, strptime: tweak division performance
9627         Performanced analyzed by Bruno Haible in:
9628         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
9629         * config/srclist.txt: Do not sync mktime.c for now.
9630         * lib/mktime.c (shr, ydhms_diff):
9631         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
9632         * lib/strptime.c (day_of_the_week):
9633         * lib/xtime.h (xtime_sec):
9634         Redo with neither ‘%’ nor conditional branches.
9636 2019-12-23  Bruno Haible  <bruno@clisp.org>
9638         setlocale-null: Export the lock function also on non-Windows platforms.
9639         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
9640         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
9641         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
9642         * modules/setlocale-null (configure.ac): Invoke it.
9643         (Files): Add m4/visibility.m4.
9645 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9647         gethrxtime: fix rounding bug with negative args
9648         Problem reported by Bruno Haible in:
9649         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
9650         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
9651         with negative rounding.  Common platforms can compute / and % with
9652         a single instruction, so the simplified code should be shorter and
9653         faster on these platforms anyway.
9655 2019-12-22  Bruno Haible  <bruno@clisp.org>
9657         gethrxtime: remove incorrect overflow detection
9658         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
9659         integer overflow, as it didn’t suffice.  This reverts the xtime.h
9660         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
9661         cannot now see the need for anyway (even in cases where it works),
9662         as the patch is helpful only when the signs of S and NS disagree,
9663         and all callers pass nonnegative values for S and NS.
9665 2019-12-22  Bruno Haible  <bruno@clisp.org>
9667         setlocale-null: Add standalone include file.
9668         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
9669         * lib/locale.in.h: Include setlocale_null.h.
9670         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
9671         setlocale_null): Remove declarations.
9672         * lib/setlocale_null.c: Include setlocale_null.h.
9673         * lib/localename.c: Likewise.
9674         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
9675         (Depends-on): Add snippet/arg-nonnull.
9676         (Include): Allow either "setlocale_null.h" or <locale.h>.
9678 2019-12-22  Bruno Haible  <bruno@clisp.org>
9680         strfmon_l: Fix test failures on FreeBSD and Cygwin.
9681         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
9682         AC_RUN_IFELSE test.
9683         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
9684         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
9685         problem.
9687 2019-12-22  Bruno Haible  <bruno@clisp.org>
9689         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
9690         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
9691         unconditional AC_LIBOBJ.
9692         * modules/selinux-at: Likewise.
9693         * modules/xmemdup0: Likewise.
9694         * modules/xstrtoll: Likewise.
9696 2019-12-22  Bruno Haible  <bruno@clisp.org>
9698         longlong: Mark module obsolete.
9699         * modules/longlong (Status, Notice): New sections.
9701         stdint: Assume that the compiler supports 'long long'.
9702         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
9703         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
9704         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9705         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
9706         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9707         * modules/stdint (Files): Remove longlong.m4.
9708         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
9709         HAVE_UNSIGNED_LONG_LONG_INT.
9711         inttypes-incomplete: Assume that the compiler supports 'long long'.
9712         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9713         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
9714         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9715         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
9716         HAVE_LONG_LONG_INT to be 1.
9717         * modules/inttypes-incomplete (Makefile.am): Don't substitute
9718         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
9720         malloca: Assume that the compiler supports 'long long'.
9721         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
9722         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
9723         * modules/malloca (Files): Remove longlong.m4.
9724         * modules/relocatable-prog-wrapper (Files): Likewise.
9726         atoll: Assume that the compiler supports 'long long'.
9727         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
9728         * modules/atoll (Files): Remove longlong.m4.
9730         strtoll: Assume that the compiler supports 'long long'.
9731         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
9732         * modules/strtoll (Files): Remove longlong.m4.
9734         strtoull: Assume that the compiler supports 'long long'.
9735         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
9736         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9737         * modules/strtoull (Files): Remove longlong.m4.
9739         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
9740         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
9741         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9742         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
9743         AC_TYPE_LONG_LONG_INT.
9744         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
9745         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9746         * modules/strtoimax (Files): Remove longlong.m4.
9747         * modules/strtoumax (Files): Likewise.
9749         xstrtoll: Assume that the compiler supports 'long long'.
9750         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
9751         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
9753         vasnprintf: Assume that the compiler supports 'long long'.
9754         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
9755         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
9756         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9757         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
9758         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
9759         require AC_TYPE_LONG_LONG_INT.
9760         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9761         gl_PREREQ_VASNPRINTF): Likewise.
9762         * modules/vasnprintf (Files): Remove longlong.m4.
9763         * modules/c-vasnprintf (Files): Likewise.
9764         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9765         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9766         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9767         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9768         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9769         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9770         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9772         gethrxtime: Assume that the compiler supports 'long long'.
9773         * lib/xtime.h (xtime_t): Define to 'long long int' always.
9774         (XTIME_PRECISION): Define to 1000000000 always.
9775         (xtime_make, xtime_sec): Optimize accordingly.
9776         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
9777         * modules/gethrxtime (Files): Remove longlong.m4.
9779         integer_length*: Assume that the compiler supports 'long long'.
9780         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
9781         * modules/integer_length (Files): Remove longlong.m4.
9782         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9783         * modules/integer_length_l (Files): Remove longlong.m4.
9784         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9785         * modules/integer_length_ll (Files): Remove longlong.m4.
9786         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9788         count-one-bits: Assume that the compiler supports 'long long'.
9789         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
9790         * m4/count-one-bits.m4: Remove file.
9791         * modules/count-one-bits (Files): Remove it.
9792         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
9793         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
9794         unconditionally.
9796         count-trailing-zeros: Assume that the compiler supports 'long long'.
9797         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
9798         unconditionally.
9799         * m4/count-trailing-zeros.m4: Remove file.
9800         * modules/count-trailing-zeros (Files): Remove it.
9801         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
9802         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
9803         unconditionally.
9805         count-leading-zeros: Assume that the compiler supports 'long long'.
9806         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
9807         unconditionally.
9808         * m4/count-leading-zeros.m4: Remove file.
9809         * modules/count-leading-zeros (Files): Remove it.
9810         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
9811         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
9812         unconditionally.
9814 2019-12-22  Bruno Haible  <bruno@clisp.org>
9816         localcharset: Update support for OpenBSD.
9817         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
9819 2019-12-21  Bruno Haible  <bruno@clisp.org>
9821         pthread_sigmask: Avoid test failure on NetBSD 8.0.
9822         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
9823         NetBSD.
9824         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
9826 2019-12-21  Bruno Haible  <bruno@clisp.org>
9828         threadlib: Improve code structure.
9829         * m4/threadlib.m4: Reorder macros. Add comments.
9831 2019-12-21  Bruno Haible  <bruno@clisp.org>
9833         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
9834         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
9835         here from m4/threads.m4).
9836         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
9837         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
9838         (gl_STDTHREADLIB): New macro.
9839         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
9840         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
9842 2019-12-21  Bruno Haible  <bruno@clisp.org>
9844         sched_yield: Don't depend on threadlib and yield.
9845         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
9846         LIB_SCHED_YIELD.
9847         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
9848         m4/yield.m4).
9849         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
9850         gl_THREADLIB and gl_YIELD.
9851         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
9852         based on $(LIB_SCHED_YIELD).
9853         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
9854         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9855         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
9856         (Depends-on): Remove threadlib.
9857         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9858         * modules/threads-h (Files): Remove m4/yield.m4.
9859         * modules/pthread-cond-tests (Makefile.am): Link the programs against
9860         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9861         * modules/pthread-mutex-tests (Makefile.am): Likewise.
9862         * modules/pthread-once-tests (Makefile.am): Likewise.
9863         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
9864         * modules/pthread-tss-tests (Makefile.am): Likewise.
9866 2019-12-21  Bruno Haible  <bruno@clisp.org>
9868         threads-h: Don't depend on threadlib.
9869         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
9870         not gl_THREADLIB_EARLY.
9872 2019-12-21  Bruno Haible  <bruno@clisp.org>
9874         nl_langinfo tests: Fix link error (regression from 2019-12-18).
9875         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
9876         with $(LIB_SETLOCALE).
9878 2019-12-21  Bruno Haible  <bruno@clisp.org>
9880         threadlib: Remove unused dependency (left over from 2019-07-06).
9881         * modules/threadlib (Depends-on): Remove havelib.
9883 2019-12-21  Bruno Haible  <bruno@clisp.org>
9885         New convention for multithread-safety tests.
9886         * tests/test-setlocale_null-mt-one.c: Renamed from
9887         tests/test-setlocale_null-one.c.
9888         * tests/test-setlocale_null-mt-all.c: Renamed from
9889         tests/test-setlocale_null-all.c.
9890         * modules/setlocale-null-tests (Files, Makefile.am): Update.
9892 2019-12-21  Bruno Haible  <bruno@clisp.org>
9894         quotearg tests: Fix conflict with hard-locale tests.
9895         * tests/testlocale: Renamed from tests/locale.
9896         * modules/quotearg-tests (Files): Update.
9897         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
9899 2019-12-21  Bruno Haible  <bruno@clisp.org>
9901         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
9902         Reported by Daniel Richard G. in
9903         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
9904         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
9905         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
9906         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
9907         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
9908         alternative to PTHREAD_RWLOCK_INITIALIZER.
9909         * lib/glthread/lock.c: Likewise.
9911 2019-12-21  Bruno Haible  <bruno@clisp.org>
9913         memcmp tests: Work around the clang bug.
9914         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
9915         the clang optimization.
9917 2019-12-20  Bruno Haible  <bruno@clisp.org>
9919         localcharset: Add support for z/OS encoding names.
9920         * lib/localcharset.h: Mention which encodings are used as locale
9921         encodings on z/OS.
9923 2019-12-20  Bruno Haible  <bruno@clisp.org>
9925         iconv_open: Add support for z/OS encoding names.
9926         Reported by Daniel Richard G. in
9927         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
9928         * lib/iconv_open-zos.gperf: New file.
9929         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
9930         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
9931         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
9932         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
9933         * doc/posix-functions/iconv_open.texi: Mention z/OS.
9935 2019-12-20  Bruno Haible  <bruno@clisp.org>
9937         doc: Document the problem of the per-thread locale functions on z/OS.
9938         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
9939         * doc/posix-functions/newlocale.texi: Likewise.
9940         * doc/posix-functions/duplocale.texi: Likewise.
9941         * doc/posix-functions/freelocale.texi: Likewise.
9943 2019-12-20  Bruno Haible  <bruno@clisp.org>
9945         localename, gettext: Fix host_os value for z/OS.
9946         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
9947         cross-configuration code.
9949 2019-12-19  Jim Meyering  <meyering@fb.com>
9951         nstrftime: avoid a shadowing warning
9952         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
9953         to avoid shadowing an "i" declared hundreds of lines above.
9955 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9957         dfa: struct dfamust now uses flexible array
9958         * lib/dfa.c: Include flexmember.h.
9959         (dfamust, dfamustfree): Adjust to struct dfamust change.
9960         This saves a call to malloc+free.
9961         * lib/dfa.h (struct dfamust): Make the final member a
9962         flexible array member.
9963         * modules/dfa (Depends-on): Add flexmember.
9965         dfa: fast->small for array elements
9966         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
9967         since this type is used in arrays.  This change is more for
9968         documentation than for any practical effect, since the two types
9969         are the same on all known platforms.
9971 2019-12-19  Bruno Haible  <bruno@clisp.org>
9973         iconv tests: Test canonicalized, not system-dependent, encoding names.
9974         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
9975         * modules/iconv-tests (Depends-on): Add iconv_open.
9977 2019-12-18  Bruno Haible  <bruno@clisp.org>
9979         localename: Fix test failure on AIX 7.2.
9980         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
9981         locales on AIX.
9982         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
9983         locales on AIX.
9985 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9987         Improve port of AC_C_RESTRICT to Oracle C++
9988         Problem reported by Christian Biesinger in:
9989         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
9990         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
9991         Oracle Developer Studio C++ 12.5 or later.
9993 2019-12-18  Bruno Haible  <bruno@clisp.org>
9995         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
9996         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
9998 2019-12-18  Bruno Haible  <bruno@clisp.org>
10000         localename: Ensure multithread-safety in future changes.
10001         * lib/localename.c (setlocale): Reference the system's setlocale().
10002         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
10003         (gl_locale_name_posix): Likewise.
10004         * modules/localename (Depends-on): Add setlocale-null.
10006 2019-12-18  Bruno Haible  <bruno@clisp.org>
10008         setlocale-null: Make API more useful.
10009         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
10010         callers changed.
10011         (setlocale_null): New declaration.
10012         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
10013         extracted from setlocale_null_unlocked.
10014         (setlocale_null_unlocked): Invoke it.
10015         (setlocale_null_r): Renamed from setlocale_null.
10016         (setlocale_null): New function, extracted from setlocale_mtsafe in
10017         setlocale.c.
10018         * lib/setlocale.c: Don't include <errno.h>.
10019         (setlocale_mtsafe): Invoke setlocale_null.
10020         * lib/setlocale-lock.c: Update comments.
10021         * doc/posix-functions/setlocale.texi: Mention both functions.
10023 2019-12-18  Bruno Haible  <bruno@clisp.org>
10025         localename: Optimize code for native Windows.
10026         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
10027         category (not allowed here).
10029 2019-12-18  Bruno Haible  <bruno@clisp.org>
10031         setlocale: Make calls with NULL argument multithread-safe.
10032         * lib/setlocale.c: Include <errno.h>.
10033         (setlocale_mtsafe): New function.
10034         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
10035         (setlocale_improved): Renamed from rpl_setlocale.
10036         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10037         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
10038         LIB_SETLOCALE.
10039         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
10040         (Link): New section.
10041         * tests/locale.c: Undefine setlocale.
10042         * tests/test-setlocale_null-one.c: Likewise.
10043         * tests/test-setlocale_null-all.c: Likewise.
10044         * modules/setlocale-tests (Makefile.am): Link the test programs with
10045         $(LIB_SETLOCALE).
10046         * modules/astrxfrm-tests (Makefile.am): Likewise.
10047         * modules/btowc-tests (Makefile.am): Likewise.
10048         * modules/c-ctype-tests (Makefile.am): Likewise.
10049         * modules/c-snprintf-tests (Makefile.am): Likewise.
10050         * modules/c-strcase-tests (Makefile.am): Likewise.
10051         * modules/c-vasprintf-tests (Makefile.am): Likewise.
10052         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
10053         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
10054         * modules/dfa-tests (Makefile.am): Likewise.
10055         * modules/duplocale-tests (Makefile.am): Likewise.
10056         * modules/hard-locale-tests (Makefile.am): Likewise.
10057         * modules/localcharset-tests (Makefile.am): Likewise.
10058         * modules/localename-tests (Makefile.am): Likewise.
10059         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10060         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10061         * modules/mbrtowc-tests (Makefile.am): Likewise.
10062         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10063         * modules/mbscasestr-tests (Makefile.am): Likewise.
10064         * modules/mbschr-tests (Makefile.am): Likewise.
10065         * modules/mbscspn-tests (Makefile.am): Likewise.
10066         * modules/mbsinit-tests (Makefile.am): Likewise.
10067         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10068         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10069         * modules/mbspbrk-tests (Makefile.am): Likewise.
10070         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10071         * modules/mbsrchr-tests (Makefile.am): Likewise.
10072         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10073         * modules/mbsspn-tests (Makefile.am): Likewise.
10074         * modules/mbsstr-tests (Makefile.am): Likewise.
10075         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10076         * modules/quotearg-tests (Makefile.am): Likewise.
10077         * modules/regex-tests (Makefile.am): Likewise.
10078         * modules/strfmon_l-tests (Makefile.am): Likewise.
10079         * modules/strtod-tests (Makefile.am): Likewise.
10080         * modules/strtold-tests (Makefile.am): Likewise.
10081         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10082         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10083         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10084         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
10085         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10086         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10087         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10088         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10089         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10090         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10091         * modules/wcrtomb-tests (Makefile.am): Likewise.
10092         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10093         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10094         * modules/wcwidth-tests (Makefile.am): Likewise.
10095         * doc/posix-functions/setlocale.texi: Mention that the multithread-
10096         safety fix is also available in module 'setlocale'.
10098 2019-12-18  Bruno Haible  <bruno@clisp.org>
10100         hard-locale: Make multithread-safe.
10101         * lib/hard-locale.h (hard_locale): Move documentation to here.
10102         * lib/hard-locale.c: Don't include <stdlib.h>.
10103         (GLIBC_VERSION): Remove macro.
10104         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
10105         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
10106         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
10107         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
10108         (Link): New section.
10109         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
10110         $(LIB_HARD_LOCALE).
10112 2019-12-18  Bruno Haible  <bruno@clisp.org>
10114         hard-locale: Avoid test failure on Haiku.
10115         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
10117 2019-12-18  Bruno Haible  <bruno@clisp.org>
10119         setlocale-null: Handle NULL result from setlocale.
10120         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
10121         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
10122         from setlocale or _wsetlocale.
10124 2019-12-18  Bruno Haible  <bruno@clisp.org>
10126         hard-locale: Add test.
10127         * tests/test-hard-locale.c: New file.
10128         * tests/locale.c: New file.
10129         * modules/hard-locale-tests: New file.
10131 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10133         dfa: do not match invalid UTF-8
10134         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
10135         from 5 to 9 tokens; this is needed due to the changes to
10136         add_utf8_anychar.
10137         (charclass_index): 2nd arg is now pointer-to-const.
10138         (add_utf8_anychar): Match only valid UTF-8 byte sequences
10139         instead of allowing overlong encodings or surrogate halves.
10141         dfa: simplify charclass by assuming C99
10142         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
10143         (charclass_word): Now always uint_fast64_t.
10144         (CHARCLASS_PAIR): Remove.
10145         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
10147         fts: tune via calloc
10148         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
10150         dfa: tune via xzalloc
10151         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
10153 2019-12-17  Bruno Haible  <bruno@clisp.org>
10155         localcharset: Fix multithread-safety bug on Windows and OS/2.
10156         * lib/localcharset.h (locale_charset): Clarify when the result becomes
10157         invalid.
10158         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
10159         assemble the result.
10161 2019-12-17  Bruno Haible  <bruno@clisp.org>
10163         localcharset: Optimize code for native Windows.
10164         * lib/localcharset.c (locale_charset): Don't bother calling
10165         setlocale (LC_ALL, NULL) since we're not interested in its result.
10167 2019-12-17  Bruno Haible  <bruno@clisp.org>
10169         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
10170         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
10171         setlocale.
10172         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
10173         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
10174         * modules/nl_langinfo (Depends-on): Add setlocale-null.
10176 2019-12-17  Bruno Haible  <bruno@clisp.org>
10178         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
10179         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
10180         stack-allocated buffer to assemble each result and different static
10181         buffers to return it.
10182         * tests/test-nl_langinfo-mt.c: New file.
10183         * modules/nl_langinfo-tests (Files): Add it.
10184         (Depends-on): Add thread, nanosleep.
10185         (Makefile.am): Build test-nl_langinfo-mt test.
10187 2019-12-17  Bruno Haible  <bruno@clisp.org>
10189         langinfo: Document more details.
10190         * doc/posix-headers/langinfo.texi: List platform details.
10191         * doc/posix-functions/nl_langinfo.texi: Likewise.
10193 2019-12-17  Bruno Haible  <bruno@clisp.org>
10195         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
10196         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
10197         and Martin Storsjö <martin@martin.st>
10198         in <https://savannah.gnu.org/bugs/?57406>.
10199         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
10200         mingw.
10202 2019-12-17  Bruno Haible  <bruno@clisp.org>
10204         glob: Avoid warning on mingw.
10205         Reported by Christian Biesinger <cbiesinger@google.com> in
10206         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
10207         * lib/glob.c (__stat64): Undefine first.
10209 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10211         xalloc: tune xzalloc for fresh allocations
10212         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
10213         because when the memory is freshly allocated from the OS via sbrk
10214         or mmap, calloc can avoid doing the memset.
10216         dfa: new function dfacopysyntax
10217         * lib/dfa.c (struct dfa): Move syntax member later so
10218         that dfacopysyntax can easily clear earlier members.
10219         (dfacopysyntax): New function, used by Gawk.
10221 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10223         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
10224         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
10225         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
10226         if not already defined.
10228         dfa: remove one dependency on MB_CUR_MAX
10229         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
10231         dfa: remove struct lexer_state.cur_mb_len
10232         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
10233         as it’s not needed and the code is simpler without it.
10234         All uses removed.
10236 2019-12-16  Bruno Haible  <bruno@clisp.org>
10238         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
10239         Reported by Arnold Robbins <arnold@skeeve.com>.
10240         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
10241         copied from lib/glthread/lock.h.
10242         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
10243         (setlocale_null_with_lock): If pthread_in_use() is false, use
10244         setlocale_null_unlocked directly.
10245         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
10246         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
10247         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
10248         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
10249         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
10250         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
10252 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10254         dfa: make dfasyntax thread-safe
10255         Problem reported by Bruno Haible in:
10256         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
10257         * lib/dfa.c: Do not include locale.h.
10258         (struct dfa): Remove simple_locale member.
10259         All uses replaced by localeinfo.simple.
10260         (using_simple_locale): Remove; now present (with some
10261         changes) in localeinfo.c.
10262         (dfasyntax): No need to initialize removed member.
10264         localeinfo: record whether locale is simple
10265         * lib/localeinfo.c (using_simple_locale): New function,
10266         copied here from lib/dfa.c but with a change: it uses
10267         strcoll for its heuristic, instead of using setlocale.
10268         This lets it be thread-safe.
10269         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
10271 2019-12-15  Bruno Haible  <bruno@clisp.org>
10273         duplocale: Fix multithread-safety bug on AIX.
10274         * lib/duplocale.c: Don't include <stdlib.h>.
10275         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
10276         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10277         Set LIB_DUPLOCALE.
10278         * modules/duplocale (Depends-on): Add setlocale-null.
10279         (Link): New section.
10280         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
10281         $(LIB_DUPLOCALE).
10283 2019-12-15  Bruno Haible  <bruno@clisp.org>
10285         setlocale-null: Add tests.
10286         * tests/test-setlocale_null.c: New file.
10287         * tests/test-setlocale_null-one.c: New file.
10288         * tests/test-setlocale_null-all.c: New file.
10289         * modules/setlocale-null-tests: New file.
10291         setlocale-null: New module.
10292         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
10293         setlocale_null): New declarations.
10294         * lib/setlocale_null.c: New file.
10295         * lib/setlocale-lock.c: New file.
10296         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
10297         * m4/setlocale_null.m4: New file.
10298         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
10299         GNULIB_SETLOCALE_NULL.
10300         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
10301         * modules/setlocale-null: New file.
10302         * doc/posix-functions/setlocale.texi: Mention the new module.
10304 2019-12-15  Bruno Haible  <bruno@clisp.org>
10306         lock tests: Skip test when no multithreading is enabled.
10307         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
10309 2019-12-14  Bruno Haible  <bruno@clisp.org>
10311         locale, duplocale, localename: Fix last patch.
10312         Reported by Daniel Richard G. in
10313         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
10314         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
10315         Don't define if locale_t does not exist.
10317 2019-12-13  Bruno Haible  <bruno@clisp.org>
10319         locale, duplocale, localename: Fix errors if locale_t does not exist.
10320         Reported by Daniel Richard G. in
10321         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
10322         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
10323         macros.
10324         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
10325         HAVE_NEWLOCALE.
10326         * tests/test-localename.c: Likewise.
10327         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
10328         HAVE_DUPLOCALE.
10329         * tests/test-locale-c++.cc: Likewise.
10331 2019-12-13  Bruno Haible  <bruno@clisp.org>
10333         wcstok: Fix test failure on HP-UX.
10334         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
10335         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
10337 2019-12-12  Bruno Haible  <bruno@clisp.org>
10339         strtod, strtold tests: Avoid test failure on AIX 7.2.
10340         * tests/test-strtod1.c (main): Allow implementations in which ',' and
10341         '.' both are radix characters.
10342         * tests/test-strtold1.c (main): Likewise.
10344 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10346         dfa: prefer ptrdiff_t for API, too
10347         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
10348         but do this only for internal use for now.
10349         * NEWS: Mention the API change.
10350         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
10351         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
10352         values known to be nonnegative.
10353         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
10354         Prefer idx_t or ptrdiff_t to size_t for API.
10355         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
10356         Prefer ptrdiff_t to size_t for API.
10358         stdalign: port to xlclang 16.01
10359         Problem reportd by Bruno Haible in:
10360         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
10361         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
10362         ((__aligned__ (...))) with xlclang, as a top-level
10363         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
10364         xlclang version 16.01.0000.0001; the alignment directive is ignored.
10366 2019-12-12  Bruno Haible  <bruno@clisp.org>
10368         duplocale: Fix test failure on AIX 7.2 with xlclang.
10369         * lib/duplocale.c: Include <stdlib.h>.
10370         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
10371         value.
10373 2019-12-12  Bruno Haible  <bruno@clisp.org>
10375         stddef: Document the AIX xlc issue.
10376         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
10378 2019-12-12  Bruno Haible  <bruno@clisp.org>
10380         duplocale: Don't attempt to override if locale_t does not exist.
10381         Reported by Daniel Richard G. in
10382         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
10383         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
10384         HAVE_DUPLOCALE to 0.
10386 2019-12-12  Bruno Haible  <bruno@clisp.org>
10388         wcwidth: Avoid test failure on AIX 7.2.
10389         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
10390         negative.
10391         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
10393 2019-12-12  Bruno Haible  <bruno@clisp.org>
10395         ilogbl: Work around Cygwin bug.
10396         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
10397         correct.
10398         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
10400 2019-12-12  Bruno Haible  <bruno@clisp.org>
10402         strtold: Work around Cygwin bug.
10403         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
10404         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
10405         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
10406         STRTOLD_HAS_UNDERFLOW_BUG is defined.
10407         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
10409 2019-12-12  Bruno Haible  <bruno@clisp.org>
10411         strtold: Fix autoconf test.
10412         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
10414 2019-12-11  Bruno Haible  <bruno@clisp.org>
10416         fsync tests: Skip test that is known to fail.
10417         * doc/posix-functions/fsync.texi: Update list of platforms.
10418         * tests/test-fsync.c (main): Skip test with read-only file descriptors
10419         that is known to fail on AIX and Cygwin.
10421 2019-12-11  Bruno Haible  <bruno@clisp.org>
10423         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
10424         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
10425         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
10426         HAVE_GETADDRINFO as a C macro.
10427         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
10428         declare as replacement functions.
10429         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
10430         define as no-op overrides.
10431         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
10432         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
10433         * modules/getaddrinfo (Depends-on, configure.ac): Test
10434         REPLACE_GETADDRINFO.
10435         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
10436         problem.
10437         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
10438         convention problems.
10440 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10442         dfa: prefer signed integers for internals
10443         Signed integers can be checked more easily for integer overflow.
10444         * lib/dfa.c (position, struct lexer_state, struct parser_state)
10445         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
10446         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
10447         (nsubtoks, copytoks, closure, alloc_position_set, delete)
10448         (replace, state_index, epsclosure, charclass_context)
10449         (state_separate_contexts, merge_nfa_state, dfaoptimize)
10450         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
10451         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
10452         (comsubs, inboth, allocmust):
10453         Prefer a signed to an unsigned integer when calculating indexes,
10454         unless the integer is part of the external API (a bigger deal,
10455         and to be done later).
10457         dfa: fix index overflow
10458         * lib/dfa.c (compare): Avoid integer overflow when analyzing
10459         very large regular expressions.
10461         dfa: update commentary for previous change
10462         * NEWS: Mention the change.
10463         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
10465 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10467         dfa: separate parse and compile phase
10468         ‘dfamust’ must be called after parsing and before tokens are
10469         reordered, but both are executed in the compilation phase.
10470         Token reordering was introduced in Gnulib commit
10471         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
10472         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
10473         * lib/dfa.c (dfaparse): Change it to global function.
10474         (dfacomp): If first argument is NULL, skip parse.
10475         * lib/dfa.h: (dfaparse): Add a prototype.
10477 2019-12-11  Bruno Haible  <bruno@clisp.org>
10479         unistd tests: Fix link error on MSVC.
10480         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
10481         $(LIB_GETLOGIN).
10483 2019-12-11  Bruno Haible  <bruno@clisp.org>
10485         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
10486         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
10487         and POSIX substitutes are supported in C++ mode.
10488         * NEWS: Likewise.
10490 2019-12-11  Bruno Haible  <bruno@clisp.org>
10492         stddef: Fix compilation error in C++ mode on MSVC.
10493         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
10494         instead, include <cstddef>.
10496 2019-12-11  Bruno Haible  <bruno@clisp.org>
10498         unistd: Fix compilation error in C++ mode on MSVC.
10499         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
10500         does not have <unistd.h>.
10502 2019-12-11  Bruno Haible  <bruno@clisp.org>
10504         locale: Fix compilation error in C++ mode on MSVC.
10505         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
10506         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
10507         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
10508         int_n_sep_by_space): Define as macros on MSVC.
10510 2019-12-11  Bruno Haible  <bruno@clisp.org>
10512         wchar: Fix compilation error in C++ mode on MSVC.
10513         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
10515 2019-12-11  Bruno Haible  <bruno@clisp.org>
10517         pthread-thread: Fix compilation error in C++ mode on MSVC.
10518         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
10519         _GL_CXXALIAS_RPL invocation.
10521 2019-12-08  Bruno Haible  <bruno@clisp.org>
10523         Fix compilation errors in C++ mode on Haiku.
10524         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
10525         non-glibc systems.
10526         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
10527         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10528         posix_spawnattr_setschedparam): Likewise.
10529         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
10530         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10531         * lib/unistd.in.h (usleep): Likewise.
10533 2019-12-08  Bruno Haible  <bruno@clisp.org>
10535         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
10536         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
10537         * modules/fseeko (configure.ac-early): Require it instead of
10538         AC_FUNC_FSEEKO.
10539         * modules/ftello (configure.ac-early): Likewise.
10540         * modules/fflush (configure.ac-early): Likewise.
10542 2019-12-08  Bruno Haible  <bruno@clisp.org>
10544         Fix compilation error in C++ mode on HP-UX 11.
10545         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
10546         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
10548 2019-12-08  Bruno Haible  <bruno@clisp.org>
10550         Fix compilation errors on HP-UX 11/ia64.
10551         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
10552         _GL_FUNCDECL_SYS.
10554 2019-12-08  Bruno Haible  <bruno@clisp.org>
10556         Fix compilation error in C++ mode on OpenBSD.
10557         * lib/signal.in.h (signal): Declare on OpenBSD.
10559 2019-12-08  Bruno Haible  <bruno@clisp.org>
10561         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
10562         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
10563         instead of #error.
10565 2019-12-08  Bruno Haible  <bruno@clisp.org>
10567         Fix compilation errors in C++ mode on FreeBSD.
10568         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
10569         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
10570         * lib/threads.in.h (thrd_exit): Likewise.
10571         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
10573 2019-12-08  Bruno Haible  <bruno@clisp.org>
10575         Fix compilation errors in C++ mode on macOS and FreeBSD.
10576         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
10577         or FreeBSD with clang, use the approach without C preprocessor macro.
10579 2019-12-07  Bruno Haible  <bruno@clisp.org>
10581         Fix compilation errors in C++ mode on AIX with xlclang++.
10582         Reported by Christian Biesinger <cbiesinger@google.com> in
10583         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10584         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
10586 2019-12-07  Bruno Haible  <bruno@clisp.org>
10588         Document compilation error in C++ mode on NetBSD 8.0.
10589         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
10591 2019-12-07  Bruno Haible  <bruno@clisp.org>
10593         Fix compilation errors in C++ mode on Solaris 10.
10594         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
10595         to non-empty on Solaris with a non-GCC compiler.
10596         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
10598 2019-12-07  Bruno Haible  <bruno@clisp.org>
10600         Reword NEWS entry.
10601         * NEWS: Reword the latest NEWS entry.
10603 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
10605         Move xstrtol_fatal to a new xstrtol-error module.
10606         * lib/xstrtol.h: Stop including <getopt.h>.
10607         (xstrtol_fatal): Move ...
10608         * lib/xstrtol-error.h: ... here.  New file.
10609         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
10610         * tests/test-xstrtol.c: Likewise.
10611         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
10612         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
10613         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
10614         * modules/xstrtol-error: New file.
10615         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
10616         * MODULES.html.sh: Add xstrtol-error.
10617         * NEWS: Document the change.
10619 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
10621         nstrftime: better width support for %N, %z
10622         * lib/nstrftime.c (width_add, width_add1, width_cpy):
10623         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
10624         a new WIDTH parameter.
10625         (add, add1, cpy): Use these macros.
10626         (width_add): Do not treat digits == 0 as a special case,
10627         do not pad if padding is ‘-’, and do not use a negative width.
10628         (__strftime_internal): Redo formatting of nanoseconds and numeric
10629         timezones to avoid buffer misuse in unusual cases, and so that
10630         widths make more sense.  Add support for widths greater than 9 to
10631         the %N format; they are zero filled on the right.
10632         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
10634 2019-12-05  Bruno Haible  <bruno@clisp.org>
10636         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
10637         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
10638         set REPLACE_ISFINITE to 1.
10639         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
10640         REPLACE_ISINF to 1.
10641         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
10642         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
10643         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10644         * lib/threads.in.h (call_once): Likewise.
10645         * lib/iconv.in.h (iconv): Likewise.
10647 2019-12-05  Bruno Haible  <bruno@clisp.org>
10649         wchar: Add more C++ tests.
10650         Reported by Christian Biesinger <cbiesinger@google.com> in
10651         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10652         * tests/test-wchar-c++3.cc: New file.
10653         * modules/wchar-c++-tests (Files): Add it.
10654         (Makefile.am): Compile it.
10656 2019-12-05  Bruno Haible  <bruno@clisp.org>
10658         Add more C++ tests.
10660         assert-h: Add C++ tests.
10661         * tests/test-assert-h-c++.cc: New file.
10662         * tests/test-assert-h-c++2.cc: New file.
10663         * modules/assert-h-c++-tests: New file.
10664         * modules/assert-h-tests: New file.
10666         ctype: Add C++ tests.
10667         * tests/test-ctype-c++.cc: New file.
10668         * tests/test-ctype-c++2.cc: New file.
10669         * modules/ctype-c++-tests: New file.
10670         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
10672         errno: Add C++ tests.
10673         * tests/test-errno-c++.cc: New file.
10674         * tests/test-errno-c++2.cc: New file.
10675         * modules/errno-c++-tests: New file.
10676         * modules/errno-tests (Depends-on): Add errno-c++-tests.
10678         float: Add C++ tests.
10679         * tests/test-float-c++.cc: New file.
10680         * tests/test-float-c++2.cc: New file.
10681         * modules/float-c++-tests: New file.
10682         * modules/float-tests (Depends-on): Add float-c++-tests.
10684         inttypes: Add more C++ tests.
10685         * tests/test-inttypes-c++2.cc: New file.
10686         * modules/inttypes-c++-tests (Files): Add it.
10687         (Makefile.am): Compile it.
10689         limits-h: Add C++ tests.
10690         * tests/test-limits-h-c++.cc: New file.
10691         * tests/test-limits-h-c++2.cc: New file.
10692         * modules/limits-h-c++-tests: New file.
10693         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
10695         stdarg: Add C++ tests.
10696         * tests/test-stdarg-c++.cc: New file.
10697         * tests/test-stdarg-c++2.cc: New file.
10698         * modules/stdarg-c++-tests: New file.
10699         * modules/stdarg-tests: New file.
10701         stdbool: Add C++ tests.
10702         * tests/test-stdbool-c++.cc: New file.
10703         * tests/test-stdbool-c++2.cc: New file.
10704         * modules/stdbool-c++-tests: New file.
10705         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
10707         stddef: Add C++ tests.
10708         * tests/test-stddef-c++.cc: New file.
10709         * tests/test-stddef-c++2.cc: New file.
10710         * modules/stddef-c++-tests: New file.
10711         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
10713         stdint: Add C++ tests.
10714         * tests/test-stdint-c++.cc: New file.
10715         * tests/test-stdint-c++2.cc: New file.
10716         * modules/stdint-c++-tests: New file.
10717         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
10719         wchar: Add more C++ tests.
10720         * tests/test-wchar-c++2.cc: New file.
10721         * modules/wchar-c++-tests (Files): Add it.
10722         (Makefile.am): Compile it.
10724         wctype-h: Add more C++ tests.
10725         * tests/test-wctype-h-c++2.cc: New file.
10726         * modules/wctype-h-c++-tests (Files): Add it.
10727         (Makefile.am): Compile it.
10729 2019-12-04  Bruno Haible  <bruno@clisp.org>
10731         Fix compilation errors in C++ mode with xlclang++ on AIX.
10732         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
10733         C++ mode on AIX.
10734         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
10735         without C preprocessor macro.
10736         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
10737         _GL_CXXALIAS_SYS.
10738         * lib/threads.in.h (thrd_exit): Likewise.
10740 2019-12-04  Bruno Haible  <bruno@clisp.org>
10742         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
10743         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
10744         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
10746 2019-12-04  Bruno Haible  <bruno@clisp.org>
10748         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
10749         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
10750         _GL_CXXALIASWARN invocation on non-glibc systems.
10751         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
10752         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
10753         iswctype, towlower, towupper): Likewise.
10755 2019-12-03  Bruno Haible  <bruno@clisp.org>
10757         Avoid hassles caused by [[noreturn]] in C++.
10758         Reported by Christian Biesinger <cbiesinger@google.com> in
10759         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
10760         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
10761         * lib/_Noreturn.h: Likewise.
10763 2019-12-02  Bruno Haible  <bruno@clisp.org>
10765         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
10766         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
10767         LIBMULTITHREAD.
10768         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
10769         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
10770         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
10771         gl_THREADLIB.
10772         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
10774 2019-12-02  Bruno Haible  <bruno@clisp.org>
10776         Fix some more link errors with --enable-threads=isoc.
10777         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
10778         * modules/pthread-rwlock (Depends-on): Likewise.
10780 2019-12-02  Bruno Haible  <bruno@clisp.org>
10782         Fix link errors with --enable-threads=posix on AIX.
10783         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
10784         program with $(LIBTHREAD).
10785         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
10786         program with $(LIBTHREAD).
10788 2019-12-02  Bruno Haible  <bruno@clisp.org>
10790         Fix link errors with --enable-threads=posix on AIX.
10791         * modules/mbrtowc (Link): New section.
10792         * modules/acl (Link): Likewise.
10793         * modules/argmatch (Link): Likewise.
10794         * modules/backup-rename (Link): Likewise.
10795         * modules/backupfile (Link): Likewise.
10796         * modules/closein (Link): Likewise.
10797         * modules/closeout (Link): Likewise.
10798         * modules/copy-file (Link): Likewise.
10799         * modules/csharpcomp (Link): Likewise.
10800         * modules/csharpexec (Link): Likewise.
10801         * modules/dfa (Link): Likewise.
10802         * modules/exclude (Link): Likewise.
10803         * modules/fnmatch (Link): Likewise.
10804         * modules/fnmatch-gnu (Link): Likewise.
10805         * modules/fnmatch-posix (Link): Likewise.
10806         * modules/glob (Link): Likewise.
10807         * modules/human (Link): Likewise.
10808         * modules/javacomp (Link): Likewise.
10809         * modules/javaexec (Link): Likewise.
10810         * modules/javaversion (Link): Likewise.
10811         * modules/mbfile (Link): Likewise.
10812         * modules/mbiter (Link): Likewise.
10813         * modules/mbmemcasecmp (Link): Likewise.
10814         * modules/mbmemcasecoll (Link): Likewise.
10815         * modules/mbrlen (Link): Likewise.
10816         * modules/mbscasecmp (Link): Likewise.
10817         * modules/mbscasestr (Link): Likewise.
10818         * modules/mbschr (Link): Likewise.
10819         * modules/mbscspn (Link): Likewise.
10820         * modules/mbsinit (Link): Likewise.
10821         * modules/mbslen (Link): Likewise.
10822         * modules/mbsncasecmp (Link): Likewise.
10823         * modules/mbsnlen (Link): Likewise.
10824         * modules/mbsnrtowcs (Link): Likewise.
10825         * modules/mbspbrk (Link): Likewise.
10826         * modules/mbspcasecmp (Link): Likewise.
10827         * modules/mbsrchr (Link): Likewise.
10828         * modules/mbsrtowcs (Link): Likewise.
10829         * modules/mbssep (Link): Likewise.
10830         * modules/mbsspn (Link): Likewise.
10831         * modules/mbsstr (Link): Likewise.
10832         * modules/mbstok_r (Link): Likewise.
10833         * modules/mbswidth (Link): Likewise.
10834         * modules/mbuiter (Link): Likewise.
10835         * modules/mkdir-p (Link): Likewise.
10836         * modules/propername (Link): Likewise.
10837         * modules/quote (Link): Likewise.
10838         * modules/quotearg (Link): Likewise.
10839         * modules/quotearg-simple (Link): Likewise.
10840         * modules/regex-quote (Link): Likewise.
10841         * modules/rpmatch (Link): Likewise.
10842         * modules/sh-quote (Link): Likewise.
10843         * modules/system-quote (Link): Likewise.
10844         * modules/trim (Link): Likewise.
10845         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10846         * modules/unistdio/ulc-fprintf (Link): Likewise.
10847         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10848         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10849         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10850         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10851         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10852         * modules/xfreopen (Link): Likewise.
10853         * modules/xmemcoll (Link): Likewise.
10854         * modules/yesno (Link): Likewise.
10855         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
10856         * modules/argmatch-tests (Makefile.am): Likewise.
10857         * modules/closein-tests (Makefile.am): Likewise.
10858         * modules/copy-file-tests (Makefile.am): Likewise.
10859         * modules/dfa-tests (Makefile.am): Likewise.
10860         * modules/fnmatch-tests (Makefile.am): Likewise.
10861         * modules/glob-tests (Makefile.am): Likewise.
10862         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10863         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10864         * modules/mbrtowc-tests (Makefile.am): Likewise.
10865         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10866         * modules/mbscasestr-tests (Makefile.am): Likewise.
10867         * modules/mbschr-tests (Makefile.am): Likewise.
10868         * modules/mbscspn-tests (Makefile.am): Likewise.
10869         * modules/mbsinit-tests (Makefile.am): Likewise.
10870         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10871         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10872         * modules/mbspbrk-tests (Makefile.am): Likewise.
10873         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10874         * modules/mbsrchr-tests (Makefile.am): Likewise.
10875         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10876         * modules/mbsspn-tests (Makefile.am): Likewise.
10877         * modules/mbsstr-tests (Makefile.am): Likewise.
10878         * modules/quotearg-tests (Makefile.am): Likewise.
10879         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10880         * modules/readtokens-tests (Makefile.am): Likewise.
10881         * modules/regex-quote-tests (Makefile.am): Likewise.
10882         * modules/sh-quote-tests (Makefile.am): Likewise.
10883         * modules/system-quote-tests (Makefile.am): Likewise.
10884         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10885         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10886         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10887         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10888         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10889         * modules/yesno-tests (Makefile.am): Likewise.
10891 2019-12-02  Bruno Haible  <bruno@clisp.org>
10893         Simplify link sections.
10894         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
10895         * modules/lock (Link): Likewise.
10896         * modules/cond (Link): Likewise.
10897         * modules/tls (Link): Likewise.
10898         * modules/yield (Link): Likewise.
10899         * modules/regex (Link): Likewise.
10900         * modules/localename (Link): Likewise.
10901         * modules/unicase/locale-language (Link): Likewise.
10902         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
10904 2019-12-02  Bruno Haible  <bruno@clisp.org>
10906         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
10907         * tests/test-thread_self.c (main): Disable test on AIX.
10909 2019-12-01  Bruno Haible  <bruno@clisp.org>
10911         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
10912         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
10913         gl_THREADLIB_EARLY_BODY.
10914         (gl_THREADLIB_EARLY_BODY): Invoke it.
10915         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
10916         (gl_THREADLIB_BODY): Invoke it.
10917         (gl_PTHREADLIB): New macro.
10918         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
10919         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
10920         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
10921         * modules/pthread-h (Files): Add threadlib.m4.
10922         (Depends-on): Remove threadlib.
10923         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
10924         and _THREAD_SAFE here.
10925         (Link): Use LIBPTHREAD, not LIBTHREAD.
10926         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
10927         LIBMULTITHREAD.
10928         * modules/pthread-once (Link): Likewise.
10929         * modules/pthread-mutex (Link): Likewise.
10930         * modules/pthread-rwlock (Link): Likewise.
10931         * modules/pthread-cond (Link): Likewise.
10932         * modules/pthread-tss (Link): Likewise.
10933         * modules/pthread-spin (Link): Likewise.
10934         * modules/pthread (Link): Likewise.
10935         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
10936         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
10937         * modules/pthread-once-tests (test_pthread_once1_LDADD,
10938         test_pthread_once2_LDADD): Likewise.
10939         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
10940         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
10941         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
10942         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
10944 2019-12-01  Bruno Haible  <bruno@clisp.org>
10946         cond: State linking requirements.
10947         * modules/cond (Link): New section.
10949 2019-12-01  Bruno Haible  <bruno@clisp.org>
10951         threadlib: Remove unnecessary file (left over from 2019-07-06).
10952         * modules/threadlib (Files): Remove config.rpath.
10954 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
10956         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
10957         Reported by Dagobert Michelsen <dam@opencsw.org> in
10958         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
10959         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
10960         list of strings instead of one string.
10961         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
10962         * pygnulib/GLImport.py (execute): Likewise.
10964 2019-11-27  Bruno Haible  <bruno@clisp.org>
10966         openpty, forkpty: Fix build error on Solaris 11.4.
10967         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
10968         also in <termios.h>.
10969         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
10970         of the function also in <termios.h>.
10971         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
10972         * doc/glibc-functions/forkpty.texi: Likewise.
10974 2019-11-27  Bruno Haible  <bruno@clisp.org>
10976         New options --enable-threads=isoc and --enable-threads=isoc+posix.
10977         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
10978         --enable-threads=isoc and --enable-threads=isoc+posix.
10979         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
10980         When both the ISO C and the POSIX threads API are available, choose
10981         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
10982         --enable-threads=isoc+posix was specified. When only the ISO C threads
10983         API is available and --enable-threads=iso was specified, choose
10984         USE_ISOC_THREADS.
10985         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
10986         USE_ISOC_AND_POSIX_THREADS.
10987         * lib/glthread/lock.c: Likewise.
10988         * lib/glthread/cond.h: Likewise.
10989         * lib/glthread/cond.c: Likewise.
10990         * lib/glthread/tls.h: Likewise.
10991         * lib/glthread/tls.c: Likewise.
10992         * lib/glthread/yield.h: Likewise.
10993         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
10994         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
10995         * lib/glthread/thread.c: Likewise.
10996         * lib/glthread/threadlib.c: Likewise.
10997         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
10998         USE_ISOC_AND_POSIX_THREADS.
10999         * tests/test-cond.c: Consider USE_ISOC_THREADS and
11000         USE_ISOC_AND_POSIX_THREADS.
11001         * tests/test-tls.c: Likewise.
11002         * tests/test-thread_create.c (main): Likewise.
11003         * tests/test-pthread-cond.c: Likewise.
11004         * tests/test-pthread-mutex.c: Likewise.
11005         * tests/test-pthread-once2.c: Likewise.
11006         * tests/test-pthread-rwlock.c: Likewise.
11007         * tests/test-pthread-tss.c: Likewise.
11008         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
11009         USE_POSIX_THREADS.
11011 2019-11-24  Bruno Haible  <bruno@clisp.org>
11013         mbrtowc: Modernize autoconf test.
11014         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
11015         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
11016         try a UTF-8 locale.
11017         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
11019 2019-11-24  Bruno Haible  <bruno@clisp.org>
11021         Fix errors in C++ mode on mingw.
11022         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
11023         instead of _GL_CXXALIAS_SYS.
11024         * lib/signal.in.h (pthread_sigmask): Likewise.
11025         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
11026         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11027         Likewise.
11028         * lib/wchar.in.h (btowc): Likewise.
11030 2019-11-24  Bruno Haible  <bruno@clisp.org>
11032         sys_time: Fix errors in C++ mode on mingw.
11033         * lib/sys_time.in.h (timeval): Restore the redirection
11034         '#define timeval rpl_timeval', for when the symbol timeval is being used
11035         outside the 'gnulib' namespace.
11036         * lib/sys_select.in.h (select): In C++, write 'timeval', not
11037         'struct timeval'.
11039 2019-11-24  Bruno Haible  <bruno@clisp.org>
11041         iswctype: Fix errors in C++ mode on mingw.
11042         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
11043         is 1.
11044         * lib/iswctype.c (iswctype): Add another implementation, for the
11045         GNULIB_defined_wint_t case.
11046         * modules/iswctype (configure.ac): Compile iswctype.c also if
11047         GNULIB_OVERRIDES_WINT_T is 1.
11049 2019-11-24  Bruno Haible  <bruno@clisp.org>
11051         windows-timedmutex: Fix errors in C++ mode on mingw.
11052         * lib/windows-timedmutex.h: Add closing brace.
11054 2019-11-24  Bruno Haible  <bruno@clisp.org>
11056         Fix errors in C++ mode on Cygwin.
11057         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
11058         _GL_CXXALIAS_SYS.
11060 2019-11-24  Bruno Haible  <bruno@clisp.org>
11062         time_r: Fix for mingw (regression from 2019-11-16).
11063         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
11064         AC_LINK_IFELSE test only if the function does not appear to exist.
11066 2019-11-24  Bruno Haible  <bruno@clisp.org>
11068         wcstok: Add tests.
11069         * tests/test-wcstok.c: New file.
11070         * modules/wcstok-tests: New file.
11072 2019-11-24  Bruno Haible  <bruno@clisp.org>
11074         wcstok: Work around wrong signature on native Windows.
11075         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
11076         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
11077         REPLACE_WCSTOK.
11078         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
11079         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
11080         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
11081         * doc/posix-functions/wcstok.texi: Mention the problem.
11083 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11085         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
11086         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
11087         remove workaround for GCC bug 91450 as the bug should be fixed
11088         there too.
11090 2019-11-21  Bruno Haible  <bruno@clisp.org>
11092         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
11093         Reported by Christian Biesinger <cbiesinger@google.com> in
11094         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
11095         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
11096         non-glibc systems.
11097         * lib/locale.in.h (localeconv, setlocale): Likewise.
11098         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
11099         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
11100         rint, round, trunc): Likewise.
11101         * lib/monetary.in.h (strfmon_l): Likewise.
11102         * lib/pthread.in.h (pthread_mutexattr_getrobust,
11103         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
11104         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
11105         pthread_spin_destroy): Likewise.
11106         * lib/signal.in.h (raise, signal): Likewise.
11107         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
11108         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
11109         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
11110         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
11111         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
11112         Likewise.
11113         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
11114         Likewise.
11115         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
11116         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
11117         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
11118         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
11119         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
11120         wcsftime): Likewise.
11121         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
11123 2019-11-21  Bruno Haible  <bruno@clisp.org>
11125         Fix various errors in _GL_CXXALIAS_SYS invocations.
11126         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
11127         _GL_CXXALIAS_SYS.
11128         * lib/pthread.in.h (pthread_mutexattr_gettype,
11129         pthread_mutexattr_getrobust): Likewise.
11130         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
11131         * lib/sys_socket.in.h (recv, send): Likewise.
11132         * lib/unistd.in.h (getdtablesize): Likewise.
11133         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
11134         'struct timeval'.
11136 2019-11-21  Bruno Haible  <bruno@clisp.org>
11138         math tests: Update after 2019-08-28 change.
11139         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
11140         return type of 'bool', not 'int'.
11142 2019-11-21  Bruno Haible  <bruno@clisp.org>
11144         pthread-spin: Fix errors in C++ mode.
11145         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
11146         functions as nonexistent when <pthread.h> exists but does not define
11147         the pthread_spinlock_t type.
11149 2019-11-21  Bruno Haible  <bruno@clisp.org>
11151         pthread-mutex: Fix errors in C++ mode.
11152         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
11153         pthread_mutexattr_getrobust exists. If not, define
11154         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11155         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
11156         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
11157         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11158         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
11159         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
11160         definition.
11162 2019-11-19  Bruno Haible  <bruno@clisp.org>
11164         threads-h tests: Fix typo.
11165         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
11167 2019-11-19  Bruno Haible  <bruno@clisp.org>
11169         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
11170         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
11171         to 'const pthread_attr_t *'.
11172         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
11173         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
11175 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11177         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
11178         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
11179         work around GCC bug 91450 as the bug should be fixed there.
11181 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11183         glob: get closer to glibc glob.c
11184         Omit differences from glibc when the differences don’t matter.
11185         * lib/glob.c [_LIBC]: Include shlib-compat.h.
11186         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
11187         (glob_lstat): New function.
11188         (glob_in_dir): Use it.
11189         (GLOB_ATTRIBUTE): Define to empty if not already defined.
11190         Use changed.
11192 2019-11-18  Bruno Haible  <bruno@clisp.org>
11194         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
11195         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
11196         UINTPTR_MAX): Consider _WIN64.
11197         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
11198         a pointer.
11200 2019-11-18  Bruno Haible  <bruno@clisp.org>
11202         stdint: Fix value of WINT_MAX when we override wint_t.
11203         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
11204         when GNULIB_OVERRIDES_WINT_T is 1.
11206 2019-11-18  Bruno Haible  <bruno@clisp.org>
11208         vcs-to-changelog: New module.
11209         * modules/vcs-to-changelog: New file.
11210         * MODULES.html.sh (func_all_modules): Add it.
11212 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
11214         vcs-to-changelog: New script to generate ChangeLog-like output.
11215         Discussion:
11216         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
11217         * build-aux/vcs_to_changelog.py: New file.
11218         * build-aux/vcstocl/frontend_c.py: New file.
11219         * build-aux/vcstocl/misc_util.py: New file.
11220         * build-aux/vcstocl/vcs_git.py: New file.
11222 2019-11-18  Bruno Haible  <bruno@clisp.org>
11224         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
11225         Reported by Keith Marshall <keith@users.osdn.me> in
11226         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
11227         and <https://osdn.net/projects/mingw/ticket/39677>.
11228         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
11229         already been defined by mingw's <crtdefs.h>.
11231 2019-11-18  Bruno Haible  <bruno@clisp.org>
11233         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
11234         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
11235         conditionally enabled.
11237 2019-11-18  Bruno Haible  <bruno@clisp.org>
11239         gc: Mirror libgcrypt.m4 from libgcrypt.
11240         * config/srclistvars.sh (LIBGCRYPT): New variable.
11241         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
11243 2019-11-17  Bruno Haible  <bruno@clisp.org>
11245         locale, localename: Improve z/OS support.
11246         Reported by Daniel Richard G. in
11247         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
11248         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
11249         gl_LOCALE_H.
11250         (gl_LOCALE_H): Require it.
11251         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
11252         defined, don't even check for newlocale, duplocale, freelocale.
11253         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
11254         locale_t is not defined.
11256 2019-11-17  Bruno Haible  <bruno@clisp.org>
11258         havelib: Make libdirstems processing more flexible.
11259         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
11260         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
11261         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
11262         patch from 2017-02-19).
11263         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
11264         libdirs, even when the first one exists as a directory.
11266 2019-11-17  Bruno Haible  <bruno@clisp.org>
11268         havelib: Match the bitness when searching for libraries.
11269         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
11270         acl_is_expected_elfclass.
11271         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
11272         file exists, in ELF, also test whether it has the ELF class that
11273         corresponds to the host's bitness.
11275 2019-11-17  Bruno Haible  <bruno@clisp.org>
11277         host-cpu-c-abi: Add support for unknown CPUs.
11278         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
11279         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
11280         32-bit or 64-bit.
11282 2019-11-17  Bruno Haible  <bruno@clisp.org>
11284         havelib: Remove redundant code.
11285         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
11286         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
11288 2019-11-17  Bruno Haible  <bruno@clisp.org>
11290         havelib: Fix a bug in dependency processing.
11291         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
11292         of .la files, don't overwrite the value of additional_libdir for the
11293         next rounds.
11295 2019-11-16  Bruno Haible  <bruno@clisp.org>
11297         wctype-h: When overriding wint_t, override also the related functions.
11298         Reported by Christian Biesinger <cbiesinger@google.com> in
11299         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
11300         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
11301         REPLACE_ISWCNTRL to 1.
11302         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
11303         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
11304         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
11305         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
11306         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
11307         on mingw.
11308         * doc/posix-headers/wctype.texi: Likewise.
11310 2019-11-16  Bruno Haible  <bruno@clisp.org>
11312         time_r: Fix for mingw.
11313         Reported by Christian Biesinger <cbiesinger@google.com> in
11314         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
11315         * lib/time.in.h: On mingw, include <unistd.h>.
11316         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
11317         <time.h>. Test for localtime_r in a way that works when it is defined
11318         as an inline function.
11320 2019-11-13  Bruno Haible  <bruno@clisp.org>
11322         havelib: Revert last change.
11323         * build-aux/config.rpath: Revert last change. We can add msys2 support
11324         when it has been added to libtool.m4 upstream.
11326 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11328         config: add msys support
11329         Requested by Arnold Robbins in:
11330         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
11331         He also requested a change to config.guess, which I’ll forward
11332         upstream.
11333         * build-aux/ar-lib (func_file_conv):
11334         * build-aux/compile (func_file_conv):
11335         * build-aux/config.rpath (wl, with_gnu_ld)
11336         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
11337         Treat msys like cygwin.
11339 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11341         regex: now back in sync with glibc
11342         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
11343         regexec.c got merged into glibc and are now copies again.
11345 2019-10-27  Bruno Haible  <bruno@clisp.org>
11347         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
11348         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
11349         statement.
11350         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
11351         32-bit CPUs.
11353 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11355         timespec-add, timespec-sub: simplify
11356         * lib/timespec-add.c (timespec_add):
11357         * lib/timespec-sub.c (timespec_sub):
11358         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11359         work on unsigned integers.
11361 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11363         nstrftime: speed up integer overflow checking
11364         * lib/nstrftime.c: Include intprops.h.
11365         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
11366         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
11367         instead of doing it by hand.
11368         * modules/nstrftime (Depends-on): Add intprops.
11370         Port better to GCC under macOS
11371         Work around macOS header that has ‘#define __has_builtin(x) 0’
11372         when compiled by GCC.  Apple really, really doesn’t want you to
11373         use GCC, apparently.  Rroblem reported by Akim Demaille in:
11374         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
11375         The fix is to not trust __has_builtin when being compiled by
11376         recent-enough GCC.
11377         * lib/intprops.h (__has_builtin)
11378         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11379         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
11380         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
11381         Remove.  All uses removed.
11382         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
11383         directly, if defined and if not newer GCC.
11384         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
11385         New macro, that use __has_builtin directly, if defined and if
11386         not newer GCC.
11387         (assume): Use them.
11389 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
11391         maintainer-makefile: update rule for argmatch.
11392         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
11394 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
11396         bitset: let freeing functions accept NULL.
11397         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
11398         given NULL.
11399         * lib/bitset.h: Document that.
11400         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
11402 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11404         inttypes: use more-robust test for int range
11405         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
11406         Problem reported by Dagobert Michelsen in:
11407         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
11408         * lib/inttypes.in.h: Rely only on limits.h when checking
11409         int range.
11411 2019-10-15  Bruno Haible  <bruno@clisp.org>
11413         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
11414         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
11415         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
11416         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
11417         term_ostream_set_hyperlink): New functions.
11418         (term_styled_ostream_get_hyperlink_ref,
11419         term_styled_ostream_get_hyperlink_id,
11420         term_styled_ostream_set_hyperlink): New function aliases.
11422 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11424         update-copyright: use en dashes in .texi ranges
11425         * build-aux/update-copyright: Match year ranges like "1998--2019",
11426         which are used in the Autoconf manual.  Also, update ranges in
11427         .tex, .texi, and .texinfo files to use en dashes instead of
11428         hyphens.
11430 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11432         * config/srclist.txt: Remove posix/regex_internal.c for now.
11434 2019-10-13  Bruno Haible  <bruno@clisp.org>
11436         git-version-gen: Allow 'snapshot' as .tarball-version contents.
11437         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
11438         contents to the empty string.
11440 2019-10-12  Bruno Haible  <bruno@clisp.org>
11442         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
11443         * tests/test-intprops.c (main): Disable two more tests when using
11444         HP-UX cc.
11446 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11448         Simplify and regularize regex use of ‘assert’
11449         Also, tell GCC about the asserts even when compiling without
11450         debugging, to give it further optimization opportunities.
11451         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
11452         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
11453         (parse_expression, parse_bracket_exp):
11454         * lib/regex_internal.c (build_wcs_buffer)
11455         (build_wcs_upper_buffer, re_string_reconstruct)
11456         (re_string_context_at):
11457         * lib/regexec.c (re_search_stub, re_copy_regs)
11458         (re_search_internal, prune_impossible_nodes, check_matching)
11459         (check_halt_state_context, set_regs, sift_states_backward)
11460         (build_sifted_states, transit_state_mb, transit_state_bkref)
11461         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
11462         (match_ctx_add_subtop):
11463         Use it instead of plain ‘assert’.
11465 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
11467         regex: omit debug assignment when not debugging
11468         * lib/regexec.c (re_search_internal) [!DEBUG]:
11469         Remove unnecessary assignment.
11471         regex: tell compiler there’s at most 256 arcs out
11472         Partly this is to help the reader (and maybe help GCC);
11473         partly this is to pacify Coverity.
11474         * lib/regex_internal.h: Include verify.h.
11475         * lib/regexec.c (group_nodes_into_DFAstates):
11476         Tell the compiler that ndests cannot exceed SBC_MAX.
11477         * modules/regex (Depends-on): Add ‘verify’.
11479         regex: simplify by assuming C99
11480         * config/srclist.txt: Comment out regex_internal.h and regexec.c
11481         temporarily.
11482         * lib/regex_internal.h (lock_define, re_match_context_t):
11483         Simplify by assuming C99 macros and const.
11484         * lib/regexec.c (re_search_internal): Simplify by assuming C99
11485         initializers.  Remove unnecessary assignment, as mctx is now
11486         safely initialized earlier.
11488         regex: avoid copying of uninitialized storage
11489         * config/srclist.txt: Comment out regcomp.c temporarily.
11490         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
11491         Initialize even when not checking for lint, as the behavior is
11492         arguably undefined otherwise and Coverity warns about it.
11494 2019-10-06  Bruno Haible  <bruno@clisp.org>
11496         access tests: Fix test failure when run as root.
11497         * tests/test-access.c: Include root-uid.h.
11498         (geteuid): Define fallback.
11499         (main): Don't expect that writing to a read-only file would fail when
11500         running as root. Also, remove the created files at the end.
11501         * modules/access-tests (Depends-on): Add root-uid.
11502         (configure.ac): Test whether geteuid exists.
11504 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
11506         users.txt: add GNU nano
11507         Nano has been making use of gnulib since March 2017, version 2.8.0.
11509 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11511         bootstrap: simplify debugging of wget failures
11512         Problem reported by Tim Rühsen in:
11513         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
11514         * build-aux/bootstrap (po_download_command_format):
11515         Invoke wget with -nv instead of -q, to make debugging easier.
11517 2019-09-29  Bruno Haible  <bruno@clisp.org>
11519         avltree-list: Fix compilation warning (introduced on 2014-09-16).
11520         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
11521         'const' attribute.
11523 2019-09-29  Bruno Haible  <bruno@clisp.org>
11525         fbufmode: Fix compilation error on glibc >= 2.28 systems.
11526         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
11528 2019-09-28  Bruno Haible  <bruno@clisp.org>
11530         Update comments that refer to POSIX.
11531         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
11532         sentence about trailing slashes.
11533         * lib/fflush.c: Clarify the reasoning.
11534         * tests/test-fflush2.c: Cite the relevant sentence.
11536 2019-09-28  Bruno Haible  <bruno@clisp.org>
11538         access: Document limitations on Windows.
11539         Suggested by Zaretskii <eliz@gnu.org>.
11540         * doc/posix-functions/access.texi: Mention two limitations on Windows.
11542 2019-09-28  Bruno Haible  <bruno@clisp.org>
11544         findprog-in: Fix comment.
11545         Reported by Eli Zaretskii <eliz@gnu.org>.
11546         * lib/findprog.h (find_in_given_path): Extend description of EACCES
11547         condition.
11548         * lib/stat.c (rpl_stat): Fix typo in comment.
11549         * lib/utime.c (_gl_utimens_windows): Likewise.
11551 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11553         Update URLs and associated text
11554         (Thanks to Bruno Haible for proofreading this patch.)
11555         Prefer https: to http: in URLs where either will do, for the usual
11556         security reasons.  I also updated broken and/or moved URLs
11557         discovered during the process. In a few places I had to resort to
11558         archive.org, since I didn't find the originals elsewhere.
11560 2019-09-15  Paul Smith  <psmith@gnu.org>
11561             Bruno Haible  <bruno@clisp.org>
11563         findprog-in: Set errno when the search fails.
11564         * lib/findprog-in.c: Include <errno.h>.
11565         (find_in_given_path): Set errno before returning NULL.
11566         * lib/findprog.h (find_in_given_path): Update comment accordingly.
11567         Define the term "slash".
11569 2019-09-15  Bruno Haible  <bruno@clisp.org>
11571         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
11572         * modules/findprog (Depends-on): Add access.
11573         * modules/findprog-lgpl (Depends-on): Likewise.
11574         * modules/findprog-in (Depends-on): Likewise.
11576 2019-09-15  Bruno Haible  <bruno@clisp.org>
11578         access: Add tests.
11579         * tests/test-access.c: New file.
11580         * modules/access-tests: New file.
11582         access: New module.
11583         * lib/unistd.in.h (access): New declaration.
11584         * lib/access.c: New file.
11585         * m4/access.m4: New file.
11586         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
11587         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
11588         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
11589         REPLACE_ACCESS.
11590         * modules/access: New file.
11591         * tests/test-unistd-c++.cc (access): Check signature.
11592         * doc/posix-functions/access.texi: Mention the new module.
11594 2019-09-15  Bruno Haible  <bruno@clisp.org>
11596         fcntl-h: Fix compilation error of creat.c on MSVC.
11597         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
11598         defined.
11600 2019-09-15  Bruno Haible  <bruno@clisp.org>
11602         creat: Add tests.
11603         * tests/test-creat.c: New file, based on tests/test-open.h.
11604         * modules/creat-tests: New file.
11606         creat: New module.
11607         * lib/fcntl.in.h (creat): New declaration.
11608         * lib/creat.c: New file, based on lib/open.c.
11609         * m4/creat.m4: New file.
11610         * m4/open-slash.m4: New file, extracted from m4/open.m4.
11611         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
11612         Invoke gl_OPEN_TRAILING_SLASH_BUG.
11613         * modules/open (Files): Add m4/open-slash.m4.
11614         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
11615         REPLACE_CREAT.
11616         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
11617         * modules/creat: New file.
11618         * tests/test-fcntl-h-c++.cc (creat): Check signature.
11619         * doc/posix-functions/creat.texi: Mention the new module.
11621 2019-09-15  Bruno Haible  <bruno@clisp.org>
11623         open tests: Enhance test.
11624         * tests/test-open.h (test_open): Test the creation of an executable
11625         regular file. Also improve initial cleanup.
11627 2019-09-15  Bruno Haible  <bruno@clisp.org>
11629         intprops tests: Avoid build failure with HP-UX cc.
11630         * tests/test-intprops.c: Disable a check that makes HP cc choke with
11631         "error 4018: Macro param too large after substitution - use -H option.".
11633 2019-09-14  Bruno Haible  <bruno@clisp.org>
11635         Make autoconf tests work with -Werror=implicit-function-declaration.
11636         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
11637         towupper() declaration.
11638         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
11639         declaration.
11641 2019-09-14  Bruno Haible  <bruno@clisp.org>
11643         findprog-in: Better mimic the system on native Windows.
11644         Reported by Paul Smith <psmith@gnu.org>.
11645         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
11646         non-empty suffixes when the file name already contains a '.'.
11648 2019-09-10  Bruno Haible  <bruno@clisp.org>
11650         wctob: Fix autoconf test.
11651         Based on patch by Florian Weimer <fweimer@redhat.com>.
11652         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
11654 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
11656         xhash: provide hash_xinitialize.
11657         Suggested by Egor Pugin <egor.pugin@gmail.com>
11658         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
11659         * modules/xhash, lib/xhash.c: New.
11660         * lib/hash.h (hash_xinitialize): New.
11662 2019-09-09  Bruno Haible  <bruno@clisp.org>
11664         findprog-in: Make exec optimization optional.
11665         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
11666         (find_in_given_path): Add optimize_for_exec parameter.
11667         * lib/findprog-in.c (find_in_given_path): Likewise.
11669 2019-09-08  Bruno Haible  <bruno@clisp.org>
11671         Add option to assume the best, not the worst, when cross-compiling.
11672         Suggested by Jonas Termansen <sortie@maxsi.org>.
11673         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
11674         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
11675         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
11676         lt_cv_sys_argz_works.
11677         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
11678         ac_cv_func_calloc_0_nonnull.
11679         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
11680         --enable-cross-guesses for gl_cv_func_realpath_works.
11681         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
11682         gl_cv_func_cbrtl_ieee.
11683         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
11684         gl_cv_func_ceil_ieee.
11685         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
11686         gl_cv_func_ceilf_ieee.
11687         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
11688         gl_cv_func_ceill_ieee.
11689         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
11690         ac_cv_func_chown_works.
11691         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
11692         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
11693         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
11694         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
11695         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
11696         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
11697         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
11698         gl_cv_func_expl_works.
11699         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
11700         gl_cv_func_expm1_ieee.
11701         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
11702         gl_cv_func_expm1l_works.
11703         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
11704         gl_cv_func_open_directory_works.
11705         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
11706         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
11707         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
11708         gl_cv_func_fchownat_empty_filename_works.
11709         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
11710         gl_cv_func_fdopendir_works.
11711         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
11712         gl_cv_func_floor_ieee.
11713         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
11714         gl_cv_func_floorf_ieee.
11715         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
11716         gl_cv_func_fma_works.
11717         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
11718         gl_cv_func_fmaf_works.
11719         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
11720         gl_cv_func_fmal_works.
11721         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
11722         gl_cv_func_fmod_ieee.
11723         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
11724         gl_cv_func_fmodf_ieee.
11725         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
11726         gl_cv_func_fmodl_ieee.
11727         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
11728         gl_cv_func_fpurge_works.
11729         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
11730         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
11731         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
11732         gl_cv_func_getcwd_null.
11733         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
11734         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
11735         gl_cv_func_working_getdelim.
11736         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11737         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
11738         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11739         gl_cv_func_getgroups_works.
11740         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
11741         am_cv_func_working_getline.
11742         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
11743         for gl_cv_func_getopt_gnu.
11744         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
11745         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
11746         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
11747         gl_cv_func_hypot_ieee.
11748         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
11749         gl_cv_func_hypotf_ieee.
11750         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
11751         gl_cv_func_hypotl_ieee.
11752         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
11753         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
11754         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
11755         gl_cv_func_link_works.
11756         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
11757         gl_cv_func_linkat_slash.
11758         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
11759         gl_cv_func_log_ieee.
11760         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
11761         gl_cv_func_logf_ieee.
11762         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
11763         gl_cv_func_logl_works.
11764         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
11765         gl_cv_func_log10_ieee.
11766         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
11767         gl_cv_func_log10f_ieee.
11768         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
11769         gl_cv_func_log10l_works.
11770         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
11771         gl_cv_func_log1p_ieee.
11772         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
11773         gl_cv_func_log1pf_ieee.
11774         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
11775         gl_cv_func_log1pl_ieee.
11776         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
11777         gl_cv_func_log2_ieee.
11778         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
11779         gl_cv_func_log2f_ieee.
11780         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
11781         --enable-cross-guesses for
11782         gl_cv_func_lstat_dereferences_slashed_symlink.
11783         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
11784         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11785         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
11786         gl_cv_C_locale_sans_EILSEQ.
11787         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
11788         gl_cv_func_memchr_works.
11789         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
11790         gl_cv_func_memmem_works_always.
11791         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
11792         gl_cv_func_memmem_works_fast.
11793         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
11794         gl_cv_func_mkdir_trailing_slash_works,
11795         gl_cv_func_mkdir_trailing_dot_works.
11796         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
11797         gl_cv_func_mkfifo_works.
11798         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
11799         gl_cv_func_mknod_works.
11800         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
11801         gl_cv_func_working_mkstemp.
11802         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
11803         gl_cv_func_working_mktime.
11804         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
11805         gl_cv_func_modf_ieee.
11806         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
11807         gl_cv_func_modff_ieee.
11808         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
11809         gl_cv_func_modfl_ieee.
11810         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
11811         gl_cv_func_nanosleep.
11812         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
11813         gl_cv_func_perror_works.
11814         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
11815         gl_cv_func_printf_sizes_c99.
11816         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
11817         gl_cv_func_printf_infinite.
11818         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
11819         gl_cv_func_printf_infinite_long_double.
11820         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
11821         gl_cv_func_printf_directive_a.
11822         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
11823         gl_cv_func_printf_directive_f.
11824         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
11825         gl_cv_func_printf_flag_zero.
11826         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
11827         gl_cv_func_printf_enomem.
11828         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
11829         gl_cv_func_snprintf_truncation_c99.
11830         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
11831         gl_cv_func_snprintf_retval_c99.
11832         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
11833         gl_cv_func_snprintf_directive_n.
11834         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
11835         gl_cv_func_vsnprintf_zerosize_c99.
11836         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
11837         gl_cv_func_pselect_detects_ebadf.
11838         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11839         Obey --enable-cross-guesses for
11840         gl_cv_pthread_rwlock_rdlock_prefer_writer.
11841         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
11842         gl_cv_func_ptsname_sets_errno.
11843         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
11844         gl_cv_func_svid_putenv.
11845         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
11846         gl_cv_func_readlink_works.
11847         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
11848         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11849         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
11850         gl_cv_func_re_compile_pattern_working.
11851         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
11852         gl_cv_func_remainder_ieee.
11853         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
11854         gl_cv_func_remainderf_ieee.
11855         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
11856         gl_cv_func_remainderl_ieee.
11857         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
11858         gl_cv_func_rintl_works.
11859         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
11860         gl_cv_func_rmdir_works.
11861         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
11862         gl_cv_func_round_ieee.
11863         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
11864         gl_cv_func_roundf_ieee.
11865         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
11866         gl_cv_func_roundl_ieee.
11867         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
11868         gl_cv_func_select_detects_ebadf.
11869         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
11870         gl_cv_func_setenv_works.
11871         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
11872         gl_cv_func_unsetenv_works.
11873         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
11874         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
11875         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
11876         gl_cv_func_sleep_works.
11877         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
11878         gl_cv_func_stat_file_slash.
11879         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
11880         gl_cv_func_stpncpy.
11881         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
11882         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
11883         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
11884         gl_cv_func_strcasestr_linear.
11885         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
11886         gl_cv_func_working_strerror.
11887         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
11888         gl_cv_func_strerror_0_works.
11889         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
11890         --enable-cross-guesses for gl_cv_func_strerror_r_works.
11891         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
11892         gl_cv_func_strstr_works_always.
11893         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
11894         gl_cv_func_strstr_linear.
11895         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
11896         gl_cv_func_strtod_works.
11897         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
11898         gl_cv_func_strtold_works.
11899         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
11900         gl_cv_func_symlink_works.
11901         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
11902         gl_cv_func_symlinkat_works.
11903         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
11904         gl_cv_func_trunc_ieee.
11905         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
11906         gl_cv_func_truncf_ieee.
11907         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
11908         gl_cv_func_truncl_ieee.
11909         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
11910         gl_cv_func_tzset_clobber.
11911         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
11912         gl_cv_func_ungetc_works.
11913         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
11914         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
11915         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
11916         gl_cv_func_usleep_works.
11917         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
11918         gl_cv_func_futimesat_works.
11919         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
11920         gl_cv_func_working_utimes.
11921         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
11922         gl_cv_func_wcwidth_works.
11923         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
11924         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
11925         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
11926         links for testing. Obey --enable-cross-guesses for
11927         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
11928         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
11930 2019-09-08  Bruno Haible  <bruno@clisp.org>
11932         Clarify that cross-compilation guesses are guesses.
11933         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
11934         cross-compiling.
11936 2019-09-08  Bruno Haible  <bruno@clisp.org>
11938         chown: Fix configure output (regression from 2019-03-23).
11939         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
11940         gl_cv_func_chown_follows_symlink variable.
11942 2019-09-08  Bruno Haible  <bruno@clisp.org>
11944         findprog-in: New module.
11945         Suggested by Paul Smith <psmith@gnu.org>.
11946         * lib/findprog.h (find_in_given_path): New declaration.
11947         * lib/findprog-in.c: New file, based on lib/findprog.c.
11948         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
11949         * modules/findprog-in: New file.
11951 2019-09-08  Bruno Haible  <bruno@clisp.org>
11953         findprog: Remove unused dependency.
11954         * modules/findprog (Depends-on): Remove strdup.
11956 2019-09-08  Bruno Haible  <bruno@clisp.org>
11958         findprog: Remove test that is obsolete since 2006-04-24.
11959         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
11961 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11963         bitset: style changes
11964         * lib/bitset/vector.c (vbitset_resize): Factor computation.
11965         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
11966         xzalloc to xcalloc.
11967         Suggested by Paul Eggert.
11969 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11971         bitset: check memory allocation
11972         Reported by 江 祖铭 (Zu-Ming Jiang).
11973         With help from Paul Eggert.
11974         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
11975         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
11976         instead of realloc.
11977         When shrinking, accept failures.
11978         * lib/bitset/vector.c (vbitset_resize): Likewise.
11980 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11982         scratch_buffer: sync from glibc
11983         * config/srclist.txt: Add the scratch_buffer source
11984         code from glibc, since these should be in sync.
11985         Autoupdate.
11987 2019-09-07  Bruno Haible  <bruno@clisp.org>
11989         doc: Update for glibc 2.30.
11990         * doc/glibc-functions/gettid.texi: New file.
11991         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
11992         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
11993         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
11994         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
11995         * doc/glibc-functions/sem_clockwait.texi: New file.
11996         * doc/glibc-functions/tgkill.texi: New file.
11997         * doc/glibc-functions/twalk_r.texi: New file.
11998         * doc/gnulib.texi: Include them.
11999         (Glibc semaphore.h): New section.
12000         * doc/pastposix-functions/h_errno.texi: Update.
12001         * doc/posix-functions/*.texi: Likewise.
12003 2019-09-06  Bruno Haible  <bruno@clisp.org>
12005         symlink tests: Avoid test failure on Linux with Lustre file system.
12006         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
12007         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
12008         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
12010 2019-09-01  Bruno Haible  <bruno@clisp.org>
12012         gitsub.sh: Add support for shallow-cloning of subdirectories.
12013         * top/gitsub.sh (func_usage): Document allowed git options with
12014         'git pull'.
12015         (func_pull): Accept GIT_OPTIONS argument.
12016         (pull): Parse git options before complaining about too many arguments.
12017         Pass the git options to func_pull.
12019 2019-08-29  Bruno Haible  <bruno@clisp.org>
12021         lock: Fix cross-compilation guesses.
12022         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12023         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
12024         platforms.
12026 2019-08-28  Bruno Haible  <bruno@clisp.org>
12028         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
12029         Reported by Martin Storsjö <martin@martin.st> in
12030         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
12031         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
12032         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
12033         files from GCC 6 or newer, use an override through '#define', because
12034         the inline definitions in the platform's <cmath> cannot be overridden
12035         in another way.
12037 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12039         Revert macOS INT_MULTIPLY_WRAPV patch
12040         Problem reported by Bruno Haible in:
12041         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
12042         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
12043         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12044         Go back to working around the Clang bug on macOS.
12046 2019-08-27  Bruno Haible  <bruno@clisp.org>
12048         libtool-next-version: Fix error output.
12049         * build-aux/libtool-next-version (func_fatal_error): Fix the program
12050         name.
12052 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12054         Speed up INT_MULTIPLY_WRAPV on macOS
12055         Assume that __builtin_mul_overflow works OK with Clang on macOS.
12056         Mattias Engdegård says it’s safe to assume the relevant library
12057         is always available there.
12058         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
12059         New temporary internal macro.
12060         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12061         No need to work around the Clang bug on macOS.
12063 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12065         intprops.h, verify.h: port better to clang
12066         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12067         with Clang.  Problem reported privately by Mattias Engdegård.
12068         Also, insulate intprops.h and verify.h better against each other’s
12069         definitions of __has_builtin on non-Clang hosts.
12070         * lib/intprops.h (__has_builtin): Define a temporary substitute
12071         if __has_builtin is not already defined.
12072         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12073         New temporary internal macros.
12074         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
12075         Now two separate macros, replacing the old
12076         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
12077         __builtin_mul_overflow is like the rest.  All uses changed.
12078         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
12079         Adjust to above changes.
12080         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
12081         longer relevant.  All uses changed.
12082         * lib/verify.h (__has_builtin): Treat like intprops.h,
12083         so that the two .h files do not collide with each other.
12084         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
12085         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
12087 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12089         intprops: say why not Clang __builtin_add_overflow
12090         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
12091         Mention Clang in comment, responding to a query from
12092         Mattias Engdegård.
12094 2019-08-24  Bruno Haible  <bruno@clisp.org>
12096         doc: Document most of the files outside of modules.
12097         * doc/gnulib.texi (Build Infrastructure Files,
12098         Release Management Files): New chapters.
12100 2019-08-24  Bruno Haible  <bruno@clisp.org>
12102         bootstrap: Keep in sync with the 'gettext' module.
12103         Reported by Assaf Gordon in
12104         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
12105         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
12106         * build-aux/po/remove-potcdate.sin: Likewise.
12108 2019-08-24  Bruno Haible  <bruno@clisp.org>
12110         crypto/gc-sha512: Add tests.
12111         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
12112         * modules/crypto/gc-sha512-tests: New file.
12114         crypto/gc-sha256: Add tests.
12115         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
12116         * modules/crypto/gc-sha256-tests: New file.
12118         crypto/gc-sha256, crypto/gc-sha512: New modules.
12119         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
12120         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
12121         (MAX_DIGEST_SIZE): Set to 64.
12122         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
12123         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
12124         (gc_sha256, gc_sha512): New functions.
12125         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
12126         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
12127         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
12129 2019-08-24  Bruno Haible  <bruno@clisp.org>
12131         crypto/gc-sha1 tests: Improve output when the test fails.
12132         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
12133         output.
12135 2019-08-24  Bruno Haible  <bruno@clisp.org>
12137         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
12138         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
12139         LIBGCRYPT_HAS_MD_SM3.
12140         * lib/gc-libgcrypt.c: Include sm3.h.
12141         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
12142         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
12143         implementation if libgcrypt does not support SM3.
12145 2019-08-24  Bruno Haible  <bruno@clisp.org>
12147         crypto/gc-md2: Optimize and clarify code.
12148         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
12149         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
12150         is not needed.
12152 2019-08-24  Bruno Haible  <bruno@clisp.org>
12154         crypto/gc-md2: Add comment.
12155         * lib/gc-libgcrypt.c: Add comment.
12157 2019-08-24  Bruno Haible  <bruno@clisp.org>
12159         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
12160         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
12161         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
12162         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
12163         variable.
12165 2019-08-24  Bruno Haible  <bruno@clisp.org>
12167         crypto/gc: Fix link error with --with-libgcrypt.
12168         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
12169         AC_LIB_HAVE_LINKFLAGS invocation.
12171 2019-08-24  Bruno Haible  <bruno@clisp.org>
12173         crypto/gc: Access the module indicators correctly.
12174         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
12175         * lib/gc-libgcrypt.c: Likewise.
12177 2019-08-24  Bruno Haible  <bruno@clisp.org>
12179         crypto/gc: Fix configuration with --with-libgcrypt.
12180         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
12181         * modules/crypto/gc (Files): Add it.
12182         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
12184 2019-08-24  Bruno Haible  <bruno@clisp.org>
12186         Remove unused file.
12187         * m4/stat-macros.m4: Remove file.
12189 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12191         New strip-trailing-space option for srclist-update
12192         * config/srclist-update (fixfile): Support new option.
12193         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
12194         Use it.
12196 2019-08-20  Eric Blake  <eblake@redhat.com>
12198         accept4: Support SOCK_NONBLOCK, if defined
12199         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
12201         accept4: Fix compilation when native accept4() exists.
12202         Reported by Richard W.M. Jones <rjones@redhat.com> in
12203         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
12204         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
12206 2019-08-18  Bruno Haible  <bruno@clisp.org>
12208         Defeat -flto GCC optimization in math autoconf tests.
12209         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
12210         at <https://savannah.gnu.org/bugs/?56109>.
12211         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
12212         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
12213         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12214         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12215         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12216         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
12217         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12218         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
12219         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
12220         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12221         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12222         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12224 2019-08-17  Bruno Haible  <bruno@clisp.org>
12226         windows-spin: Implement declared functions.
12227         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
12228         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
12229         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
12230         name.
12232 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12234         intprops: port to Oracle Developer Studio 12.6
12235         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
12236         typos that were in a section not compiled by GCC.
12238 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12240         intprops: support uchar, ushort _WRAPV dests
12241         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
12242         when __builtin_add_overflow etc. and _Generic are not used.
12243         (_GL_INT_OP_WRAPV): Use it to support destinations that
12244         are unsigned char or unsigned short, even in compilers
12245         that lack __typeof__ and are not C11-compatible.
12247         intprops: pacify picky GCC
12248         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
12249         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
12250         possibly-incorrect result.
12251         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
12252         about (A) used as a boolean, when A is an expression like 3 * 4.
12254         intprops: support unsigned *_WRAPV results
12255         Add support for unsigned, unsigned long, and unsigned long long
12256         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
12257         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
12258         bug with unsigned inputs reported by Eli Zaretskii in:
12259         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
12260         * config/srclist.txt: Break the glibc connection for intprops.h
12261         temporarily, while more testing is done in Gnulib-using apps.
12262         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12263         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
12264         Support unsigned results no narrower than unsigned int.  Report
12265         overflow correctly if some arguments are unsigned.
12266         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
12267         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
12268         the right thing with narrow args.
12269         (_GL_INT_OP_CALC1): Remove.  All callers removed.
12270         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
12271         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
12272         * tests/test-intprops.c: Check for bugs and test new behavior.
12274 2019-08-14  Bruno Haible  <bruno@clisp.org>
12276         get_progname_of: New module.
12277         * lib/get_progname_of.h: New file.
12278         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
12279         * lib/getprogname.c (getprogname): Tweak coding style.
12280         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
12281         * modules/get_progname_of: New file.
12283 2019-08-14  Bruno Haible  <bruno@clisp.org>
12285         get_ppid_of: New module.
12286         * lib/get_ppid_of.h: New file.
12287         * lib/get_ppid_of.c: New file.
12288         * modules/get_ppid_of: New file.
12290 2019-08-13  Bruno Haible  <bruno@clisp.org>
12292         libtextstyle-optional tests: Support the NO_COLOR environment variable.
12293         * tests/test-libtextstyle.c (main): Do not emit styling when the
12294         environment variable NO_COLOR is set.
12296 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12298         verify: improve diagnostic quality in recent GCC
12299         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
12300         useful line number containing the top-level caller of the macro.
12301         So, bring back the older way of issuing a diagnostic containing
12302         the top-level call’s arg, so that it is easier to diagnose
12303         ‘verify’ failures with recent GCC.
12304         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
12305         Bring back DIAGNOSTIC arg.  All callers changed.
12306         (verify): Just use _GL_VERIFY.
12308 2019-08-11  Bruno Haible  <bruno@clisp.org>
12310         localcharset: Add more aliases for OS/2.
12311         Based on patch by KO Myung-Hun <komh78@gmail.com> in
12312         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
12313         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
12315 2019-08-10  Eric Blake  <eblake@redhat.com>
12317         configmake: Update advice on usage.
12318         * modules/configmake (Include): No longer necessary to include
12319         last, since configmake.h itself worries about collision avoidance.
12321 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
12323         parse-datetime: fix 'T' military timezone handling
12324         * lib/parse-datetime.y (zone):
12325         follow-up to the previous commit: the 'T' case is handled outside the
12326         conversion table (used as either military timezone UTC-7 or ISO8601
12327         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
12328         timezone letters.
12330 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12332         parse-datetime: fix military timezone letters
12333         Problem and trivial fix reported by Neil Hoggarth in:
12334         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
12335         * lib/parse-datetime.y (military_table):
12336         Do it the right way, not the RFC 822 way.
12338 2019-08-08  Eric Blake  <eblake@redhat.com>
12340         configmake: Avoid namespace pollution issue on mingw.
12341         * modules/configmake (Makefile.am): If the project uses
12342         <winsock2.h>, include that header before defining DATADIR.
12344 2019-07-28  Bruno Haible  <bruno@clisp.org>
12346         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
12347         * tests/test-mbrtowc.c (main): Fix expected value of wc.
12349 2019-07-24  Bruno Haible  <bruno@clisp.org>
12351         pthread-h: Fix definitions of types and macros on mingw.
12352         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
12353         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
12354         not in use.
12355         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
12356         'pthread-once' is not in use.
12357         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
12358         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
12359         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
12360         in use.
12361         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
12362         Define also when module 'pthread-rwlock' is not in use.
12363         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
12364         also when module 'pthread-cond' is not in use.
12365         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
12366         'pthread-tss' is not in use.
12367         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
12368         use.
12370 2019-07-24  Simon Josefsson  <simon@josefsson.org>
12372         crypto/gc: Cope with libgcrypt without SM3.
12373         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
12375 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12377         backupfile: fix resource leak on memory failure
12378         Problem found by Coverity (CID 1484214).
12379         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
12381 2019-07-22  Bruno Haible  <bruno@clisp.org>
12383         Avoid missing-declarations warning in various tests.
12384         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
12385         test6, test_optional, test7, test8, test9, test10, test11, test12,
12386         test13, test14, test15, test_fun): Declare static.
12387         * tests/test-cnd.c (test_cnd_wait): Likewise.
12388         * tests/test-cond.c (test_cond): Likewise.
12390 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
12392         pthread tests: Avoid missing-declarations warning.
12393         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
12395 2019-07-19  Bruno Haible  <bruno@clisp.org>
12397         parse-datetime: Avoid warnings from bison versions >= 3.3.
12398         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
12399         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
12401 2019-07-19  Bruno Haible  <bruno@clisp.org>
12403         parse-datetime: Require Bison 2.4 or newer.
12404         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
12405         Code taken from gettext's intl.m4.
12406         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
12407         of YACC.
12409 2019-07-19  Bruno Haible  <bruno@clisp.org>
12411         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
12412         * lib/areadlink-with-size.c: Include <string.h>.
12413         * lib/areadlinkat-with-size.c: Likewise.
12414         * lib/xgethostname.c: Likewise.
12415         * lib/xgetdomainname.c: Likewise.
12417 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
12419         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
12420         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
12421         "%pure-parser".  The former is available since Bison 2.3b (2008),
12422         while the latter is marked as obsolete since version 3.4 (May 2019).
12424 2019-07-16  Bruno Haible  <bruno@clisp.org>
12426         update-copyright: Make it work again (regression from 2019-06-15).
12427         Reported by Brian C. Lane <bcl@redhat.com>.
12428         * build-aux/update-copyright: Add back the -0777, -p, -i options.
12430 2019-07-14  Bruno Haible  <bruno@clisp.org>
12432         doc: Update info about <pthread.h>.
12433         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
12434         of 'pthread'.
12436 2019-07-14  Bruno Haible  <bruno@clisp.org>
12438         pthread_sigmask tests: Use new multithread modules.
12439         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
12440         glthread/thread.h.
12441         (main_thread, killer_thread): Change type to pthread_t.
12442         (main): Update accordingly.
12443         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
12444         thread.
12446 2019-07-14  Bruno Haible  <bruno@clisp.org>
12448         pthread-tss: Add tests.
12449         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
12450         tests/test-tss.c.
12451         * modules/pthread-tss-tests: New file.
12453 2019-07-14  Bruno Haible  <bruno@clisp.org>
12455         pthread-cond: Add tests.
12456         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
12457         tests/test-cnd.c.
12458         * modules/pthread-cond-tests: New file.
12460 2019-07-14  Bruno Haible  <bruno@clisp.org>
12462         pthread-rwlock: Add tests.
12463         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
12464         * modules/pthread-rwlock-tests: New file.
12466 2019-07-14  Bruno Haible  <bruno@clisp.org>
12468         pthread-mutex: Add tests.
12469         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
12470         tests/test-mtx.c.
12471         * modules/pthread-mutex-tests: New file.
12473 2019-07-14  Bruno Haible  <bruno@clisp.org>
12475         pthread-once: Add tests.
12476         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
12477         tests/test-call_once.c.
12478         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
12479         tests/test-mtx.c.
12480         * modules/pthread-once-tests: New file.
12482 2019-07-14  Bruno Haible  <bruno@clisp.org>
12484         pthread-thread: Add tests.
12485         * tests/test-pthread-thread.c: New file, based on
12486         tests/test-thread_create.c and tests/test-thrd_create.c.
12487         * modules/pthread-thread-tests: New file.
12489 2019-07-14  Bruno Haible  <bruno@clisp.org>
12491         pthread: Turn into a convenience module.
12492         * lib/pthread.in.h: Remove declarations for extern inline functions.
12493         * lib/pthread.c: Remove file.
12494         * modules/pthread (Files): Remove it.
12495         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
12496         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
12497         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
12498         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
12499         GNULIB_PTHREAD.
12500         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
12502 2019-07-14  Bruno Haible  <bruno@clisp.org>
12504         pthread-spin: New module.
12505         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
12506         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
12507         inline definitions.
12508         * lib/pthread-spin.c: New file.
12509         * m4/pthread-spin.m4: New file.
12510         * modules/pthread-spin: New file.
12511         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
12512         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
12513         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
12514         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
12515         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
12517 2019-07-14  Bruno Haible  <bruno@clisp.org>
12519         pthread-tss: New module.
12520         * lib/pthread-tss.c: New file.
12521         * m4/pthread-tss.m4: New file.
12522         * modules/pthread-tss: New file.
12523         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
12524         * doc/posix-functions/pthread_setspecific.texi: Likewise.
12525         * doc/posix-functions/pthread_getspecific.texi: Likewise.
12526         * doc/posix-functions/pthread_key_delete.texi: Likewise.
12528 2019-07-14  Bruno Haible  <bruno@clisp.org>
12530         pthread-cond: New module.
12531         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
12532         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
12533         * lib/pthread-cond.c: New file.
12534         * m4/pthread-cond.m4: New file.
12535         * modules/pthread-cond: New file.
12536         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
12537         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
12538         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
12539         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
12540         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
12541         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
12542         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
12543         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
12545 2019-07-14  Bruno Haible  <bruno@clisp.org>
12547         pthread-rwlock: New module.
12548         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
12549         * m4/pthread-rwlock.m4: New file.
12550         * modules/pthread-rwlock: New file.
12551         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
12552         and the Android problem.
12553         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
12554         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
12555         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
12556         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
12557         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
12558         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
12559         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12560         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
12561         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
12562         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
12564 2019-07-14  Bruno Haible  <bruno@clisp.org>
12566         pthread-mutex: New module.
12567         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
12568         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
12569         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
12570         pthread_mutex_unlock): Remove inline definitions.
12571         * lib/pthread-mutex.c: New file.
12572         * m4/pthread-mutex.m4: New file.
12573         * modules/pthread-mutex: New file.
12574         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
12575         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
12576         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
12577         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
12578         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12579         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12580         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
12581         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
12582         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
12583         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
12584         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
12585         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
12587 2019-07-14  Bruno Haible  <bruno@clisp.org>
12589         pthread-once: New module.
12590         * lib/pthread-once.c: New file.
12591         * m4/pthread-once.m4: New file.
12592         * modules/pthread-once: New file.
12593         * doc/posix-functions/pthread_once.texi: Mention the new module.
12595 2019-07-14  Bruno Haible  <bruno@clisp.org>
12597         pthread-thread: New module.
12598         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
12599         inline definitions.
12600         * lib/pthread-thread.c: New file.
12601         * m4/pthread-thread.m4: New file.
12602         * modules/pthread-thread: New file.
12603         * doc/posix-functions/pthread_create.texi: Mention the new module.
12604         * doc/posix-functions/pthread_attr_init.texi: Likewise.
12605         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
12606         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
12607         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
12608         * doc/posix-functions/pthread_self.texi: Likewise.
12609         * doc/posix-functions/pthread_equal.texi: Likewise.
12610         * doc/posix-functions/pthread_detach.texi: Likewise.
12611         * doc/posix-functions/pthread_join.texi: Likewise.
12612         * doc/posix-functions/pthread_exit.texi: Likewise.
12614 2019-07-14  Bruno Haible  <bruno@clisp.org>
12616         pthread-h: Prepare for adding new modules.
12617         * lib/pthread.in.h: Define the types and macros for each of the
12618         facilities separately.
12619         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
12620         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12621         HAVE_PTHREAD_PROCESS_SHARED.
12622         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
12623         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12624         HAVE_PTHREAD_PROCESS_SHARED.
12625         * modules/pthread-h (Makefile.am): Substitute
12626         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
12627         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
12629 2019-07-14  Bruno Haible  <bruno@clisp.org>
12631         pthread-h: Add declarations of essential pthread functions.
12632         * lib/pthread.in.h: Include snippets.
12633         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
12634         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
12635         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
12636         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
12637         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
12638         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
12639         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
12640         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
12641         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
12642         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
12643         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
12644         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
12645         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
12646         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
12647         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
12648         pthread_key_create, pthread_setspecific, pthread_getspecific,
12649         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
12650         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
12651         declarations.
12652         (pthread_mutex_timedlock): Move declaration.
12653         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
12654         declared.
12655         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
12656         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
12657         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
12658         HAVE_* and REPLACE_* variables for the new functions.
12659         * modules/pthread-h (Depends-on): Add snippet/c++defs,
12660         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
12661         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
12662         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
12663         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
12664         variables for the new functions. Split the sed script, to avoid the
12665         limit of 99 commands of HP-UX sed.
12666         * tests/test-pthread-c++.cc: Check the signature of the new functions.
12668 2019-07-14  Bruno Haible  <bruno@clisp.org>
12670         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
12671         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
12672         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
12673         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
12674         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
12675         * modules/pthread-h (Depends-on): Add threadlib.
12676         (Link): Change to $(LIBTHREAD).
12677         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
12678         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
12680 2019-07-14  Bruno Haible  <bruno@clisp.org>
12682         pthread-h: Add C++ tests.
12683         * tests/test-pthread-c++.cc: New file.
12684         * modules/pthread-h-c++-tests: New file.
12686 2019-07-14  Bruno Haible  <bruno@clisp.org>
12688         pthread-h: Add tests.
12689         * tests/test-pthread.c: New file.
12690         * modules/pthread-h-tests: New file.
12692 2019-07-14  Bruno Haible  <bruno@clisp.org>
12694         pthread-h: New module.
12695         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
12696         is 1.
12697         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
12698         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
12699         <pthread.h> pollutes the namespace; instead, prepare for generating a
12700         pthread.h always. Substitute HAVE_PTHREAD_H here.
12701         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
12702         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
12703         * modules/pthread-h: New file, based on modules/pthread.
12704         * modules/pthread: Rely on 'pthread-h'.
12705         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
12706         Update.
12707         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
12708         pthread.
12710 2019-07-14  Bruno Haible  <bruno@clisp.org>
12712         sched_yield: New module.
12713         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
12714         (sched_yield): New declaration.
12715         * lib/sched_yield.c: New file.
12716         * m4/sched_yield.m4: New file.
12717         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
12718         provide a replacement sched.h always. Test whether sched_yield is
12719         declared.
12720         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
12721         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
12722         (Makefile.am): Provide a replacement sched.h always. Substitute
12723         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
12724         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
12725         * modules/sched_yield: New file.
12726         * doc/posix-functions/sched_yield.texi: Mention the new module.
12728 2019-07-14  Bruno Haible  <bruno@clisp.org>
12730         windows-spin: New module.
12731         * lib/windows-spin.h: New file.
12732         * lib/windows-spin.c: New file.
12733         * modules/windows-spin: New file.
12735 2019-07-14  Bruno Haible  <bruno@clisp.org>
12737         windows-timedrwlock: New module.
12738         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
12739         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
12740         windows-cond.c.
12741         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
12742         redefinition conflict with windows-timedrwlock.h.
12743         * modules/windows-timedrwlock: New file.
12745 2019-07-14  Bruno Haible  <bruno@clisp.org>
12747         windows-rwlock: New module.
12748         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
12749         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
12750         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
12751         windows-initguard.h.
12752         (gl_rwlock_t): Define using glwthread_rwlock_t.
12753         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
12754         (glthread_rwlock_init): Define using glwthread_rwlock_init.
12755         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
12756         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
12757         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
12758         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
12759         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
12760         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
12761         glthread_rwlock_destroy_func): Remove declarations.
12762         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
12763         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
12764         gl_waitqueue_notify_all, glthread_rwlock_init_func,
12765         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
12766         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
12767         functions.
12768         * modules/windows-rwlock: New file.
12769         * modules/lock (Depends-on): Add windows-rwlock.
12771 2019-07-14  Bruno Haible  <bruno@clisp.org>
12773         windows-thread: Add support for creating a thread in detached state.
12774         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
12775         (glwthread_thread_create): Add attr argument.
12776         * lib/windows-thread.c (glwthread_thread_create): Likewise.
12777         * lib/glthread/thread.h (glthread_create): Update.
12778         * lib/thrd.c (thrd_create): Update.
12780 2019-07-14  Bruno Haible  <bruno@clisp.org>
12782         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
12783         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
12784         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
12785         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
12786         * lib/windows-mutex.h: Update.
12787         * lib/windows-recmutex.h: Likewise.
12788         * lib/windows-timedmutex.h: Likewise.
12789         * lib/windows-timedrecmutex.h: Likewise.
12790         * lib/windows-cond.h: Likewise.
12791         * lib/glthread/lock.h: Likewise.
12792         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
12793         lib/windows-spinlock.h.
12794         * modules/windows-recmutex (Files): Likewise.
12795         * modules/windows-timedmutex (Files): Likewise.
12796         * modules/windows-timedrecmutex (Files): Likewise.
12797         * modules/windows-cond (Files): Likewise.
12798         * modules/threads-h (Files): Likewise.
12800 2019-07-14  Bruno Haible  <bruno@clisp.org>
12802         doc: Fix info about pthread API in HP-UX.
12803         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
12805 2019-07-14  Bruno Haible  <bruno@clisp.org>
12807         threads-h: Fix generation of threads.h.
12808         * modules/threads-h (Makefile.am): Insert the required header file
12809         snippets.
12811 2019-07-09  Bruno Haible  <bruno@clisp.org>
12813         striconveh test: Fix a compilation failure when iconv is not available.
12814         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12815         * tests/test-striconveh.c (main): Move iconv_close invocations inside
12816         HAVE_ICONV.
12818 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
12820         argmatch: adjust columns for help2man.
12821         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
12822         requires column 20 or more, return 20.
12824 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12826         areadlink-with-size: avoid realloc when size==0
12827         * lib/areadlink-with-size.c (areadlink_with_size):
12828         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
12829         Reallocate at the end to the actual size, to avoid memory waste,
12830         as suggested by Bruno Haible.  But when the guessed size is zero -
12831         useful when the size is unknown - do the initial small readlink
12832         into the stack, to avoid that realloc in the usual case.
12834 2019-07-06  Pádraig Brady  <P@draigBrady.com>
12836         areadlink-with-size: guess a buffer size with 0 size
12837         The size is usually taken from st_size, which can be zero,
12838         resulting in inefficient operation.
12839         Instead let zero select an initial memory allocation
12840         of 128 bytes, which most symlinks fit within.
12841         * lib/areadlink-with-size.c (areadlink_with_size):
12842         Start with a 128 byte buffer, for SIZE == 0.
12843         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
12845 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
12847         Replace manually crafted hex regexes with [:xdigit:]
12848         * build-aux/gitlog-to-changelog (parse_amend_file)
12849         (git_dir_option):
12850         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
12851         This patch is backported from Emacs (Bug#36167).
12853 2019-07-06  Bruno Haible  <bruno@clisp.org>
12855         error: Fix documentation.
12856         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
12857         module provides.
12858         * doc/glibc-functions/error_message_count.texi: Likewise.
12859         * doc/glibc-functions/error_one_per_line.texi: Likewise.
12860         * doc/glibc-functions/error_print_progname.texi: Likewise.
12862 2019-07-06  Bruno Haible  <bruno@clisp.org>
12864         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
12865         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
12866         and older is unsupported.
12867         * doc/**/*.texi: Update.
12869 2019-07-06  Bruno Haible  <bruno@clisp.org>
12871         doc: Remove documentation of Linux libc5 as a supported platform.
12872         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
12873         to Linux libc5.
12874         * doc/posix-functions/iswalpha.texi: Likewise.
12875         * doc/posix-functions/iswblank.texi: Likewise.
12876         * doc/posix-functions/iswcntrl.texi: Likewise.
12877         * doc/posix-functions/iswdigit.texi: Likewise.
12878         * doc/posix-functions/iswgraph.texi: Likewise.
12879         * doc/posix-functions/iswlower.texi: Likewise.
12880         * doc/posix-functions/iswprint.texi: Likewise.
12881         * doc/posix-functions/iswpunct.texi: Likewise.
12882         * doc/posix-functions/iswspace.texi: Likewise.
12883         * doc/posix-functions/iswupper.texi: Likewise.
12884         * doc/posix-functions/iswxdigit.texi: Likewise.
12885         * doc/posix-functions/snprintf.texi: Likewise.
12886         * doc/posix-functions/vsnprintf.texi: Likewise.
12888 2019-07-06  Bruno Haible  <bruno@clisp.org>
12890         doc: Remove documentation of Tandem/NSK as a supported platform.
12891         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
12892         Tandem/NSK.
12893         * doc/**/*.texi: Update.
12895 2019-07-06  Bruno Haible  <bruno@clisp.org>
12897         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
12898         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
12899         and older is unsupported.
12900         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
12901         Mac OS X 10.4 and older.
12902         * doc/posix-functions/asinl.texi: Likewise.
12903         * doc/posix-functions/atanl.texi: Likewise.
12904         * doc/posix-functions/cosl.texi: Likewise.
12905         * doc/posix-functions/expl.texi: Likewise.
12906         * doc/posix-functions/frexpl.texi: Likewise.
12907         * doc/posix-functions/gettimeofday.texi: Likewise.
12908         * doc/posix-functions/logl.texi: Likewise.
12909         * doc/posix-functions/mkstemp.texi: Likewise.
12910         * doc/posix-functions/sinl.texi: Likewise.
12911         * doc/posix-functions/sqrtl.texi: Likewise.
12912         * doc/posix-functions/tanl.texi: Likewise.
12913         * doc/posix-functions/wcswidth.texi: Likewise.
12914         * doc/**/*.texi: Update.
12916 2019-07-06  Bruno Haible  <bruno@clisp.org>
12918         doc: Remove documentation of AIX 4 as a supported platform.
12919         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
12920         unsupported.
12921         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
12922         workarounds.
12923         * doc/posix-functions/strnlen.texi: Likewise.
12924         * doc/posix-headers/inttypes.texi: Likewise.
12925         * doc/**/*.texi: Update.
12927 2019-07-06  Bruno Haible  <bruno@clisp.org>
12929         doc: Remove documentation of HP-UX 10 as a supported platform.
12930         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
12931         unsupported.
12932         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
12933         workarounds.
12934         * doc/posix-functions/gmtime_r.texi: Likewise.
12935         * doc/posix-functions/localtime_r.texi: Likewise.
12936         * doc/posix-functions/mkstemp.texi: Likewise.
12937         * doc/**/*.texi: Update.
12939 2019-07-06  Bruno Haible  <bruno@clisp.org>
12941         doc: Remove documentation of Interix 3.5 as a supported platform.
12942         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
12943         unsupported.
12944         * doc/posix-functions/select.texi: Don't mention Interix specific
12945         workarounds.
12946         * doc/posix-headers/signal.texi: Likewise.
12947         * doc/**/*.texi: Update.
12949 2019-07-06  Bruno Haible  <bruno@clisp.org>
12951         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
12952         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
12953         unsupported.
12954         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
12955         workarounds.
12956         * doc/posix-functions/nl_langinfo.texi: Likewise.
12957         * doc/posix-functions/remainder.texi: Likewise.
12958         * doc/posix-functions/towlower.texi: Likewise.
12959         * doc/posix-functions/towupper.texi: Likewise.
12960         * doc/posix-functions/vsnprintf.texi: Likewise.
12961         * doc/posix-functions/wcscat.texi: Likewise.
12962         * doc/posix-functions/wcschr.texi: Likewise.
12963         * doc/posix-functions/wcscmp.texi: Likewise.
12964         * doc/posix-functions/wcscpy.texi: Likewise.
12965         * doc/posix-functions/wcscspn.texi: Likewise.
12966         * doc/posix-functions/wcslen.texi: Likewise.
12967         * doc/posix-functions/wcsncat.texi: Likewise.
12968         * doc/posix-functions/wcsncmp.texi: Likewise.
12969         * doc/posix-functions/wcsncpy.texi: Likewise.
12970         * doc/posix-functions/wcspbrk.texi: Likewise.
12971         * doc/posix-functions/wcsrchr.texi: Likewise.
12972         * doc/posix-functions/wcsspn.texi: Likewise.
12973         * doc/posix-headers/langinfo.texi: Likewise.
12974         * doc/posix-headers/signal.texi: Likewise.
12975         * doc/posix-headers/wchar.texi: Likewise.
12976         * doc/posix-headers/wctype.texi: Likewise.
12977         * doc/**/*.texi: Update.
12979 2019-07-05  Bruno Haible  <bruno@clisp.org>
12981         doc: Remove documentation of OSF/1 as supported platform.
12982         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
12983         unsupported.
12984         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
12985         workarounds.
12986         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
12987         * doc/glibc-functions/ptsname_r.texi: Likewise.
12988         * doc/posix-functions/ceil.texi: Likewise.
12989         * doc/posix-functions/ceilf.texi: Likewise.
12990         * doc/posix-functions/ceill.texi: Likewise.
12991         * doc/posix-functions/fchdir.texi: Likewise.
12992         * doc/posix-functions/floor.texi: Likewise.
12993         * doc/posix-functions/floorf.texi: Likewise.
12994         * doc/posix-functions/fmod.texi: Likewise.
12995         * doc/posix-functions/fmodf.texi: Likewise.
12996         * doc/posix-functions/fmodl.texi: Likewise.
12997         * doc/posix-functions/log.texi: Likewise.
12998         * doc/posix-functions/logf.texi: Likewise.
12999         * doc/posix-functions/logl.texi: Likewise.
13000         * doc/posix-functions/log10.texi: Likewise.
13001         * doc/posix-functions/log10f.texi: Likewise.
13002         * doc/posix-functions/log10l.texi: Likewise.
13003         * doc/posix-functions/log2.texi: Likewise.
13004         * doc/posix-functions/log2f.texi: Likewise.
13005         * doc/posix-functions/log2l.texi: Likewise.
13006         * doc/posix-functions/mbrtowc.texi: Likewise.
13007         * doc/posix-functions/recv.texi: Likewise.
13008         * doc/posix-functions/recvfrom.texi: Likewise.
13009         * doc/posix-functions/remainder.texi: Likewise.
13010         * doc/posix-functions/remainderf.texi: Likewise.
13011         * doc/posix-functions/remainderl.texi: Likewise.
13012         * doc/posix-functions/round.texi: Likewise.
13013         * doc/posix-functions/roundf.texi: Likewise.
13014         * doc/posix-functions/roundl.texi: Likewise.
13015         * doc/posix-functions/send.texi: Likewise.
13016         * doc/posix-functions/sendto.texi: Likewise.
13017         * doc/posix-functions/setenv.texi: Likewise.
13018         * doc/posix-functions/snprintf.texi: Likewise.
13019         * doc/posix-functions/tcgetsid.texi: Likewise.
13020         * doc/posix-functions/trunc.texi: Likewise.
13021         * doc/posix-functions/truncf.texi: Likewise.
13022         * doc/posix-functions/truncl.texi: Likewise.
13023         * doc/posix-functions/ttyname_r.texi: Likewise.
13024         * doc/posix-functions/unsetenv.texi: Likewise.
13025         * doc/posix-functions/wcsrtombs.texi: Likewise.
13026         * doc/posix-headers/sys_select.texi: Likewise.
13027         * doc/posix-headers/wchar.texi: Likewise.
13028         * doc/posix-headers/wctype.texi: Likewise.
13029         * doc/**/*.texi: Update.
13031 2019-07-05  Bruno Haible  <bruno@clisp.org>
13033         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
13034         * doc/**/*.texi: Update.
13036 2019-07-05  Bruno Haible  <bruno@clisp.org>
13038         doc: Remove documentation of Solaris 8 and older as supported platforms.
13039         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
13040         unsupported.
13041         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
13042         workarounds.
13043         * doc/posix-functions/memcmp.texi: Likewise.
13044         * doc/posix-functions/rename.texi: Likewise.
13045         * doc/posix-functions/tzset.texi: Likewise.
13046         * doc/posix-headers/wctype.texi: Likewise.
13047         * doc/**/*.texi: Update.
13049 2019-07-05  Bruno Haible  <bruno@clisp.org>
13051         doc: Remove documentation of Interix 3.5 as a supported platform.
13052         * doc/**/*.texi: Update.
13054 2019-07-05  Bruno Haible  <bruno@clisp.org>
13056         doc: Remove documentation of BeOS as a supported platform.
13057         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
13058         unsupported.
13059         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
13060         * doc/posix-functions/getdelim.texi: Likewise.
13061         * doc/**/*.texi: Update.
13063 2019-07-05  Bruno Haible  <bruno@clisp.org>
13065         thread, lock, cond, tls: Remove support for Pth threads.
13066         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13067         --enable-threads=pth any more.
13068         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
13069         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
13070         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
13071         threads and ISO C11 threads.
13072         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
13073         * lib/glthread/lock.h: Likewise.
13074         * lib/glthread/lock.c: Likewise.
13075         * lib/glthread/cond.h: Likewise.
13076         * lib/glthread/cond.c: Likewise.
13077         * lib/glthread/tls.h: Likewise.
13078         * lib/glthread/tls.c: Likewise.
13079         * lib/glthread/yield.h: Likewise.
13080         * lib/regex_internal.h: Likewise.
13081         * tests/test-thread_create.c: Likewise.
13082         * tests/test-lock.c: Likewise.
13083         * tests/test-cond.c: Likewise.
13084         * tests/test-tls.c: Likewise.
13085         * tests/test-rwlock1.c: Don't include glthread/yield.h.
13086         (main): Sleep without calling gl_thread_yield.
13088 2019-07-05  Bruno Haible  <bruno@clisp.org>
13090         thread, lock, cond, tls: Remove support for old Solaris threads.
13091         Solaris >= 2.5.1 has POSIX threads.
13092         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13093         --enable-threads=solaris any more.
13094         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
13095         * lib/glthread/thread.c: Update comment.
13096         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
13097         * lib/glthread/lock.h: Likewise.
13098         * lib/glthread/lock.c: Likewise.
13099         * lib/glthread/cond.h: Likewise.
13100         * lib/glthread/cond.c: Likewise.
13101         * lib/glthread/tls.h: Likewise.
13102         * lib/glthread/tls.c: Likewise.
13103         * lib/glthread/yield.h: Likewise.
13104         * lib/regex_internal.h: Likewise.
13105         * tests/test-thread_create.c: Likewise.
13106         * tests/test-lock.c: Likewise.
13107         * tests/test-cond.c: Likewise.
13108         * tests/test-tls.c: Likewise.
13110 2019-07-05  Bruno Haible  <bruno@clisp.org>
13112         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
13113         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
13114         needed size is equal to the allocated size.
13115         * lib/getcwd.c (__getcwd): Likewise.
13117 2019-07-05  Bruno Haible  <bruno@clisp.org>
13119         xgetdomainname: Don't return an excessive memory allocation.
13120         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
13121         before returning it.
13123 2019-07-05  Bruno Haible  <bruno@clisp.org>
13125         xgethostname: Don't return an excessive memory allocation.
13126         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
13127         returning it.
13129 2019-07-05  Bruno Haible  <bruno@clisp.org>
13131         areadlinkat-with-size: Don't return an excessive memory allocation.
13132         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
13133         before returning it.
13135 2019-07-05  Bruno Haible  <bruno@clisp.org>
13137         areadlink-with-size: Don't return an excessive memory allocation.
13138         Reported by Andreas Dilger <adilger@whamcloud.com>.
13139         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
13140         before returning it.
13142 2019-07-03  Bruno Haible  <bruno@clisp.org>
13144         renameatu: Fix test failure on MSVC.
13145         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
13146         empty string.
13148 2019-07-03  Bruno Haible  <bruno@clisp.org>
13150         mbrtowc: Fix invalid use of mbtowc() on MSVC.
13151         * lib/mbrtowc.c: Include glthread/lock.h.
13152         (mbtowc_lock): New variable.
13153         (mbrtowc): Treat UTF-8 encoding without locking. For the other
13154         encodings, explicitly reset the internal state of mbtowc, and protect
13155         this through a lock.
13156         * modules/mbrtowc (Depends-on): Add lock.
13158 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
13160         argmatch: don't define _ in the header.
13161         Reported by Jim Meyering.
13162         * lib/argmatch.h (N_, _): Don't define.
13163         Use gettext instead.
13164         * lib/argmatch.h (_): Define.
13165         * tests/test-argmatch.c (N_): Define.
13167 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13169         verify: document ‘assume’ better
13170         * lib/verify.h: Reword doc (Bug#36370).
13172 2019-07-02  Bruno Haible  <bruno@clisp.org>
13174         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
13175         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
13176         "CPutf8".
13177         * lib/nl_langinfo.c (ctype_codeset): Likewise.
13179 2019-07-02  Bruno Haible  <bruno@clisp.org>
13181         getcwd: Fix crash when invoked with size = 0 on MSVC.
13182         * lib/getcwd.c: Include msvc-inval.h.
13183         (getcwd_nothrow): New function/macro.
13184         (getcwd_system): New macro.
13185         (__getcwd): Use it instead of getcwd.
13186         * modules/getcwd (Depends-on): Add msvc-inval.
13187         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
13189 2019-07-02  Bruno Haible  <bruno@clisp.org>
13191         nonblocking-pipe tests: Fix test failure on MSVC.
13192         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
13193         native Windows.
13195 2019-07-02  Bruno Haible  <bruno@clisp.org>
13197         usleep: Implement with millisecond resolution on native Windows.
13198         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
13199         * doc/pastposix-functions/usleep.texi: Update accordingly.
13201 2019-07-02  Bruno Haible  <bruno@clisp.org>
13203         lstat tests: Fix test failure on MSVC.
13204         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
13205         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13207 2019-07-02  Bruno Haible  <bruno@clisp.org>
13209         stat tests: Fix test failure on MSVC.
13210         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
13211         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13213 2019-07-02  Bruno Haible  <bruno@clisp.org>
13215         getaddrinfo tests: Fix test failure on MSVC.
13216         * tests/test-getaddrinfo.c: Include sockets.h.
13217         (main): Invoke gl_sockets_startup.
13218         * modules/getaddrinfo-tests (Depends-on): Add sockets.
13220 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
13222         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
13223         * lib/poll.c: Call Windows native select() with Windows native timeval.
13225 2019-06-30  Bruno Haible  <bruno@clisp.org>
13227         argmatch: Fix compilation errors.
13228         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
13229         * tests/test-argmatch.c (main): Update after last-minute function names
13230         change.
13232 2019-06-30  Bruno Haible  <bruno@clisp.org>
13234         Include <stdlib.h> when needed.
13235         * lib/cnd.c: Include <stdlib.h>, needed for abort().
13236         * lib/fcntl.c: Likewise.
13237         * lib/mbscasestr.c: Likewise.
13238         * lib/mbssep.c: Likewise.
13239         * lib/mbsstr.c: Likewise.
13240         * lib/openat.c: Include <stdlib.h>, needed for free().
13241         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
13242         abort().
13244 2019-06-30  Bruno Haible  <bruno@clisp.org>
13246         Include <stdlib.h> when needed.
13247         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
13248         * lib/faccessat.c: Likewise.
13249         * lib/fchmodat.c: Likewise.
13250         * lib/fchownat.c: Likewise.
13251         * lib/fstatat.c: Likewise.
13252         * lib/mkfifoat.c: Likewise.
13253         * lib/mknodat.c: Likewise.
13254         * lib/readlinkat.c: Likewise.
13255         * lib/symlinkat.c: Likewise.
13256         * lib/utimensat.c: Likewise.
13257         * lib/mkdirat.c: Likewise. Include also the specification header.
13259 2019-06-30  Bruno Haible  <bruno@clisp.org>
13261         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
13262         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
13263         from gl_PREREQ_SYS_H_SOCKET.
13264         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
13265         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
13266         gl_PREREQ_SYS_H_WS2TCPIP.
13267         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
13268         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
13269         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
13271 2019-06-30  Bruno Haible  <bruno@clisp.org>
13273         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
13274         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
13275         REPLACE_INET_NTOP to 1 always.
13276         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
13277         REPLACE_INET_PTON to 1 always.
13279 2019-06-30  Bruno Haible  <bruno@clisp.org>
13281         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
13282         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
13283         not REPLACE_INET_NTOP.
13285 2019-06-30  Bruno Haible  <bruno@clisp.org>
13287         poll: Add comment.
13288         * lib/poll.c: Add comment about WSAPoll.
13290 2019-06-30  Bruno Haible  <bruno@clisp.org>
13292         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
13293         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
13294         * lib/poll.in.h: Include <winsock2.h>.
13295         (POLL*, pollfd): Override on native Windows.
13296         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13297         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
13298         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13300 2019-06-28  Bruno Haible  <bruno@clisp.org>
13302         accept4: Fix compilation error on OpenIndiana.
13303         Reported by Michal Nowak <mnowak@startmail.com>
13304         via Mark H Weaver <mhw@netris.org>.
13305         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
13306         whether it exists as a function.
13308 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13310         strverscmp: sync from glibc
13311         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
13312         comments, include libc-config.h, define __strverscmp to be
13313         strverscmp, and don’t assume types line uint8_t and int8_t that
13314         that C99 doesn’t guarantee.
13315         [!_LIBC]: Include libc-config.h; define __strverscmp.
13316         Include stdint.h.
13317         (__strverscmp): Assume C99.  Use uint_least8_t
13318         and int_least8_t instead of unsigned char and signed char.
13319         * modules/strverscmp (Depends-on): Add libc-config, stdint.
13321 2019-06-25  Bruno Haible  <bruno@clisp.org>
13323         tss tests: Add tests for destructors and races.
13324         * tests/test-tss.c (worker_thread): Fix typo in debug message.
13325         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
13326         functions.
13327         (main): Invoke them.
13328         * modules/tls-tests (Depends-on): Add mtx.
13330 2019-06-25  Bruno Haible  <bruno@clisp.org>
13332         tls tests: Add tests for destructors and races.
13333         * tests/test-tls.c: Include glthread/lock.h.
13334         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
13335         functions.
13336         (main): Invoke them.
13337         * modules/tls-tests (Depends-on): Add lock.
13339 2019-06-25  Bruno Haible  <bruno@clisp.org>
13341         windows-tls: Implement TLS key destructors for native Windows.
13342         * lib/windows-tls.h (glwthread_tls_process_destructors): New
13343         declaration.
13344         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
13345         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
13346         (dtor_table_init_once, dtor_table_lock: New variables.
13347         (struct dtor): New type.
13348         (dtor_table, dtors_count, dtors_used, dtors_allocated,
13349         dtor_processing_threads): New variables.
13350         (dtor_table_initialize, dtor_table_ensure_initialized,
13351         dtor_table_shrink_used, glwthread_tls_process_destructors): New
13352         functions.
13353         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
13354         handle non-NULL destructors.
13355         * modules/windows-tls (Depends-on): Add windows-once.
13356         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
13357         Use the functions declared in windows-tls.h.
13358         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
13359         GLWTHREAD_DESTRUCTOR_ITERATIONS.
13360         * lib/windows-thread.c: Include windows-tls.h.
13361         (wrapper_func, glwthread_thread_exit): Invoke
13362         glwthread_tls_process_destructors.
13363         * modules/windows-thread (Depends-on): Add windows-tls.
13365 2019-06-25  Bruno Haible  <bruno@clisp.org>
13367         threadlib: Avoid autoconf warning "was expanded before it was required".
13368         * modules/threadlib (configure.ac): Require gl_THREADLIB.
13370 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
13372         argmatch: remove duplicate const qualifier
13373         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
13375 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13377         unistd: stddef.h and sys/types.h namespace cleanup
13378         * lib/unistd.in.h [__GLIBC__]:
13379         Do not include stddef.h or sys/types.h.
13380         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
13381         supposed to declare off_t and ssize_t.  Problem found when looking
13382         at why @GNULIB_PWRITE@ was different from the newly-added
13383         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
13385 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13387         maintainer-makefile: restore portability to non-GNU awks
13388         Reported by Tim Rühsen.
13389         * top/maint.mk (AWK): New variable.  Use it.
13390         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
13392 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13394         Document setvbuf _IOLBF problem
13395         * doc/posix-functions/setvbuf.texi (setvbuf):
13396         Document MS-Windows portability problem with _IOLBF.
13398         Document lseek SEEK_DATA/SEEK_HOLE
13399         * doc/posix-functions/lseek.texi (lseek):
13400         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
13402 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13404         argmatch: put all the docs member last.
13405         Reported by Bruno Haible.
13406         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
13407         member before the docs done.
13408         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
13410 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
13412         argmatch: add support to generate the usage message.
13413         * lib/argmatch.c: Move some #includes and gettext support to...
13414         * lib/argmatch.h: here.
13415         (ARGMATCH_DEFINE_GROUP): New macro.
13416         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
13417         (argmatch_backup_group): New.
13418         (CHECK): New.
13419         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
13420         argmatch_backup_argument and argmatch_backup_usage.
13421         * modules/argmatch: We depend on c99.
13422         * doc/argmatch.texi (Recognizing Option Arguments): New.
13423         * doc/gnulib.texi: Use it.
13425 2019-06-21  Bruno Haible  <bruno@clisp.org>
13427         thrd: Add comment.
13428         * lib/thrd.c (pthread_main_func): Add comment.
13430 2019-06-21  Bruno Haible  <bruno@clisp.org>
13432         threads-h: Define 'thread_local' if and only if it actually works.
13433         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
13434         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
13435         Oracle Solaris Studio C. Compile a simple program, to see whether
13436         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
13437         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
13438         * lib/threads.in.h (thread_local): Undefine if it does not work.
13439         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
13440         (Link): Mention LIBTHREADLOCAL.
13441         * tests/test-threads.c: Don't check that thread_local is defined.
13442         * tests/test-thread_local.c: New file.
13443         * modules/threads-h-tests (Files): Add it and macros.h.
13444         (Depends-on): Add thrd and stdint.
13445         (configure.ac): Test whether 'alarm' is declared.
13446         (Makefile.am): Arrange to build and link test-thread_local.
13447         * doc/posix-headers/threads.texi: Mention the platforms that don't
13448         support 'thread_local'.
13450 2019-06-20  Bruno Haible  <bruno@clisp.org>
13452         threads-h: Simplify link dependencies.
13453         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
13454         Don't set LTLIBSTDTHREAD.
13455         * modules/thrd (Link): Simplify accordingly.
13456         * modules/mtx (Link): Likewise.
13457         * modules/cnd (Link): Likewise.
13458         * modules/tss (Link): Likewise.
13459         * modules/threads (Link): Likewise.
13461 2019-06-20  Bruno Haible  <bruno@clisp.org>
13463         threads-h: Fix link error on FreeBSD 11.
13464         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
13465         also with -lpthread.
13467 2019-06-20  Bruno Haible  <bruno@clisp.org>
13469         threadlib: Fix typo (regression from today).
13470         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
13472 2019-06-20  Bruno Haible  <bruno@clisp.org>
13474         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
13475         * lib/windows-thread.c: Include <errno.h>.
13476         * lib/windows-tls.c: Likewise.
13478 2019-06-20  Bruno Haible  <bruno@clisp.org>
13480         tss tests: Small improvement.
13481         * tests/test-tss.c (test_tss): Pass a different id to each thread.
13483 2019-06-20  Bruno Haible  <bruno@clisp.org>
13485         threads: New module.
13486         * modules/threads: New file.
13488 2019-06-20  Bruno Haible  <bruno@clisp.org>
13490         tss: Add tests.
13491         * tests/test-tss.c: New file, based on tests/test-tls.c.
13492         * modules/tss-tests: New file.
13494 2019-06-20  Bruno Haible  <bruno@clisp.org>
13496         cnd: Add tests.
13497         * tests/test-cnd.c: New file, based on tests/test-cond.c.
13498         * modules/cnd-tests: New file.
13500 2019-06-20  Bruno Haible  <bruno@clisp.org>
13502         mtx: Add tests.
13503         * tests/test-mtx.c: New file, based on tests/test-lock.c.
13504         * tests/test-call_once.c: New file, based on tests/test-once.c.
13505         * modules/mtx-tests: New file.
13507 2019-06-20  Bruno Haible  <bruno@clisp.org>
13509         thrd: Add tests.
13510         * tests/test-thrd_create.c: New file, based on
13511         tests/test-thread_create.c.
13512         * tests/test-thrd_current.c: New file, based on
13513         tests/test-thread_self.c.
13514         * modules/thrd-tests: New file.
13516 2019-06-20  Bruno Haible  <bruno@clisp.org>
13518         tss: New module.
13519         * lib/tss.c: New file.
13520         * modules/tss: New file.
13521         * doc/posix-functions/tss_create.texi: Mention the new module.
13522         * doc/posix-functions/tss_set.texi: Likewise.
13523         * doc/posix-functions/tss_get.texi: Likewise.
13524         * doc/posix-functions/tss_delete.texi: Likewise.
13526 2019-06-20  Bruno Haible  <bruno@clisp.org>
13528         cnd: New module.
13529         * lib/cnd.c: New file.
13530         * modules/cnd: New file.
13531         * doc/posix-functions/cnd_init.texi: Mention the new module.
13532         * doc/posix-functions/cnd_wait.texi: Likewise.
13533         * doc/posix-functions/cnd_timedwait.texi: Likewise.
13534         * doc/posix-functions/cnd_signal.texi: Likewise.
13535         * doc/posix-functions/cnd_broadcast.texi: Likewise.
13536         * doc/posix-functions/cnd_destroy.texi: Likewise.
13538 2019-06-20  Bruno Haible  <bruno@clisp.org>
13540         mtx: New module.
13541         * lib/mtx.c: New file.
13542         * modules/mtx: New file.
13543         * doc/posix-functions/call_once.texi: Mention the new module.
13544         * doc/posix-functions/mtx_init.texi: Likewise.
13545         * doc/posix-functions/mtx_lock.texi: Likewise.
13546         * doc/posix-functions/mtx_trylock.texi: Likewise.
13547         * doc/posix-functions/mtx_timedlock.texi: Likewise.
13548         * doc/posix-functions/mtx_unlock.texi: Likewise.
13549         * doc/posix-functions/mtx_destroy.texi: Likewise.
13551 2019-06-20  Bruno Haible  <bruno@clisp.org>
13553         thrd: New module.
13554         * lib/thrd.c: New file.
13555         * m4/thrd.m4: New file.
13556         * modules/thrd: New file.
13557         * doc/posix-functions/thrd_current.texi: Mention the new module.
13558         * doc/posix-functions/thrd_detach.texi: Likewise.
13559         * doc/posix-functions/thrd_equal.texi: Likewise.
13560         * doc/posix-functions/thrd_exit.texi: Likewise.
13561         * doc/posix-functions/thrd_sleep.texi: Likewise.
13562         * doc/posix-functions/thrd_yield.texi: Likewise.
13563         * doc/posix-functions/thrd_create.texi: Mention the new module and the
13564         AIX bug.
13565         * doc/posix-functions/thrd_join.texi: Mention the new module and the
13566         AIX and Solaris bugs.
13568 2019-06-20  Bruno Haible  <bruno@clisp.org>
13570         threads-h: Add tests.
13571         * tests/test-threads.c: New file.
13572         * modules/threads-h-tests: New file.
13573         * tests/test-threads-c++.cc: New file.
13574         * modules/threads-h-c++-tests: New file.
13576 2019-06-20  Bruno Haible  <bruno@clisp.org>
13578         threads-h: New module.
13579         * lib/threads.in.h: New file.
13580         * m4/threads.m4: New file.
13581         * m4/yield.m4 (gl_YIELD): Update comment.
13582         * modules/threads-h: New file.
13583         * modules/yields (configure.ac): Use AC_REQUIRE.
13584         * doc/posix-headers/threads.texi: Mention the new module and the AIX
13585         bugs.
13587 2019-06-20  Bruno Haible  <bruno@clisp.org>
13589         windows-thread: New module.
13590         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
13591         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
13592         * lib/glthread/thread.h: Include windows-thread.h.
13593         (gl_thread_t): Define using glwthread_thread_t.
13594         (glthread_create): Define using glwthread_thread_create.
13595         (glthread_join): Define using glwthread_thread_join.
13596         (gl_thread_self): Define using glwthread_thread_self.
13597         (gl_thread_exit): Define using glwthread_thread_exit.
13598         (glthread_create_func, glthread_join_func, gl_thread_self_func,
13599         gl_thread_exit_func): Remove declarations.
13600         * lib/glthread/thread.c (self_key): Remove variable.
13601         (do_init_self_key, init_self_key): Remove functions.
13602         (struct gl_thread_struct): Remove type.
13603         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
13604         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
13605         functions.
13606         * modules/windows-thread: New file.
13607         * modules/thread (Depends-on): Add windows-thread.
13609 2019-06-20  Bruno Haible  <bruno@clisp.org>
13611         windows-tls: New module.
13612         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
13613         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
13614         * lib/glthread/tls.h: Include windows-tls.h.
13615         (gl_tls_key_t): Define using glwthread_tls_key_t.
13616         * modules/windows-tls: New file.
13617         * modules/tls (Depends-on): Add windows-tls.
13619 2019-06-20  Bruno Haible  <bruno@clisp.org>
13621         windows-cond: New module.
13622         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
13623         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
13624         * lib/glthread/cond.h: Include windows-cond.h.
13625         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
13626         (gl_cond_t): Define using glwthread_cond_t.
13627         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
13628         (glthread_cond_init): Define using glwthread_cond_init.
13629         (glthread_cond_wait): Define using glwthread_cond_wait.
13630         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
13631         (glthread_cond_signal): Define using glwthread_cond_signal.
13632         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
13633         (glthread_cond_destroy): Define using glwthread_cond_destroy.
13634         (glthread_cond_init_func, glthread_cond_wait_func,
13635         glthread_cond_timedwait_func, glthread_cond_signal_func,
13636         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13637         declarations.
13638         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
13639         types.
13640         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13641         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
13642         glthread_cond_init_func, glthread_cond_wait_func,
13643         glthread_cond_timedwait_func, glthread_cond_signal_func,
13644         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13645         functions.
13646         * modules/windows-cond: New file.
13647         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
13649 2019-06-20  Bruno Haible  <bruno@clisp.org>
13651         windows-timedrecmutex: New module.
13652         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
13653         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
13654         * modules/windows-timedrecmutex: New file.
13656 2019-06-20  Bruno Haible  <bruno@clisp.org>
13658         windows-timedmutex: New module.
13659         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
13660         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
13661         * modules/windows-timedmutex: New file.
13663 2019-06-20  Bruno Haible  <bruno@clisp.org>
13665         windows-recmutex: New module.
13666         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
13667         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
13668         * lib/glthread/lock.h: Include windows-recmutex.h.
13669         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
13670         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
13671         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
13672         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
13673         (glthread_recursive_lock_unlock): Define using
13674         glwthread_recmutex_unlock.
13675         (glthread_recursive_lock_destroy): Define using
13676         glwthread_recmutex_destroy.
13677         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
13678         glthread_recursive_lock_unlock_func,
13679         glthread_recursive_lock_destroy_func): Remove declarations.
13680         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
13681         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
13682         glthread_recursive_lock_destroy_func): Remove functions.
13683         * modules/windows-recmutex: New file.
13684         * modules/lock (Depends-on): Add windows-recmutex.
13686 2019-06-20  Bruno Haible  <bruno@clisp.org>
13688         windows-mutex: New module.
13689         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
13690         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
13691         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
13692         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
13693         (gl_spinlock_t): Remove type.
13694         (gl_lock_t): Define using glwthread_mutex_t.
13695         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
13696         (glthread_lock_init): Define using glwthread_mutex_init.
13697         (glthread_lock_lock): Define using glwthread_mutex_lock.
13698         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
13699         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
13700         (glthread_lock_init_func, glthread_lock_lock_func,
13701         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13702         declarations.
13703         Use glwthread_spinlock_t instead of gl_spinlock_t.
13704         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
13705         GLWTHREAD_SPINLOCK_INIT.
13706         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
13707         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13708         functions.
13709         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
13710         gl_spinlock_t.
13711         * modules/windows-mutex: New file.
13712         * modules/lock (Depends-on): Add windows-mutex.
13714 2019-06-20  Bruno Haible  <bruno@clisp.org>
13716         windows-once: New module.
13717         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
13718         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
13719         * lib/glthread/lock.h: Include windows-once.h.
13720         (gl_once_t): Define using glwthread_once_t.
13721         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
13722         (glthread_once): Define using glwthread_once.
13723         (glthread_once_func): Remove declaration.
13724         * lib/glthread/lock.c (glthread_once_func): Remove function.
13725         * modules/windows-once: New file.
13726         * modules/lock (Depends-on): Add windows-once.
13728 2019-06-20  Bruno Haible  <bruno@clisp.org>
13730         lock, cond: Avoid possible counter wraparound on Windows.
13731         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
13732         field of the guard unchanged if it was already positive.
13733         (glthread_rwlock_rdlock_func): Likewise.
13734         (glthread_rwlock_wrlock_func): Likewise.
13735         (glthread_recursive_lock_lock_func): Likewise.
13736         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
13737         (glthread_cond_timedwait_func): Likewise.
13739 2019-06-20  Bruno Haible  <bruno@clisp.org>
13741         cond: Make glthread_cond_timedwait more reliable on Windows.
13742         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
13743         condition variable before looking at the current time.
13745 2019-06-20  Bruno Haible  <bruno@clisp.org>
13747         pthread_mutex_timedlock: New module.
13748         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
13749         new declaration.
13750         * lib/pthread_mutex_timedlock.c: New file.
13751         * m4/pthread_mutex_timedlock.m4: New file.
13752         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
13753         whether pthread_mutex_timedlock is declared.
13754         (gl_PTHREAD_MODULE_INDICATOR): New macro.
13755         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13756         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13757         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
13758         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13759         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13760         * modules/pthread_mutex_timedlock: New file.
13761         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
13762         module.
13764 2019-06-20  Bruno Haible  <bruno@clisp.org>
13766         thread, lock, cond, tls: Recognize C11 multithreaded applications.
13767         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
13768         * lib/glthread/thread.h (c11_threads_in_use): New macro.
13769         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13770         * lib/glthread/lock.h (c11_threads_in_use): New macro.
13771         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13772         * lib/glthread/cond.h (c11_threads_in_use): New macro.
13773         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13774         * lib/glthread/tls.h (c11_threads_in_use): New macro.
13775         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13777 2019-06-20  Bruno Haible  <bruno@clisp.org>
13779         tls tests: Small improvements.
13780         * tests/test-tls.c: Include <stdint.h>.
13781         (worker_thread): Avoid gcc warning on 64-bit mingw.
13782         (test_tls): Pass a different id to each thread.
13783         * modules/tls-tests (Depends-on): Add stdint.
13785 2019-06-20  Bruno Haible  <bruno@clisp.org>
13787         cond tests: Simplify.
13788         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
13790 2019-06-20  Bruno Haible  <bruno@clisp.org>
13792         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
13793         * tests/test-lock.c (test_once): Don't reference fire_signal if
13794         !ENABLE_LOCKING.
13796 2019-06-19  Bruno Haible  <bruno@clisp.org>
13798         nanosleep: Relicense under LGPLv2+.
13799         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
13800         * modules/nanosleep (License): Change to LGPLv2+.
13802 2019-06-19  Bruno Haible  <bruno@clisp.org>
13804         Reorder pieces of header in perl scripts.
13805         The desired order is
13806         - Prologue part 1 (2 lines with #!)
13807         - Program short description
13808         - Copyright and license notice
13809         - Written-by notice
13810         - Program short description (optional)
13811         - Program long description (optional)
13812         - Prologue part 2
13813         - Time stamp
13814         - Code
13815         Reported by Paul Eggert.
13816         * build-aux/announce-gen: Reorder header.
13817         * build-aux/gitlog-to-changelog: Likewise.
13818         * build-aux/useless-if-before-free: Likewise.
13819         * build-aux/prefix-gnulib-mk: Add copyright notice and short
13820         description.
13821         * build-aux/update-copyright: Likewise. Add short description. Bump
13822         time-stamp-line-limit to 200.
13824 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
13826         verify-tests: work around xlc bug
13827         Problem reported by Bruno Haible in:
13828         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
13829         * tests/test-verify.c (item): Move the arithmetic inside the
13830         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
13832 2019-06-16  Bruno Haible  <bruno@clisp.org>
13834         Restore Emacs time-stamp hook applicability.
13835         Reported by Darshit Shah <darnir@gnu.org>.
13836         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
13837         * build-aux/announce-gen: Likewise.
13838         * build-aux/gitlog-to-changelog: Likewise.
13839         * build-aux/prefix-gnulib-mk: Likewise.
13840         * build-aux/update-copyright: Likewise.
13842 2019-06-15  Bruno Haible  <bruno@clisp.org>
13844         Fix scripts to have valid executable format on Alpine Linux.
13845         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13846         Idea by Paul Eggert.
13847         * build-aux/useless-if-before-free: Use a prologue that starts with
13848         '#!/bin/sh'.
13849         * build-aux/announce-gen: Likewise.
13850         * build-aux/gitlog-to-changelog: Likewise.
13851         * build-aux/prefix-gnulib-mk: Likewise.
13852         * build-aux/update-copyright: Likewise.
13853         * tests/test-update-copyright.sh: Update test program accordingly.
13855 2019-06-10  Bruno Haible  <bruno@clisp.org>
13857         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
13858         Reported by Nikita Ermakov <arei@altlinux.org> in
13859         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
13860         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
13861         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
13863 2019-06-10  Bruno Haible  <bruno@clisp.org>
13865         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
13866         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13867         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
13868         a copy of the path argument.
13869         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13870         it.
13872 2019-06-10  Bruno Haible  <bruno@clisp.org>
13874         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
13875         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
13876         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13877         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
13878         a copy of the path argument.
13879         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13880         it.
13882 2019-06-10  Bruno Haible  <bruno@clisp.org>
13884         posix_spawn_file_actions_addfchdir: Add tests.
13885         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
13886         * tests/test-posix_spawn5.c: New file.
13887         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
13889 2019-06-10  Bruno Haible  <bruno@clisp.org>
13891         posix_spawn_file_actions_addfchdir: New module.
13892         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
13893         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
13894         union member 'fchdir_action'.
13895         * lib/spawn_faction_addfchdir.c: New file.
13896         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
13897         * m4/posix_spawn_faction_addfchdir.m4: New file.
13898         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
13899         'posix_spawn_file_actions_addfchdir' is present and whether
13900         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
13901         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
13902         posix_spawn_file_actions_addfchdir is declared.
13903         (gl_SPAWN_H_DEFAULTS): Initialize
13904         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13905         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13906         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13907         * modules/spawn (Makefile.am): Substitute
13908         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13909         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13910         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13911         * modules/posix_spawn_file_actions_addfchdir: New file.
13912         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
13913         signature.
13914         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13915         * doc/posix-functions/posix_spawnp.texi: Likewise.
13916         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
13917         Likewise.
13919 2019-06-10  Bruno Haible  <bruno@clisp.org>
13921         doc: Document existence of posix_spawn_file_actions_addchdir module.
13922         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
13923         the posix_spawn_file_actions_addchdir module.
13925 2019-06-10  Bruno Haible  <bruno@clisp.org>
13927         posix_spawn-internal: Fix module description.
13928         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
13929         from here...
13930         * modules/posix_spawnp (configure.ac): ... and here...
13931         * modules/posix_spawn-internal (configure.ac): ... to here.
13933 2019-06-10  Bruno Haible  <bruno@clisp.org>
13935         doc: Update and improve documentation of glibc functions.
13936         This is a series of commits that
13937         - updates the documentation to the state of glibc 2.29,
13938         - adds references to Linux man pages and glibc documentation,
13939         - marks Linux specific functions as such.
13940         These are the commits:
13941         doc: Update after removal of crypt functions from glibc 2.28.
13942         doc: Remove mention of function vm86 (does not exist on x86_64).
13943         doc: Remove mention of functions that are gone from glibc.
13944         doc: Mention that glibc no longer provides h_errno.
13945         doc: Mention the availability of specific functions in glibc versions.
13946         doc: Mention eaccess.
13947         doc: Add references to Linux man pages.
13948         doc: Add references to glibc documentation.
13949         doc: Mention inotify_* functions.
13950         doc: Mention ppoll.
13951         doc: Mention sched_getcpu.
13952         doc: Mention sync_file_range.
13953         doc: Mention epoll_pwait.
13954         doc: Mention eventfd, eventfd_read, eventfd_write.
13955         doc: Mention signalfd.
13956         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
13957         doc: Mention epoll_create1.
13958         doc: Mention getauxval.
13959         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
13960         doc: Mention nextdown, nextup.
13961         doc: Mention more ISO TS 18661-1 <math.h> functions.
13962         doc: Mention ISO TS 18661-1 <fenv.h> functions.
13963         doc: Mention getrandom, getentropy.
13964         doc: Mention strfromf, strfromd, strfroml.
13965         doc: Mention preadv2, pwritev2.
13966         doc: Mention copy_file_range.
13967         doc: Mention memfd_create.
13968         doc: Mention mlock2.
13969         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
13970         doc: Mention more ISO TS 18661-1 <math.h> functions.
13971         doc: Mention renameat2.
13972         doc: Mention statx.
13973         doc: Mention the ISO C11 multithreading header and functions.
13974         doc: Mention getcpu.
13975         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
13976         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
13977         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
13978         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
13979         doc: Some glibc functions also exist on Solaris 11.
13980         doc: Some glibc functions also exist on Solaris 11.4.
13981         doc: Some glibc functions also exist on FreeBSD.
13982         doc: Some glibc functions also exist on BeOS.
13983         doc: Some glibc functions also exist on Haiku.
13984         doc: Mark functions which exist only on Linux.
13985         doc: Mark functions which exist only on Linux and illumos.
13987 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13989         copy-file: fix typo
13990         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
13992         copy-file-range: simplify into a stub
13993         Based on a comment by Florian Weimer in:
13994         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
13995         It turns out that Emacs (which will use this module) won’t need an
13996         emulation and I suspect other programs won’t either, because these
13997         programs will need to fall back on read+write anyway.  Perhaps I
13998         am wrong and other programs will be able to use an emulation; if
13999         so, this patch can be reverted.
14000         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
14001         Just call it copy_file_range.
14002         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
14003         Check via AC_LINK_IFELSE.
14004         * modules/copy-file-range (Depends-on): Remove modules no longer used.
14006 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14008         copy-file: prefer copy_file_range
14009         * lib/copy-file.c: Do not include xalloc.h.
14010         (qcopy_file_preserving): Allocate a buffer only if
14011         copy_file_range does not suffice.  If the allocation fails
14012         don't give up; just use a small stack-based buffer.
14013         Prefer copy_file_range if it works.
14014         * modules/copy-file (Depends-on): Add copy-file-range.
14015         Remove xalloc.
14017         copy-file-range: new module
14018         * MODULES.html.sh: Add copy-file-range.
14019         * lib/copy-file-range.c, m4/copy-file-range.m4:
14020         * modules/copy-file-range: New files.
14021         * lib/unistd.in.h (copy_file_range): Declare.
14022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
14023         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
14024         * modules/unistd (unistd.h): Substitute them.
14026 2019-05-28  Bruno Haible  <bruno@clisp.org>
14028         binary-io: Attempted use of O_BINARY on consoles no longer fails.
14029         Reported by KO Myung-Hun <komh78@gmail.com> in
14030         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
14031         * lib/binary-io.h (__gl_setmode_check): Remove function.
14032         (set_binary_mode): Declare as notinline on DJGPP and EMX.
14033         * lib/binary-io.c (__gl_setmode_check): Remove function.
14034         (set_binary_mode): Define here on DJGPP and EMX. Inline
14035         __gl_setmode_check. In case of a tty, don't return an error code.
14037 2019-05-28  James Youngman  <jay@gnu.org>
14039         dirent-safer: Make opendir_safer usable from C++.
14040         * lib/dirent-safer.h: use extern "C".
14042 2019-05-28  James Youngman  <jay@gnu.org>
14044         canonicalize: Make canonicalize_filename_mode usable from C++.
14045         * lib/canonicalize.h: use extern "C".
14047 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
14049         prefix-gnulib-mk: Fix CPPFLAGS migration.
14050         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
14051         _a part of the library name.
14053 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14055         flexmember: update comments again
14056         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
14058         flexmember: update comment
14059         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
14061 2019-05-20  Bruno Haible  <bruno@clisp.org>
14063         setlocale: Improve fallback on macOS.
14064         * lib/setlocale.c (search): Optimize away a redundant strcmp()
14065         invocation.
14066         (locales_with_principal_territory): New array.
14067         (langcmp, get_main_locale_with_same_language): New functions.
14068         (locales_with_principal_language): New array.
14069         (terrcmp, get_main_locale_with_same_territory): New functions.
14070         (rpl_setlocale): When setlocale_single failed, try again with a locale
14071         that is more likely to exist. Don't warn if the environment variable
14072         SETLOCALE_VERBOSE is not set.
14074 2019-05-19  Bruno Haible  <bruno@clisp.org>
14076         localename: Fix default on macOS.
14077         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
14078         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
14079         (gl_locale_name_environ, gl_locale_name_default): Remove code for
14080         HAVE_CFLOCALECOPYCURRENT.
14081         * lib/localename.h (gl_locale_name_default): Update.
14083 2019-05-19  Karl Berry  <karl@freefriends.org>
14085         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
14086         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
14087         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
14089 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
14091         maintainer-makefile: catch uses of $< in non-implicit rules
14092         * top/maint.mk (sc_prohibit_magic_number_exit): New.
14094 2019-05-18  Bruno Haible  <bruno@clisp.org>
14096         threadlib: Provide an easy way to avoid mingw's winpthreads library.
14097         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
14098         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
14099         gl_use_threads accordingly.
14101 2019-05-18  Bruno Haible  <bruno@clisp.org>
14103         pthread_sigmask: Fix compilation error with --enable-threads=windows.
14104         Reported by Tim Rühsen in
14105         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
14106         and Michele Locati in
14107         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
14108         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
14109         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
14110         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
14111         in use and regardless which threads API is chosen.
14113 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14115         close-stream, closein, closeout: simplify
14116         I noticed this opportunity for simplification while drafting a
14117         new, related module that I haven’t had time to finish yet.
14118         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
14119         * modules/close-stream (Files): Remove m4/close-stream.m4.
14120         (configure.ac): Omit gl_CLOSE_STREAM.
14121         * modules/closein (Files): Remove m4/closein.m4
14122         (configure.ac): Omit gl_CLOSEIN.
14123         * modules/closeout (Files): Remove m4/closeout.m4.
14124         (configure.ac): Omit gl_CLOSEOUT.
14126 2019-05-12  Bruno Haible  <bruno@clisp.org>
14128         libtool-next-version: New program.
14129         * build-aux/libtool-next-version: New file.
14131 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
14132             Bruno Haible  <bruno@clisp.org>
14134         version-etc: Ease translation.
14135         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
14136         URLs and formatting newlines out of translatable string.
14138 2019-05-11  Bruno Haible  <bruno@clisp.org>
14140         gnupload: Explain how to create symlinks.
14141         * build-aux/gnupload (usage): Add an example that creates symlinks.
14143 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14145         fpucw: port to gcc -pedantic
14146         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
14147         Use __extension__ if using ({ ... }).
14149         crypto/af_alg: port to strict C compilers
14150         * lib/af_alg.c: Include af_alg.h regardless, so that the
14151         compilation unit is nonempty.
14153 2019-05-10  Bruno Haible  <bruno@clisp.org>
14155         base64: Avoid false positive warning from Coverity.
14156         Reported by Kamil Dudka <kdudka@redhat.com>.
14157         Idea by Paul Eggert.
14158         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
14159         '& 0x3f' to the array index expressions. This convinces Coverity that
14160         there is no out-of-bounds array reference, regardless of the input.
14162 2019-05-09  Bruno Haible  <bruno@clisp.org>
14164         gettext: Update to gettext 0.20.
14165         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
14166         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
14167         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
14168         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
14169         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
14170         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
14171         (configure.ac): Request infrastructure compatible with gettext 0.20.
14172         * m4/glibc2.m4: Remove file.
14173         * m4/intdiv0.m4: Remove file.
14174         * m4/intl.m4: Remove file.
14175         * m4/intldir.m4: Remove file.
14176         * m4/intmax.m4: Remove file.
14177         * m4/printf-posix.m4: Remove file.
14178         * m4/uintmax_t.m4: Remove file.
14179         * m4/gettext.m4: Update from gettext 0.20.
14180         * m4/po.m4: Likewise.
14182 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14184         verify: remove verify_true
14185         * NEWS: Mention this.
14186         * lib/verify.h (verify_true): Remove.
14187         * tests/test-verify.c (item): Test verify_expr, not verify_true.
14189         Support C2X and C++17 static_assert
14190         C2X and C++17 finally added support for a simple, single-argument
14191         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
14192         doing back in 2005.  Implement static_assert on older platforms.
14193         The only remaining advantage of ‘verify’ is a shorter name.
14194         * doc/posix-headers/assert.texi (assert.h):
14195         * doc/verify.texi (Compile-time Assertions):
14196         Modernize for C2X and C++17.
14197         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
14198         New macros.
14199         (_GL_HAVE__STATIC_ASSERT): Remove.
14200         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
14201         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
14202         string.  All callers changed.
14203         (_GL_VERIFY): Require 3 or more args, of which only the first 2
14204         are used.  All callers changed.
14205         (_Static_assert): Allow either 1 or 2 args, and define if
14206         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
14207         !_GL_HAVE__STATIC_ASSERT.
14208         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
14209         of defining if !_GL_HAVE_STATIC_ASSERT.
14210         (verify_expr, verify): Don’t bother trying to copy the expression
14211         into the diagnostic, since 1-argument static_assert doesn’t.
14212         (verify): Prefer 1-argument _Static_assert if it works.
14213         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
14215 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14217         Fix _GL_HAVE__STATIC_ASSERT typo
14218         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
14219         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
14221 2019-05-05  Bruno Haible  <bruno@clisp.org>
14223         wcwidth: Ensure width 1, not 2, for ambiguous characters.
14224         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
14225         via Akim Demaille <akim.demaille@gmail.com>.
14226         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
14227         en_US.UTF-8 locale, since that is more likely to be present than an
14228         fr_FR.UTF-8 locale.
14229         * tests/test-wcwidth.c (main): Check the width of U+2202.
14230         * doc/posix-functions/wcwidth.texi: Mention the issue.
14232 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14234         Port manywarnings to GCC 9
14235         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
14236         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
14237         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
14238         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
14239         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
14240         --help=warnings output.
14241         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
14242         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
14243         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
14245 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
14247         Sync lib/mktime-internal.h from glibc
14248         * config/srclist.txt: Add entry for lib/mktime-internal.h.
14249         * lib/mktime-internal.h: Autoupdate.
14251 2019-04-28  Bruno Haible  <bruno@clisp.org>
14253         tls tests: Prevent that the test takes too long.
14254         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
14255         (main): Let the test fail if it takes more than 10 minutes.
14256         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
14258 2019-04-27  Bruno Haible  <bruno@clisp.org>
14260         lock tests: Prevent that the test takes too long.
14261         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
14262         (main): Let the test fail if it takes more than 10 minutes.
14263         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
14265 2019-04-27  Bruno Haible  <bruno@clisp.org>
14267         localename: Fix crash on mingw (regression from 2018-11-23).
14268         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
14269         locale name that is null.
14271 2019-04-27  Bruno Haible  <bruno@clisp.org>
14273         Fix gcc warnings on 64-bit mode mingw.
14274         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
14275         * lib/gl_array_list.c: Likewise.
14276         * lib/gl_array_map.c: Likewise.
14277         * lib/gl_array_set.c: Likewise.
14278         * lib/gl_carray_list.c: Likewise.
14279         * lib/gl_sublist.c: Likewise.
14280         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
14281         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
14282         * lib/gl_hash_map.c (uintptr_t): Likewise.
14283         * lib/gl_hash_set.c (uintptr_t): Likewise.
14284         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
14285         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
14286         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
14287         * lib/iconv.c (uintptr_t): Likewise.
14288         * lib/iconv_close.c (uintptr_t): Likewise.
14289         * tests/test-lock.c: Include <stdint.h>.
14290         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
14291         'long'.
14292         * modules/clean-temp (Depends-on): Add stdint.
14293         * modules/array-list (Depends-on): Likewise.
14294         * modules/array-map (Depends-on): Likewise.
14295         * modules/array-set (Depends-on): Likewise.
14296         * modules/carray-list (Depends-on): Likewise.
14297         * modules/sublist (Depends-on): Likewise.
14298         * modules/lock-tests (Depends-on): Likewise.
14300 2019-04-27  Bruno Haible  <bruno@clisp.org>
14302         error: Tweak indentation.
14303         * lib/error.c: Correct indentation.
14305 2019-04-27  Bruno Haible  <bruno@clisp.org>
14307         term-style-control: Fix gcc warning on mingw.
14308         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
14309         of i.
14311 2019-04-26  Bruno Haible  <bruno@clisp.org>
14313         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
14314         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
14316 2019-04-26  Bruno Haible  <bruno@clisp.org>
14318         relocatable-prog: Fix gcc warning on mingw.
14319         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
14320         on EMX.
14322 2019-04-02  Bruno Haible  <bruno@clisp.org>
14324         gitsub.sh: New file.
14325         * top/gitsub.sh: New file.
14327 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
14329         argmatch: use void* for raw memory pointers
14330         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
14331         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
14332         to "values", keep char* for strings.
14334 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
14336         prefix-gnulib-mk: fix the support for gnulib-po
14337         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
14338         Don't touch HAVE_* variables.
14339         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
14341 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
14343         di-set: allow free with 'ino_map' being NULL.
14344         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
14345         is NULL.  Bug introduced in commit 3703dbbe88dd.
14346         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
14347         as a test.
14349 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14351         * lib/str-two-way.h: Fix comment typo.
14353 2019-04-13  Bruno Haible  <bruno@clisp.org>
14355         x-to-1: Restore ability to use original calling convention.
14356         * build-aux/x-to-1.in: Add comments. Accept the original form of
14357         HELP2MAN argument as well as the form expected since 2012-12-12.
14359 2019-04-13  Bruno Haible  <bruno@clisp.org>
14361         x-to-1: Avoid failure due to missing perl modules.
14362         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
14363         needs are installed.
14365 2019-04-13  Bruno Haible  <bruno@clisp.org>
14367         openmp-init: New module.
14368         * modules/openmp-init: New file.
14369         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
14370         the changes from 2019-04-09.
14372 2019-04-12  Bruno Haible  <bruno@clisp.org>
14374         signbit: Fix compilation error when gnulib's math.h exists twice.
14375         * lib/math.in.h (GNULIB_defined_signbit): New macro.
14377 2019-04-12  Bruno Haible  <bruno@clisp.org>
14379         openmp: Fix compilation error on platforms without OpenMP.
14380         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
14382 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
14384         mountlist: make parsing /proc/self/mountinfo more robust
14385         Cater for the following issues with mountinfo parsing (the first
14386         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
14387         in <https://bugs.gnu.org/35137>).
14388         1. The fields source, target, mntroot and fstype may contain characters
14389         like '\r'; sscanf(3) fails to read such values with the %s format
14390         specifier because it would stop at such characters.
14391         Example: "mount -t tmpfs tmpfs /foo^Mbar".
14392         The only true separator in that file is the ' ' character.
14393         2. The source field may be an empty string, which happens e.g. with
14394         "mount -t tmpfs '' /target".
14395         3. The fstype field may contain mangled characters as well which need
14396         unescaping.
14397         * lib/mountlist.c (terminate_at_blank): Add utility function.
14398         (read_file_system_list): In the block trying to read the mountinfo file,
14399         avoid using sscanf(3) with %s format; instead, parse the above fields
14400         separated by spaces one by one.
14401         This also handles the case when the source field is an empty string.
14402         Unescape the fstype field.
14404 2019-04-09  Bruno Haible  <bruno@clisp.org>
14406         openmp: Add workaround for 32-bit programs on AIX.
14407         * lib/omp.in.h: New file.
14408         * lib/omp-init.c: New file, based on lib/nproc.c.
14409         * m4/omp_h.m4: New file.
14410         * modules/openmp (Files): Add them.
14411         (Depends-on): Add include_next, c-ctype, setenv.
14412         (configure.ac): Invoke gl_OMP_H.
14413         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
14414         (Include): Mention <omp.h>.
14416 2019-04-09  Bruno Haible  <bruno@clisp.org>
14418         nproc: Fix return value for privileged processes.
14419         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
14420         getpid().
14422 2019-04-07  Bruno Haible  <bruno@clisp.org>
14424         Add copyright notices in several files.
14425         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
14426         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
14427         * lib/libunistring.valgrind: Likewise.
14428         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
14429         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
14430         * lib/memchr.valgrind: Likewise.
14431         * lib/memchr2.valgrind: Likewise.
14432         * lib/rawmemchr.valgrind: Likewise.
14433         * lib/relocatable.valgrind: Likewise.
14434         * lib/strchrnul.valgrind: Likewise.
14436 2019-03-25  Bruno Haible  <bruno@clisp.org>
14438         term-style-control tests: Fix link error.
14439         Reported by Tom G. Christensen in
14440         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
14441         * modules/term-style-control-tests (Makefile.am): Link
14442         test-term-style-control-hello and test-term-style-control-yes against
14443         LIBINTL.
14445 2019-03-24  Bruno Haible  <bruno@clisp.org>
14447         term-style-control: Add tests.
14448         * tests/test-term-style-control-hello.c: New file.
14449         * tests/test-term-style-control-yes.c: New file.
14450         * modules/term-style-control-tests: New file.
14452         term-style-control: New module.
14453         * lib/term-style-control.h: New file, based on libtextstyle's
14454         term-ostream.oo.h and term-ostream.oo.c.
14455         * lib/term-style-control.c: New file, based on libtextstyle's
14456         term-ostream.oo.c.
14457         * modules/term-style-control: New file.
14459 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14461         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
14462         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
14463         C++98 appears to be supported by Clang, but not by GCC nor ICC.
14465 2019-03-23  Bruno Haible  <bruno@clisp.org>
14467         Support cross-compilation to musl libc.
14468         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
14469         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
14470         musl libc.
14471         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14472         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14473         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14474         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14475         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14476         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
14477         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14478         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14479         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14480         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14481         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
14482         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
14483         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14484         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14485         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14486         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14487         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14488         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14489         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
14490         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14491         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14492         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14493         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
14494         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14495         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
14496         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14497         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14498         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14499         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
14500         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14501         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14502         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14503         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
14504         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14505         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14506         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
14507         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14508         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14509         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14510         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14511         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14512         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
14513         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
14514         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14515         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14516         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14517         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14518         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
14519         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
14520         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
14521         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
14522         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
14523         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14524         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
14525         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14526         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
14527         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14528         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14529         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14530         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14531         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14532         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14533         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14534         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
14535         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14536         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14537         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14538         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
14539         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14540         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
14541         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14542         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14543         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14544         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14545         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
14546         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14547         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14548         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14550 2019-03-23  Bruno Haible  <bruno@clisp.org>
14552         posix_spawn_file_actions_*: Document musl libc bugs.
14553         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14554         the bug.
14555         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
14556         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
14557         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
14558         cross-compiling to a musl system, guess no.
14559         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
14560         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
14562 2019-03-23  Bruno Haible  <bruno@clisp.org>
14564         futimens: Document musl libc bug.
14565         * doc/posix-functions/futimens.texi: Mention the bug.
14566         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
14567         cross-compiling, guess no on glibc and musl systems.
14569 2019-03-23  Bruno Haible  <bruno@clisp.org>
14571         Clarify that cross-compilation guesses are guesses.
14572         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
14573         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
14574         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
14575         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
14576         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
14577         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
14578         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
14579         gl_cv_glob_lists_symlinks.
14580         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
14581         'guessing ' to ac_cv_func_malloc_0_nonnull.
14582         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
14583         'guessing ' to ac_cv_func_realloc_0_nonnull.
14584         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
14585         'guessing ' to gl_cv_func_poll.
14586         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
14587         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
14588         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
14590 2019-03-23  Bruno Haible  <bruno@clisp.org>
14592         strtold: Fix typo.
14593         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
14595 2019-03-23  Bruno Haible  <bruno@clisp.org>
14597         noreturn: In C++ mode with clang, use _Noreturn as fallback.
14598         Reported by Akim Demaille.
14599         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
14600         [[noreturn]] would not work, use _Noreturn instead.
14602 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14604         libtextstyle-optional: Fix compiler warnings.
14605         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
14606         as unused.
14608 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14610         bitset: fix memory leaks
14611         Reported by Bruno Haible.
14612         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
14613         * lib/bitset/vector.c (vbitset_free): New.
14614         (vbitset_vtable): Use it.
14616 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14618         bitset: minor changes
14619         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
14620         * lib/bitset/table.c: Formatting changes.
14621         Remove useless braces.
14622         Prefer using else in cascades of if/else-if with returns.
14623         * lib/bitset/vector.c: Reduce scopes.
14625 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14627         bitset: expose bitset_resize
14628         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
14629         * tests/test-bitset.c (check_attributes): Check bitset_resize.
14630         (main): Use a variable bitset as reference, since fixed does not support resize.
14632 2019-03-19  Bruno Haible  <bruno@clisp.org>
14634         doc: Document the 'stdnoreturn' and 'noreturn' modules.
14635         Reported by Akim Demaille.
14636         * doc/noreturn.texi: New file.
14637         * doc/gnulib.texi: Include it.
14639 2019-03-19  Bruno Haible  <bruno@clisp.org>
14641         doc: Document how to use 'static inline'.
14642         * doc/static-inline.texi: New file.
14643         * doc/gnulib.texi: Include it.
14645 2019-03-19  Bruno Haible  <bruno@clisp.org>
14647         libtextstyle-optional: Add tests.
14648         * tests/test-libtextstyle.c: New file, based on libtextstyle's
14649         adhoc-tests/hello.c.
14650         * tests/test-libtextstyle-default.css: New file, copied from
14651         libtextstyle's adhoc-tests/hello-default.css.
14652         * modules/libtextstyle-optional-tests: New file.
14654         libtextstyle-optional: New module.
14655         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
14656         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
14657         * modules/libtextstyle-optional: New file.
14659 2019-03-19  Bruno Haible  <bruno@clisp.org>
14661         c-stack: Make signal handlers more reliable.
14662         * lib/c-stack.c (progname): New variable.
14663         (die): Use it.
14664         (c_stack_action): Initialize it.
14665         (segv_handler): Save and restore errno.
14667 2019-03-19  Bruno Haible  <bruno@clisp.org>
14669         Help making signal handlers more reliable.
14670         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
14671         _GL_ASYNC_SAFE into config.h.
14672         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
14673         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
14674         argument.
14675         * lib/fatal-signal.c (action_t, uninstall_handlers,
14676         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
14677         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
14678         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
14679         _GL_ASYNC_SAFE.
14680         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
14681         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
14683 2019-03-18  Bruno Haible  <bruno@clisp.org>
14685         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
14686         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
14687         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
14689 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14691         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
14692         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
14693         GCC 4.8.
14695 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
14697         fts: minor simplification
14698         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
14700 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14702         bitset, timevar: Depend on c99.
14703         Reported by Bruno Haible.
14704         * modules/bitset, modules/timevar (Depends-on): Add c99.
14706 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14708         bitset: a bit (...) more tests
14709         * tests/test-bitset.c (check_attributes): Check zero and ones.
14711 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14713         bitset: fix overflows.
14714         Reported by Bruno Haible.
14715         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
14716         * lib/bitset/table.c (tbitset_test): last_bit is the position of
14717         the bit in the array of bitset_word, so be sure to take its modulo
14718         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
14719         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
14721 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
14723         bitset: style changes.
14724         * lib/bitset/table.c: Use NULL, not 0, for pointers.
14725         Formatting changes.
14726         (tbitset_list): Reduce scopes.
14728 2019-03-16  Bruno Haible  <bruno@clisp.org>
14730         fatal-signal: Pass the signal number to the action.
14731         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
14732         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
14733         (fatal_signal_handler): Pass the signal number to the action.
14734         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
14735         signal number as parameter.
14736         (create_temp_dir): Update.
14737         * lib/wait-process.c (cleanup_slaves_action): New function.
14738         (register_slave_subprocess): Update at_fatal_signal invocation.
14739         * NEWS: Mention the change.
14741 2019-03-16  Bruno Haible  <bruno@clisp.org>
14743         fatal-signal: Add function that lists the fatal signals.
14744         * lib/fatal-signal.h (get_fatal_signals): New declaration.
14745         * lib/fatal-signal.c (get_fatal_signals): New function.
14747 2019-03-14  Bruno Haible  <bruno@clisp.org>
14749         isatty: Make it return true in Cygwin consoles on native Windows.
14750         * lib/isatty.c: Include <string.h>.
14751         (GetProcAddress): New macro.
14752         (GetNamedPipeClientProcessIdFuncType): New type.
14753         (GetNamedPipeClientProcessIdFunc): New variable.
14754         (QueryFullProcessImageNameFuncType): New type.
14755         (QueryFullProcessImageNameFunc): New variable.
14756         (initialized): New variable.
14757         (initialize): New function.
14758         (IsCygwinConsoleHandle): New function.
14759         (isatty): Invoke it.
14760         * doc/posix-functions/isatty.texi: Mention the issue.
14762 2019-03-14  Bruno Haible  <bruno@clisp.org>
14764         all: Update URLs to msdn.microsoft.com.
14765         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
14766         was moved to docs.microsoft.com.
14768 2019-03-13  Bruno Haible  <bruno@clisp.org>
14770         gnulib-tool: Clarify the coding style.
14771         Suggested by Pavel Raiskup <praiskup@redhat.com>.
14772         * gnulib-tool: Add comment about coding style.
14774 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14776         strtod: fix clash with strtold
14777         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
14778         * lib/strtod.c (compute_minus_zero, minus_zero):
14779         Simplify by remving the macro / external variable,
14780         and having just a function.  User changed.  This avoids
14781         the need for an external variable that might clash.
14783 2019-03-10  Bruno Haible  <bruno@clisp.org>
14785         alloca-opt: Fix conflict mingw's new <alloca.h> file.
14786         Reported by Eli Zaretskii <eliz@gnu.org>.
14787         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
14788         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
14789         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
14791 2019-03-10  Bruno Haible  <bruno@clisp.org>
14793         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
14794         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
14795         is in use.
14796         * tests/test-printf-posix2.c: Likewise.
14798 2019-03-10  Bruno Haible  <bruno@clisp.org>
14800         uninorm tests: Free allocated memory.
14801         * tests/uninorm/test-u32-normalize-big.h
14802         (struct normalization_test_file): Remove 'const' from allocated member.
14803         (free_normalization_test_file): New declaration.
14804         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
14805         memory.
14806         (free_normalization_test_file): New function.
14807         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
14808         'struct normalization_test_file' contents.
14809         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
14810         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
14811         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
14813 2019-03-10  Bruno Haible  <bruno@clisp.org>
14815         di-set: Fix memory leak.
14816         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
14817         not free().
14819 2019-03-10  Bruno Haible  <bruno@clisp.org>
14821         tests: Free allocated memory.
14822         Reported by <deltatau@protonmail.com> via Assaf Gordon.
14823         * tests/test-astrxfrm.c (main): Free allocated memory.
14824         * tests/test-bitset.c (compare, check_attributes): Free allocated
14825         bitsets.
14826         * tests/test-filenamecat.c (main): Free allocated memory.
14827         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
14828         * tests/test-freadptr.c (main): Likewise.
14829         * tests/test-freadptr2.c (main): Free allocated memory.
14830         * tests/test-freadseek.c (main): Likewise.
14831         * tests/test-gc-arcfour.c (main): Close allocated context.
14832         * tests/test-gc-arctwo.c (main): Likewise.
14833         * tests/test-gc-des.c (main): Close all allocated contexts.
14834         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
14835         * tests/test-pipe-filter-ii1.c (main): Likewise.
14836         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
14837         allocated file actions.
14838         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
14839         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
14840         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
14841         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
14842         * tests/test-strfmon_l.c (main): Free allocated locales.
14843         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
14844         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
14845         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14846         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14847         * tests/unistr/test-chr.h (main): Free input32.
14848         * tests/unistr/test-strchr.h (test_strchr): Likewise.
14850 2019-03-10  Bruno Haible  <bruno@clisp.org>
14852         tests: Prepare for using valgrind.
14853         * tests/*.sh: Invoke all test programs through ${CHECKER}.
14854         * tests/*/*.sh: Likewise.
14855         * tests/test-freadptr.c (main): Update accordingly.
14856         * tests/test-freadseek.c (main): Likewise.
14858 2019-03-09  Bruno Haible  <bruno@clisp.org>
14860         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
14861         * lib/get-rusage-as.c (get_rusage_as): When compiled by
14862         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
14863         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
14864         before exiting.
14866 2019-03-09  Jim Meyering  <meyering@fb.com>
14868         test-userspec.c: don't print NULL
14869         * tests/test-userspec.c (main): A test release of gcc,
14870         9.0.1 20190310, warned that this test would attempt to
14871         print a NULL pointer via a %s printf format.  Fix that
14872         and remove the unnecessary preceding "!diag" conjunct.
14873         Also add a comment.
14875 2019-03-03  Bruno Haible  <bruno@clisp.org>
14877         getloadavg: Write NULL for the null pointer.
14878         Reported by Michal Privoznik <mprivozn@redhat.com>.
14879         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
14881 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
14883         alloca, tsearch-tests: Write NULL for the null pointer.
14884         * lib/alloca.c (i00afunc): Write NULL instead of 0.
14885         * tests/test-tsearch.c (mangle_tree): Likewise.
14887 2019-03-09  Bruno Haible  <bruno@clisp.org>
14889         strfmon_l: Fix -fsanitize=address finding.
14890         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
14891         <string.h>.
14892         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
14893         (directive_t, directives_t): New types.
14894         (fmon_parse): New function.
14895         (rpl_strfmon_l): Don't call va_arg more often than needed for the
14896         format string. Consume 'long double' arguments in places where the
14897         format string indicates so.
14898         * modules/strfmon_l (Depends-on): Add 'stdbool'.
14900 2019-03-09  Bruno Haible  <bruno@clisp.org>
14902         crypto/des: Fix undefined behaviour.
14903         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
14904         shift operations on 'int'.
14906 2019-03-09  Bruno Haible  <bruno@clisp.org>
14908         Fix undefined behaviour.
14909         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
14910         'unsigned int', to avoid shift operations on 'int'.
14911         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
14912         * tests/test-count-leading-zeros.c (main): Use a random number that has
14913         as many bits as TYPE, not only 2*15 or 2*31 bits.
14914         * tests/test-count-trailing-zeros.c (main): Likewise.
14915         * tests/test-count-one-bits.c (main): Likewise.
14916         * tests/test-memmem.c: Don't include "null-ptr.h".
14917         (main): Use zerosize_ptr() instead of null_ptr().
14918         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
14920 2019-03-08  Bruno Haible  <bruno@clisp.org>
14922         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
14923         Reported by Jeffrey Walton <noloader@gmail.com>.
14924         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
14925         invoke memset with a zero size.
14926         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
14927         Likewise.
14928         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
14929         Adjust accordingly.
14931 2019-03-08  Bruno Haible  <bruno@clisp.org>
14933         unistr/*, uniconv/*: Fix undefined behaviour.
14934         Reported by Jeffrey Walton <noloader@gmail.com>.
14935         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
14936         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
14937         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14938         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14940 2019-03-08  Bruno Haible  <bruno@clisp.org>
14942         unistr/u8-cmp: Fix undefined behaviour.
14943         Reported by Jeffrey Walton <noloader@gmail.com>.
14944         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
14946 2019-03-08  Bruno Haible  <bruno@clisp.org>
14948         unictype/numeric: Fix undefined behaviour.
14949         Reported by Jeffrey Walton <noloader@gmail.com>.
14950         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
14951         on shift overflow, caught by "gcc -fsanitize=undefined".
14952         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
14953         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14954         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14956 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
14958         git-version-gen: fix --version copyright year
14959         * build-aux/git-version-gen, build-aux/move-if-change (version):
14960         --version output copyright year is now taken from script year,
14961         so that it no longer needs to be updated by hand.
14963 2019-03-04  Bruno Haible  <bruno@clisp.org>
14965         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
14966         This approach supports relocatable installation of shared libraries
14967         which depend on other shared libraries from the same package.
14968         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
14969         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
14970         wrapper around the original LIBTOOL.
14971         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
14972         token '@loader_path' instead of '$ORIGIN'.
14973         * build-aux/libtool-reloc: New file.
14974         * modules/relocatable-prog (Files): Add it.
14975         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
14976         the recent changes. Document the need to set the *_LDFLAGS of libraries.
14977         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
14978         Makefile.am, not in configure.ac.
14980 2019-03-04  Bruno Haible  <bruno@clisp.org>
14982         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
14983         * build-aux/install-reloc: Revert change.
14984         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
14986 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14988         nstrftime: support the ‘+’ flag
14989         * lib/nstrftime.c (add, __strftime_internal):
14990         Add support for the ‘+’ flag introduced in POSIX.1-2017.
14991         (__strftime_internal): New arg ‘width’.  All uses changed.
14992         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
14994 2019-02-24  Bruno Haible  <bruno@clisp.org>
14996         relocatable-prog: Improve verbose output.
14997         * build-aux/install-reloc (func_verbose): Escape characters that would
14998         be interpreted by the shell.
15000 2019-02-24  Bruno Haible  <bruno@clisp.org>
15002         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
15003         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
15004         "sys/stat.h".
15005         * lib/lstat.c: Likewise.
15006         * lib/fstat.c: Likewise.
15007         * lib/fstatat.c: Likewise.
15009 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
15011         long-options: add parse_gnu_standard_options_only
15012         Discussed in https://bugs.gnu.org/33468 .
15014         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
15015         (parse_gnu_standard_options_only): Add function to process
15016         the GNU default options --help and --version and fail for
15017         any other unknown long or short option. See
15018         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
15019         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
15020         * modules/long-options (depends-on): Add stdbool, exitfail.
15021         * top/maint.mk (sc_prohibit_long_options_without_use): Update
15022         syntax-check rule, add new function name.
15024 2019-02-23  Bruno Haible  <bruno@clisp.org>
15026         relocatable-prog: Update documentation.
15027         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15028         the recent changes.
15030 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15032         nstrftime: tweak arg order
15033         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
15034         All callers changed.  Suggested by TAMUKI Shoichi in:
15035         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
15037 2019-02-23  Bruno Haible  <bruno@clisp.org>
15039         relocatable-prog: Use wrapper-free installation also on Mac OS X.
15040         Reported by Paul Smith <psmith@gnu.org>.
15041         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
15042         (func_relativize): New function, from gnulib-tool.
15043         Handle mode 'macosx' through invocations of 'otool' and
15044         'install_name_tool'.
15045         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15046         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
15047         'install-reloc' invocation with mode 'macosx'.
15049 2019-02-23  Bruno Haible  <bruno@clisp.org>
15051         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
15052         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15053         Hurd with glibc >= 2.27.
15055 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
15057         nstrftime: merge glibc strftime changes
15058         This incorporates:
15059         2019-02-11 Fix a few whitespace arrangement inconsistencies
15060         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
15061         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
15062         2019-01-11 strftime: use the "L_" macro with character literals
15063         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
15064         callers changed.  Default width of %Ey is now 2.  This is needed
15065         for proper handling of Japanese dates starting on 2019-05-01.
15067 2019-02-19  Bruno Haible  <bruno@clisp.org>
15069         relocatable-prog: Use $ORIGIN trick on more platforms.
15070         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15071         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
15072         Solaris >= 10, Haiku. But don't use it on Android.
15073         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
15074         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
15076 2019-02-19  Bruno Haible  <bruno@clisp.org>
15078         progreloc: Speed up executable lookup on various platforms.
15079         * lib/progreloc.c: Include <errno.h>.
15080         (safe_read, full_read): New functions.
15081         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
15082         prefer the information from the /proc file system to a PATH search.
15084 2019-02-19  Bruno Haible  <bruno@clisp.org>
15086         progreloc: Simplify code for Android.
15087         * lib/progreloc.c (executable_fd): Don't define on Android.
15088         (maybe_executable, find_executable): Don't use executable_fd on Android.
15090 2019-02-15  Bruno Haible  <bruno@clisp.org>
15092         gnulib-tool: Support --import with just a few tests, not --with-tests.
15093         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
15094         'inctests' when generating files; use 'inctests' only for computing the
15095         transitive closure.
15097 2019-02-14  Bruno Haible  <bruno@clisp.org>
15099         gnulib-tool: Improve handling of multiple --local-dir options.
15100         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
15101         options work.
15102         * gnulib-tool (func_path_prepend): Remove function.
15103         (func_path_foreach): Make IFS handling more robust.
15104         (local_gnulib_path): Collect --local-dir values using func_path_append,
15105         not func_path_prepend.
15106         (func_determine_path_separator): Make IFS handling more robust.
15107         (func_lookup_file_cb): New function.
15108         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
15109         func_lookup_local_file. Apply the patches in the reverse order of their
15110         origin in $local_gnulib_path.
15111         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
15112         * NEWS: Mention that the first --local-dir option is the one with
15113         highest priority.
15115 2019-02-10  Bruno Haible  <bruno@clisp.org>
15117         libtextstyle: New module.
15118         * m4/libtextstyle.m4: New file.
15119         * modules/libtextstyle: New file.
15121 2019-02-05  Bruno Haible  <bruno@clisp.org>
15123         declared.sh: Fix bug with variables of pointer type.
15124         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
15125         before the symbol to be omitted if the preceding character is a '*'.
15127 2019-02-04  Bruno Haible  <bruno@clisp.org>
15129         Add script for running tests under valgrind.
15130         * build-aux/run-test: New file, from GNU libunistring.
15131         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
15132         as well.
15134 2019-02-04  Bruno Haible  <bruno@clisp.org>
15136         declared.sh: Fix --version output.
15137         * build-aux/declared.sh (func_version): Update package name.
15139 2019-02-03  Bruno Haible  <bruno@clisp.org>
15141         Add script for determining the set of symbols to export from a library.
15142         * build-aux/declared.sh: New file, from GNU libunistring.
15143         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
15144         Mention it.
15146 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
15148         vla: add commentary about VLA_ELEMS
15149         * lib/vla.h (VLA_ELEMS): Add commentary,
15150         some inspired by Bruno Haible’s proposal in:
15151         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
15153         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
15154         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
15155         assume the C99 signatures for strtod and strtold.  Programs that
15156         require stricter adherence to C99 should also use the strtod and
15157         strtold modules as needed, and we no longer need the
15158         HAVE_C99_STRTOLD macro.
15159         * NEWS: Mention this.
15160         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
15161         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
15162         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
15163         (Files): Remove m4/c-strtod.m4.
15164         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
15165         exists.
15167 2019-02-02  Bruno Haible  <bruno@clisp.org>
15169         fma: Improve code style.
15170         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
15172 2019-02-02  Colin Watson  <cjwatson@debian.org>
15174         *-map tests: Fix compilation error.
15175         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
15176         * tests/test-hash_map.c: Likewise.
15177         * tests/test-linkedhash_map.c: Likewise.
15179 2019-01-31  Bruno Haible  <bruno@clisp.org>
15181         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
15182         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
15183         GNULIB_defined_strtold_function): New macros.
15184         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
15185         (STRTOD): Ignore HAVE_C99_STRTOLD.
15186         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
15187         deemed buggy. But do use it on platforms where uselocale exists and is
15188         usable.
15189         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
15190         deemed buggy. On platforms where uselocale exists and is usable, use
15191         uselocale and strtod/strtold.
15192         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
15193         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
15194         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
15195         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
15196         (Depends-on): Add strtod.
15197         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
15198         (Depends-on): Add strtold.
15200 2019-01-31  Bruno Haible  <bruno@clisp.org>
15202         strtod, strtold: Use the locale's decimal point.
15203         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
15204         (decimal_point_char): New function, copied from lib/vasnprintf.c.
15205         (parse_number): Add a radixchar argument. Use it instead of '.'.
15206         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
15207         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
15208         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
15209         * tests/test-strtod1.c: New file.
15210         * tests/test-strtod1.sh: New file.
15211         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
15212         locale-fr.m4 and its dependencies.
15213         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15214         (Makefile.am): Arrange to compile test-strtod1.c and run
15215         test-strtod1.sh.
15216         * tests/test-strtold1.c: New file.
15217         * tests/test-strtold1.sh: New file.
15218         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
15219         locale-fr.m4 and its dependencies.
15220         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15221         (Makefile.am): Arrange to compile test-strtold1.c and run
15222         test-strtold1.sh.
15224 2019-01-31  Bruno Haible  <bruno@clisp.org>
15226         strtod, strtold tests: Simplify tests.
15227         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
15228         * tests/test-strtold.c (main): Likewise.
15230 2019-01-31  Bruno Haible  <bruno@clisp.org>
15232         strtod, strtold: Avoid unnecessary rounding errors.
15233         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
15234         decimal to DOUBLE conversion.
15236 2019-01-31  Bruno Haible  <bruno@clisp.org>
15238         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
15239         * lib/strtod.c (STRTOD): When there is an extra character after the
15240         exponent marker 'p', reparse the number.
15241         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
15242         * doc/posix-functions/strtold.texi: Likewise.
15244 2019-01-29  Bruno Haible  <bruno@clisp.org>
15246         strtold: Add tests.
15247         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
15248         * modules/strtold-tests: New file.
15250 2019-01-29  Bruno Haible  <bruno@clisp.org>
15252         strtold: New module.
15253         * lib/stdlib.in.h (strtold): New declaration.
15254         * lib/strtold.c: New file.
15255         * lib/strtod.c: Consider USE_LONG_DOUBLE.
15256         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
15257         USE_LDEXP): New macros.
15258         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
15259         USE_LONG_DOUBLE.
15260         (underlying_strtod): Remove function. Replace with some macros.
15261         Re-add the code for a missing underlying function that was removed on
15262         2013-02-19.
15263         * m4/strtold.m4: New file.
15264         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
15265         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
15266         REPLACE_STRTOLD.
15267         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
15268         REPLACE_STRTOLD.
15269         * modules/strtold: New file.
15270         * doc/posix-functions/strtold.texi: Document the new module.
15272 2019-01-29  Bruno Haible  <bruno@clisp.org>
15274         strtod: Fix compilation error on IRIX 6.5.
15275         * modules/strtod (Depends-on): Add 'math'.
15277 2019-01-28  Bruno Haible  <bruno@clisp.org>
15279         Fix build error when building a shared libunistring on Android.
15280         * tests/uninorm/test-nfc.c (n): Don't define on Android.
15281         (main): Add 'volatile', to defeat a GCC optimization that would
15282         eliminate the reference.
15283         * tests/uninorm/test-nfd.c (n): Don't define on Android.
15284         (main): Add 'volatile', to defeat a GCC optimization that would
15285         eliminate the reference.
15286         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
15287         (main): Add 'volatile', to defeat a GCC optimization that would
15288         eliminate the reference.
15289         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
15290         (main): Add 'volatile', to defeat a GCC optimization that would
15291         eliminate the reference.
15293 2019-01-27  Bruno Haible  <bruno@clisp.org>
15295         Avoid build errors due to wrong references between modules.
15296         * lib/uninorm/canonical-decomposition.c: Include
15297         "uninorm/decomposition-table.h", not "decomposition-table.h".
15298         * lib/uninorm/decomposition.c: Likewise.
15299         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
15300         not "decompose-internal.h".
15301         * lib/uninorm/u16-normalize.c: Likewise.
15302         * lib/uninorm/u32-normalize.c: Likewise.
15303         * lib/uninorm/uninorm-filter.c: Likewise.
15304         * lib/uninorm/nfkc.c: Likewise.
15305         * lib/uninorm/nfkd.c: Likewise.
15306         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
15307         "caseprop.h".
15308         * lib/unicase/u8-ct-totitle.c: Likewise.
15309         * lib/unicase/u8-prefix-context.c: Likewise.
15310         * lib/unicase/u8-suffix-context.c: Likewise.
15311         * lib/unicase/u16-casemap.c: Likewise.
15312         * lib/unicase/u16-ct-totitle.c: Likewise.
15313         * lib/unicase/u16-prefix-context.c: Likewise.
15314         * lib/unicase/u16-suffix-context.c: Likewise.
15315         * lib/unicase/u32-casemap.c: Likewise.
15316         * lib/unicase/u32-ct-totitle.c: Likewise.
15317         * lib/unicase/u32-prefix-context.c: Likewise.
15318         * lib/unicase/u32-suffix-context.c: Likewise.
15319         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
15320         "unicasemap.h".
15321         * lib/unicase/u8-toupper.c: Likewise.
15322         * lib/unicase/u8-ct-tolower.c: Likewise.
15323         * lib/unicase/u8-ct-toupper.c: Likewise.
15324         * lib/unicase/u16-tolower.c: Likewise.
15325         * lib/unicase/u16-toupper.c: Likewise.
15326         * lib/unicase/u16-ct-tolower.c: Likewise.
15327         * lib/unicase/u16-ct-toupper.c: Likewise.
15328         * lib/unicase/u32-tolower.c: Likewise.
15329         * lib/unicase/u32-toupper.c: Likewise.
15330         * lib/unicase/u32-ct-tolower.c: Likewise.
15331         * lib/unicase/u32-ct-toupper.c: Likewise.
15332         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
15333         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
15334         * lib/unicase/u16-ct-casefold.c: Likewise.
15335         * lib/unicase/u32-ct-casefold.c: Likewise.
15337 2019-01-27  Bruno Haible  <bruno@clisp.org>
15339         gperf: Fix error when this module is required by some test module.
15340         * modules/gperf (Applicability): Set to 'all'.
15342 2019-01-27  Bruno Haible  <bruno@clisp.org>
15344         tmpfile: Add support for Android.
15345         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
15346         works.
15347         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
15348         Android.
15349         * modules/tmpfile (Depends-on): Add 'stdbool'.
15350         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
15351         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
15353 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
15355         bitsetv: allow free on NULL.
15356         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
15358 2019-01-27  Bruno Haible  <bruno@clisp.org>
15360         test-framework-sh: Improve maintainability.
15361         * tests/init.sh: Clarify what belongs together. Reorder definitions.
15363 2019-01-27  Bruno Haible  <bruno@clisp.org>
15365         tests: Don't assume that /tmp exists.
15366         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
15367         * tests/test-copy-acl-1.sh: Likewise.
15368         * tests/test-file-has-acl-1.sh: Likewise.
15369         * tests/test-copy-file-1.sh: Likewise.
15371 2019-01-27  Bruno Haible  <bruno@clisp.org>
15373         tests: Accommodate a shell that is not in /bin/sh.
15374         * tests/init.sh (setup_): Set srcdir and builddir.
15375         (BOURNE_SHELL): New variable.
15376         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
15377         * modules/file-has-acl-tests (Depends-on): Likewise.
15378         * modules/copy-file-tests (Depends-on): Likewise.
15379         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
15380         scripts through $BOURNE_SHELL.
15381         * tests/test-set-mode-acl-2.sh: Likewise.
15382         * tests/test-copy-acl-1.sh: Likewise.
15383         * tests/test-copy-acl-2.sh: Likewise.
15384         * tests/test-file-has-acl-1.sh: Likewise.
15385         * tests/test-file-has-acl-2.sh: Likewise.
15386         * tests/test-copy-file-1.sh: Likewise.
15387         * tests/test-copy-file-2.sh: Likewise.
15388         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
15389         invoker.
15390         * tests/test-copy-acl.sh (builddir): Likewise.
15391         * tests/test-file-has-acl.sh (builddir): Likewise.
15392         * tests/test-copy-file.sh (builddir): Likewise.
15393         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
15394         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
15395         * tests/test-vc-list-files-git.sh: Likewise.
15397 2019-01-27  Bruno Haible  <bruno@clisp.org>
15399         tests: Fix some "unused variable" warnings.
15400         * tests/test-fts.c (fts_dealloc): Remove unused variable.
15401         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
15402         * tests/test-striconveh.c (main): Move some variable into the
15403         '#if HAVE_ICONV'.
15404         * tests/test-striconveha.c (main): Likewise.
15405         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
15406         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15407         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15408         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
15409         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15410         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15411         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15412         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15413         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15414         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
15415         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
15416         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
15417         * tests/test-tsearch.c (main): Move some variable into the
15418         '#if HAVE_INITSTATE'.
15420 2019-01-27  Bruno Haible  <bruno@clisp.org>
15422         unigbrk/uc-grapheme-breaks: Fix build failure.
15423         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
15424         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
15426 2019-01-27  Bruno Haible  <bruno@clisp.org>
15428         mountlist: Merge two .m4 files.
15429         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
15430         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
15431         * m4/ls-mntd-fs.m4: Remove file.
15432         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
15434 2019-01-27  Bruno Haible  <bruno@clisp.org>
15436         tests: Enable Linux specific tests on Android.
15437         * tests/test-flock.c (main): Treat Android like Linux.
15438         * tests/test-openat-safer.c (main): Likewise.
15440 2019-01-27  Bruno Haible  <bruno@clisp.org>
15442         relocatable-prog: Use Linux code on Android.
15443         * lib/progreloc.c: Treat Android like Linux.
15445 2019-01-26  Bruno Haible  <bruno@clisp.org>
15447         getloadavg: Add support for Android.
15448         * lib/getloadavg.c: Treat Android like Linux.
15450 2019-01-26  Bruno Haible  <bruno@clisp.org>
15452         vma-iter: Add support for Android.
15453         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
15454         * lib/vma-iter.c: Treat Android like Linux.
15455         * lib/get-rusage-data.c (get_rusage_data): Likewise.
15457 2019-01-26  Bruno Haible  <bruno@clisp.org>
15459         fts: Optimize on Android.
15460         * lib/fts.c: Treat Android like Linux.
15462 2019-01-26  Bruno Haible  <bruno@clisp.org>
15464         fts: Add support for Android.
15465         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
15466         defined by this module and the ones in libc.
15467         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
15469 2019-01-26  Bruno Haible  <bruno@clisp.org>
15471         mountlist: Use Linux code on Android.
15472         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
15473         (unescape_tab, read_file_system_list): Enable Linux code on Android
15474         as well.
15475         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
15476         and endmntent.
15477         * modules/mountlist (Depends-on): Add 'getline'.
15479 2019-01-26  Bruno Haible  <bruno@clisp.org>
15481         localename tests: Fix test failure on Android.
15482         * modules/localename-tests (Depends-on): Add 'setlocale'.
15484 2019-01-26  Bruno Haible  <bruno@clisp.org>
15486         mountlist: Port better to Android.
15487         * lib/mountlist.c (MOUNTED): Redefine on Android.
15488         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
15489         Android.
15491 2019-01-26  Bruno Haible  <bruno@clisp.org>
15493         striconveh: Fix use of uninitialized iconv_t.
15494         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
15495         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
15496         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
15498 2019-01-26  Bruno Haible  <bruno@clisp.org>
15500         nonblocking-socket-tests: Fix test failure on Android 4.3.
15501         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
15502         also on Android.
15504 2019-01-26  Bruno Haible  <bruno@clisp.org>
15506         sh-filename: Add support for Android 4.3.
15507         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
15509 2019-01-26  Bruno Haible  <bruno@clisp.org>
15511         ptsname_r: Work around bug on Android 4.3.
15512         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
15513         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
15514         correct.
15515         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
15516         is defined, just fix the return value.
15517         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
15518         The behaviour of musl libc is nothing to be "fixed", since it is
15519         compliant with the next POSIX standard.
15521 2019-01-26  Bruno Haible  <bruno@clisp.org>
15523         ttyname_r: Work around bug on Android 4.3.
15524         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
15525         * lib/ttyname_r.c (ttyname_r): Implement for Android.
15526         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
15527         * doc/posix-functions/ttyname.texi: Likewise.
15529 2019-01-25  Bruno Haible  <bruno@clisp.org>
15531         getprogname: Port to Android 4.3.
15532         * lib/getprogname.c (getprogname): On Android, take only the last
15533         component of __progname.
15535 2019-01-25  Bruno Haible  <bruno@clisp.org>
15537         wcrtomb: Work around bug on Android 4.3.
15538         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
15539         the C locale.
15540         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
15541         which does not have the 'wctomb' function.
15542         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
15543         * tests/test-wcrtomb.c (main): Accept argument '5'.
15544         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
15546 2019-01-25  Bruno Haible  <bruno@clisp.org>
15548         setlocale: Work around bug on Android 4.3.
15549         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
15550         the "C" locale.
15551         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
15552         * doc/posix-functions/setlocale.texi: Mention the Android bug.
15554 2019-01-24  Bruno Haible  <bruno@clisp.org>
15556         memchr: Work around bug on Android <= 5.0.
15557         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
15558         * doc/posix-functions/memchr.texi: Mention the Android bug.
15560 2019-01-24  Bruno Haible  <bruno@clisp.org>
15562         random: Fix compilation error on Android 4.3.
15563         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
15564         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
15565         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
15566         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
15567         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
15569         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15570         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
15571         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15572         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
15573         REPLACE_INITSTATE, REPLACE_SETSTATE.
15574         * doc/posix-functions/random.texi: Correct the description of the
15575         situation on Android.
15576         * doc/posix-functions/srandom.texi: Likewise.
15577         * doc/posix-functions/rand.texi: Likewise.
15578         * doc/posix-functions/srand.texi: Likewise.
15580 2019-01-24  Bruno Haible  <bruno@clisp.org>
15582         mbtowc: Fix compilation error on Android 4.3.
15583         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
15584         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
15585         HAVE_MBTOWC.
15586         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
15587         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
15588         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
15589         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
15590         * doc/posix-functions/mbtowc.texi: Mention the change.
15592 2019-01-24  Bruno Haible  <bruno@clisp.org>
15594         fdatasync: Fix compilation error on Android 4.3.
15595         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
15596         test whether fdatasync() exists.
15598 2019-01-24  Bruno Haible  <bruno@clisp.org>
15600         unlinkat: Fix compilation error on Android 4.3.
15601         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
15602         also on Android.
15603         * doc/posix-functions/unlinkat.texi: Mention the issue.
15605 2019-01-24  Bruno Haible  <bruno@clisp.org>
15607         renameat: Fix compilation error on Android 4.3.
15608         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
15609         * doc/posix-functions/renameat.texi: Mention the issue.
15611 2019-01-24  Bruno Haible  <bruno@clisp.org>
15613         fchownat: Fix compilation error on Android 4.3.
15614         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
15615         use.
15616         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
15617         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
15618         * doc/posix-functions/fchownat.texi: Mention the issue.
15620 2019-01-23  Bruno Haible  <bruno@clisp.org>
15622         gnulib-tool: Support running testdirs on Android.
15623         * build-aux/test-driver.diff: New file.
15624         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
15625         build-aux/test-driver after running automake.
15627 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15629         relocatable-prog: avoid warnings from Automake
15630         * modules/relocatable-prog: Don't declare PHONY dependencies in
15631         Automake conditionals.
15633 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15635         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
15636         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
15638 2019-01-23  Bruno Haible  <bruno@clisp.org>
15640         threadlib: Revert commit from 2018-06-25. We now have a better fix.
15641         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
15642         preceding -Wl,--as-needed option. Don't check whether the linker
15643         supports --as-needed/--no-as-needed and --push-state/--pop-state.
15645 2019-01-23  Bruno Haible  <bruno@clisp.org>
15647         thread: Force linking with -lpthread, even when --as-needed is in use.
15648         Reported by Richard W.M. Jones <rjones@redhat.com> in
15649         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
15650         * lib/glthread/thread.h (pthread_create): Don't declare weak.
15652 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
15653             Bruno Haible  <bruno@clisp.org>
15655         relocatable: avoid compiler warnings (-Wshadow)
15656         * lib/relocatable.c (compute_curr_prefix): Rename local variables
15657         to avoid name collisions with global variables.
15659 2019-01-22  Bruno Haible  <bruno@clisp.org>
15661         vasnprintf: Don't use %n on Android.
15662         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
15663         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
15664         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
15666 2019-01-22  Bruno Haible  <bruno@clisp.org>
15668         *printf: Support cross-compilation to Android.
15669         * m4/printf.m4: Add cross-compilation guesses for Android.
15671 2019-01-21  Bruno Haible  <bruno@clisp.org>
15673         diacrit: Mark deprecated.
15674         * modules/diacrit (Status, Notice): Mark as deprecated.
15675         * NEWS: Mention it.
15677 2019-01-20  Bruno Haible  <bruno@clisp.org>
15679         rintl: Override broken implementation on NetBSD.
15680         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
15681         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
15682         REPLACE_RINTL.
15683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
15684         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
15685         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
15686         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
15688 2019-01-20  Bruno Haible  <bruno@clisp.org>
15690         log10l: Work around inaccurate implementation on NetBSD.
15691         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
15692         * lib/log10l.c: Comment out too simplistic override.
15693         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
15695 2019-01-20  Bruno Haible  <bruno@clisp.org>
15697         logl: Work around inaccurate implementation on NetBSD.
15698         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
15699         * lib/logl.c: Comment out unused code.
15700         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
15702 2019-01-20  Bruno Haible  <bruno@clisp.org>
15704         expm1l: Work around inaccurate implementation on NetBSD.
15705         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
15706         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
15707         REPLACE_EXPM1L.
15708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
15709         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
15710         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
15711         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
15713 2019-01-20  Bruno Haible  <bruno@clisp.org>
15715         expl: Work around inaccurate implementation on NetBSD.
15716         * lib/math.in.h (expl): Test also REPLACE_EXPL.
15717         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
15718         REPLACE_EXPL.
15719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
15720         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
15721         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
15722         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
15724 2019-01-20  Bruno Haible  <bruno@clisp.org>
15726         exp2l: Work around inaccurate implementation on NetBSD.
15727         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
15728         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
15730 2019-01-20  Bruno Haible  <bruno@clisp.org>
15732         floor, floorl: Avoid autoconf warnings.
15733         * modules/floor (configure.ac): Use AC_REQUIRE.
15734         * modules/floorl (configure.ac): Likewise.
15736 2019-01-20  Bruno Haible  <bruno@clisp.org>
15738         Defeat current GCC optimizations in math autoconf tests.
15739         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
15740         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15741         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15742         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15743         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15744         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15745         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15746         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15747         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15748         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15749         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15750         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15751         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15752         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15753         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
15754         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
15755         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
15756         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15757         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15758         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15759         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15760         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15761         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15762         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15763         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15764         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15765         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15766         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15767         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15768         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15769         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15770         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15771         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15772         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15773         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15774         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15775         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15776         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15778 2019-01-19  Pádraig Brady  <P@draigBrady.com>
15780         gettext: support disabling use of VLAs
15781         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
15783 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15785         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
15786         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
15788 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15790         fcntl: Fix syntax error (regression from 2018-10-05).
15791         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
15793 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15795         relocatable: improve documentation.
15796         * doc/relocatable-maint.texi (Supporting Relocation): For
15797         substitutions performed by config.status, we need more variables
15798         (for instance datarootdir defaults to '${prefix}/share' so we need
15799         prefix).
15801 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15803         backup: update dependencies
15804         * modules/backup-rename (Depends-on): It now depends on opendirat
15805         instead of opendir.  It also uses stdint, and xalloc-oversized.
15806         But no longer dirfd.
15807         * modules/backupfile (Depends-on): Add xalloc-oversized.
15809 2019-01-13  Bruno Haible  <bruno@clisp.org>
15811         getcwd: Fix test failure when building on a Linux 9p file system.
15812         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
15813         EINVAL from mkdir like ENAMETOOLONG.
15814         * tests/test-getcwd.c (test_long_name): Likewise.
15816 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
15818         Fix typos found by codespell.
15819         * lib/*.[hc]: Fix typos in comments.
15820         * pygnulib/*.py: Fix typos in error messages and comments.
15822 2019-01-12  Bruno Haible  <bruno@clisp.org>
15824         doc: Fix documentation about container data types.
15825         Reported by Werner Lemberg <wl@gnu.org>.
15826         * doc/containers.texi (Container data types): Fix typo.
15828 2019-01-10  Bruno Haible  <bruno@clisp.org>
15830         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
15831         Reported by Reuben Thomas <rrt@sc3d.org>.
15832         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
15834 2019-01-06  Bruno Haible  <bruno@clisp.org>
15836         maintainer-makefile: Make the configure.ac section optional.
15837         * top/maint.mk (GREP, SED): Define if not defined.
15839 2019-01-06  Bruno Haible  <bruno@clisp.org>
15841         localename: Assume setlocale function.
15842         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
15843         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
15845 2019-01-06  Bruno Haible  <bruno@clisp.org>
15847         doc: Add documentation about container data types.
15848         * doc/containers.texi: New file.
15849         * doc/gnulib.texi (Particular Modules): Include it.
15851 2019-01-06  Bruno Haible  <bruno@clisp.org>
15853         doc: Update documentation about 'progname' module.
15854         * doc/progname.texi: Rename from doc/error.texi. Change node name and
15855         title. Rewrite.
15856         * doc/gnulib.texi (Particular Modules): Update.
15858 2019-01-06  Bruno Haible  <bruno@clisp.org>
15860         doc: Document the xstdopen and *-safer modules.
15861         * doc/xstdopen.texi: New file.
15862         * doc/gnulib.texi (Particular Modules): Include it.
15864 2019-01-06  Bruno Haible  <bruno@clisp.org>
15866         xstdopen: Add tests.
15867         * tests/test-xstdopen.c: New file.
15868         * tests/test-xstdopen.sh: New file.
15869         * modules/xstdopen-tests: New file.
15871         xstdopen: New module.
15872         * lib/xstdopen.h: New file.
15873         * lib/xstdopen.c: New file.
15874         * modules/xstdopen: New file.
15876 2019-01-06  Bruno Haible  <bruno@clisp.org>
15878         stdopen: Fix compilation error with IRIX cc.
15879         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
15881 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
15883         xfreopen need not include stdio--.h
15884         * lib/xfreopen.c: Do not include stdio--.h.
15886         xfreopen need not depend on freopen-safer
15887         * modules/xfreopen (Depends-on):
15888         Depend on freopen, not freopen-safer.
15890         stdopen: modernize and simplify
15891         * lib/stdopen.c: Update copyright date
15892         Do not include sys/types.h; no longer needed these days.
15893         (stdopen): Use C99-style decl in loop.  Return int errno
15894         value, rather than just a bool.  Do not worry about fd mismatches,
15895         since the caller cares only if 0, 1, 2 are occupied.
15896         * lib/stdopen.h: No need to include <stdbool.h>.
15897         * m4/stdopen.m4: Remove.
15898         * modules/stdopen: New file.
15900         stdopen: copy from last use in coreutils
15901         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
15902         New files, taken from their last commit in coreutils
15903         2007-07-23T12:35:58Z!jim@meyering.net
15904         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
15906 2019-01-05  Bruno Haible  <bruno@clisp.org>
15908         argp: Don't pass an invalid argument to dgettext().
15909         Reported by He X <xw897002528@gmail.com>.
15910         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
15911         dgettext().
15913 2019-01-05  Bruno Haible  <bruno@clisp.org>
15915         argp: Don't pass an invalid argument to dgettext().
15916         Reported by He X <xw897002528@gmail.com>.
15917         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
15918         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
15919         dgettext().
15921 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15923         stdioext: port to newer 32-bit Android
15924         Problem reported by Tom Yan in:
15925         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
15926         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
15927         (fp_) [__ANDROID__]: Use it.
15929 2019-01-04  Bruno Haible  <bruno@clisp.org>
15931         lock: Fix link error with --enable-threads=pth.
15932         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
15933         Mark as weak.
15935 2019-01-04  Bruno Haible  <bruno@clisp.org>
15937         Fix link errors in unit tests.
15938         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15939         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
15940         * modules/array-map-tests (Makefile.am): Link test-array_map against
15941         libintl.
15942         * modules/array-set-tests (Makefile.am): Link test-array_set against
15943         libintl.
15944         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
15945         libintl.
15946         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
15947         libintl.
15948         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
15949         against libintl.
15950         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
15951         against libintl.
15953 2019-01-04  Bruno Haible  <bruno@clisp.org>
15955         Fix incorrect 'Link' sections.
15956         * modules/regex (Link): Mention the link requirement of module 'lock'.
15957         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
15959 2019-01-04  Bruno Haible  <bruno@clisp.org>
15961         Fix some 'Link' sections.
15962         * modules/c-stack (Link): Add link directive from the 'gettext-h'
15963         dependency.
15964         * modules/getaddrinfo (Link): Likewise.
15966 2019-01-04  Bruno Haible  <bruno@clisp.org>
15968         Remove redundant 'Link' sections.
15969         * modules/canon-host (Link): Remove section.
15970         * modules/timevar (Link): Likewise.
15972 2019-01-04  Bruno Haible  <bruno@clisp.org>
15974         Remove incorrect 'Link' sections.
15975         * modules/acl (Link): Remove section. Use combined 'Link' sections from
15976         the dependencies instead.
15977         * modules/crypto/md5 (Link): Likewise.
15978         * modules/crypto/sha1 (Link): Likewise.
15979         * modules/crypto/sha256 (Link): Likewise.
15980         * modules/crypto/sha512 (Link): Likewise.
15981         * modules/faccessat (Link): Likewise.
15982         * modules/fdutimensat (Link): Likewise.
15983         * modules/iconv_open-utf (Link): Likewise.
15984         * modules/propername (Link): Likewise.
15985         * modules/qacl (Link): Likewise.
15986         * modules/unicodeio (Link): Likewise.
15987         * modules/utimecmp (Link): Likewise.
15988         * modules/utimensat (Link): Likewise.
15989         * modules/xstriconv (Link): Likewise.
15990         * modules/xstriconveh (Link): Likewise.
15992 2019-01-04  Bruno Haible  <bruno@clisp.org>
15994         gnulib-tool: New option --extract-recursive-link-directive.
15995         * gnulib-tool (func_usage): Document the new options
15996         --extract-recursive-dependencies, --extract-recursive-link-directive.
15997         (func_verify_module): Document output variables.
15998         (func_get_dependencies_recursively): New function.
15999         (func_get_link_directive_recursively): New function.
16000         Use them to implement the new options
16001         --extract-recursive-dependencies, --extract-recursive-link-directive.
16002         * doc/gnulib-tool.texi (Link-time requirements): New section.
16004 2019-01-04  Bruno Haible  <bruno@clisp.org>
16006         Clarify meaning of 'Link' section in module description.
16007         * doc/gnulib.texi (Module description): Clarify the meaning of the
16008         'Link' section versus the one of the dependencies.
16009         * NEWS: Mention the change.
16011 2019-01-04  Bruno Haible  <bruno@clisp.org>
16013         pselect: Fix module description.
16014         * modules/pselect (Link): Put one link option per line.
16016 2019-01-04  Bruno Haible  <bruno@clisp.org>
16018         cosl: Fix module description.
16019         * modules/cosl (Link): Fix typo.
16020         * modules/mathl (configure.ac): Likewise.
16022 2019-01-04  Bruno Haible  <bruno@clisp.org>
16024         c-xvasprintf: Fix module dependencies.
16025         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
16027 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
16029         bootstrap: die when some submodules are not initialized
16030         * build-aux/bootstrap: Make sure all submodules are initialized.
16032 2019-01-04  Bruno Haible  <bruno@clisp.org>
16034         bitsetv: Fix module dependencies.
16035         * lib/bitsetv.c: Include xalloc.h.
16036         * modules/bitsetv (Depends-on): Add 'xalloc'.
16038 2019-01-04  Bruno Haible  <bruno@clisp.org>
16040         xmemdup0: Remove redundant code.
16041         * lib/xmemdup0.h (xalloc_die): Remove declaration.
16043 2019-01-04  Bruno Haible  <bruno@clisp.org>
16045         backupfile: Fix module dependencies.
16046         * modules/backupfile (Depends-on): Add 'xalloc'.
16048 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16050         bitset, crypto/gc: fix conflicts with Solaris 11
16051         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
16052         avoid clash with Solaris 11 <sys/bitset.h>.
16053         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
16054         with Solaris 11 <xorg/gc.h>.
16056 2019-01-04  Bruno Haible  <bruno@clisp.org>
16058         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
16059         Reported by Andy Fiddaman <andy@omniosce.org>.
16060         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
16062 2019-01-03  Eric Blake  <eblake@redhat.com>
16064         maintainer-makefile: fix typo in previous patch
16065         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
16066         of Roman's work.
16068 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
16070         maintainer-makefile: prefer $(GREP) over grep
16071         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
16072         defined.
16073         * top/maint.mk: Use it everywhere.
16075         maintainer-makefile: split long argument lines
16076         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
16077         it would be too long for exec limits on BSD.
16079 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16081         mkfifo: bring back HAVE_MKFIFO macro
16082         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
16083         Problem reported by Andrew Janke in:
16084         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
16086 2018-12-21  Bruno Haible  <bruno@clisp.org>
16088         Assume Autoconf >= 2.63.
16089         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
16090         versions < 2.60.
16092 2018-12-21  Bruno Haible  <bruno@clisp.org>
16094         memcmp: Mention the clang bug.
16095         * tests/test-memcmp.c: Add comment about a known test failure.
16096         * doc/posix-functions/memcmp.texi: Mention the clang bug.
16098 2018-12-20  Jim Meyering  <meyering@fb.com>
16100         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
16101         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
16102           echo '123-x'|LC_ALL=C grep -E '.\bx'
16103         The goal is to revert the first, but reverting it requires to restore
16104         the function deleted in the second. I ran this to restore the deleted
16105         function:
16106           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
16107             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
16108             | patch -R -p1
16109         * lib/dfa.c (charclass_context): Restore deleted function.
16110         Reverting the primary commit removes this change:
16111         dfa: Simplify a building state
16112         * lib/dfa.c (build_state): Simplify a building state.
16114 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16116         version-etc: allow zero authors
16117         * lib/version-etc.c (version_etc_arn): If no authors are given,
16118         omit authorship info instead of dumping core.
16120 2018-12-19  Bruno Haible  <bruno@clisp.org>
16122         lchown tests: Be more permissive regarding errno values.
16123         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
16124         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
16125         alternative to ENOSYS.
16126         * modules/lchown-tests (Depends-on): Add 'errno'.
16127         * modules/fchownat-tests (Depends-on): Likewise.
16129 2018-12-18  Bruno Haible  <bruno@clisp.org>
16131         duplocale: Avoid test failure on AIX 7.
16132         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
16133         (configure.ac): Invoke gt_FUNC_USELOCALE.
16134         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
16135         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
16136         works.
16138 2018-12-18  Bruno Haible  <bruno@clisp.org>
16140         localename: Fix test failure on AIX 7.
16141         Reported by Assaf Gordon in
16142         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
16143         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
16144         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
16145         instead of ac_cv_func_uselocale.
16146         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
16147         HAVE_USELOCALE.
16148         * lib/localename-table.h: Likewise.
16149         * lib/localename-table.c: Likewise.
16150         * tests/test-localename.c: Likewise.
16151         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
16153 2018-12-18  Bruno Haible  <bruno@clisp.org>
16155         localename: Update comments regarding Cygwin.
16156         * lib/localename.c: Update comment.
16157         * doc/posix-functions/uselocale.texi: Update platforms list.
16158         * doc/posix-functions/newlocale.texi: Likewise.
16159         * doc/posix-functions/duplocale.texi: Likewise.
16160         * doc/posix-functions/freelocale.texi: Likewise.
16162 2018-12-16  Bruno Haible  <bruno@clisp.org>
16164         c-stack: Fix for Linux/sparc.
16165         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
16166         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
16168 2018-12-16  Bruno Haible  <bruno@clisp.org>
16170         localename: Avoid test failure on some glibc systems.
16171         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
16172         Unset environment variables that might disturb the first setlocale call,
16173         and verify that this setlocale call succeeds.
16175 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
16177         random: Fix build error on native Windows (regression from 2018-06-21).
16178         * lib/random.c (__srandom, __initstate, __setstate, __random,
16179         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
16180         to the symbols without '__' prefix.
16182 2018-12-16  Bruno Haible  <bruno@clisp.org>
16184         obstack, libc-config: Support HP-UX cc in C99 mode.
16185         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
16186         compiler, even when in C99 mode.
16187         * lib/cdefs.h (__flexarr): Likewise.
16188         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
16190 2018-12-16  Bruno Haible  <bruno@clisp.org>
16192         localename: Fix test failure on OpenBSD >= 6.2.
16193         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
16194         locale system. Define HAVE_FAKE_LOCALES in this case.
16195         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
16196         HAVE_USELOCALE.
16197         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
16198         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
16199         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
16200         platforms list.
16201         * doc/posix-functions/newlocale.texi: Likewise.
16202         * doc/posix-functions/duplocale.texi: Update platforms list.
16203         * doc/posix-functions/freelocale.texi: Likewise.
16205 2018-12-16  Bruno Haible  <bruno@clisp.org>
16207         duplocale tests: Re-enable the test on platforms without <monetary.h>.
16208         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
16209         of the test, on platforms without <monetary.h>.
16211 2018-12-16  Bruno Haible  <bruno@clisp.org>
16213         localename: Update comments.
16214         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
16216 2018-12-15  Jim Meyering  <meyering@fb.com>
16218         regex: fix indentation
16219         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
16221 2018-12-15  Bruno Haible  <bruno@clisp.org>
16223         openat-safer tests: Avoid test failure on NetBSD 8.
16224         * tests/test-openat-safer.c (main): Execute a Linux specific test only
16225         on Linux.
16227 2018-12-15  Jim Meyering  <meyering@fb.com>
16229         regex: work around a bug in glibc-2.27 and prior
16230         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
16231         assertion for /0|()0|\1|0/.
16232         * tests/test-regex.c (main): Add the same test here.
16234 2018-12-15  Bruno Haible  <bruno@clisp.org>
16236         localename: Fix use of uninitialized shell variable.
16237         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
16238         gt_cv_locale_solaris114 always before use. Remove assignment without
16239         effect.
16241 2018-12-15  Bruno Haible  <bruno@clisp.org>
16243         dfa tests: Avoid test failure on Alpine Linux.
16244         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
16245         command found on Alpine Linux.
16247 2018-12-15  Jim Meyering  <meyering@fb.com>
16249         dfa: avoid new warnings from gcc
16250         These would prevent building with -Werror and a Dec snapshot of gcc.
16251         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
16252         Rename each inner instance to "p".
16253         (charclass_context): Remove unused static function.
16255 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
16257         mkdir-p: improve diagnostic for FUSE mounts
16258         Problem reported by Niklas Hambüchen in:
16259         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
16260         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
16261         errno to mkdir errno if the stat errno is likely more interesting.
16263 2018-12-14  Bruno Haible  <bruno@clisp.org>
16265         hash-map: Add tests.
16266         * tests/test-hash_map.c: New file.
16267         * modules/hash-map-tests: New file.
16269         linkedhash-map: Add tests.
16270         * tests/test-linkedhash_map.c: New file.
16271         * modules/linkedhash-map-tests: New file.
16273         array-map: Add tests.
16274         * tests/test-array_map.c: New file.
16275         * modules/array-map-tests: New file.
16277         xmap: New module.
16278         * lib/gl_xmap.h: New file.
16279         * lib/gl_xmap.c: New file.
16280         * modules/xmap: New file.
16282         hash-map: New module.
16283         * lib/gl_hash_map.h: New file.
16284         * lib/gl_hash_map.c: New file.
16285         * modules/hash-map: New file.
16287         linkedhash-map: New module.
16288         * lib/gl_linkedhash_map.h: New file.
16289         * lib/gl_linkedhash_map.c: New file.
16290         * lib/gl_anyhash1.h: Update comments.
16291         * lib/gl_anyhash2.h: Likewise.
16292         * modules/linkedhash-map: New file.
16294         array-map: New module.
16295         * lib/gl_array_map.h: New file.
16296         * lib/gl_array_map.c: New file.
16297         * modules/array-map: New file.
16299         map: New module.
16300         * lib/gl_map.h: New file.
16301         * lib/gl_map.c: New file.
16302         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
16303         conflict with gl_map.h.
16304         * modules/map: New file.
16306 2018-12-13  Bruno Haible  <bruno@clisp.org>
16308         select tests: Avoid test failure on Cygwin.
16309         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
16311 2018-12-13  Bruno Haible  <bruno@clisp.org>
16313         localtime-buffer: Avoid endless recursion in localtime and gmtime.
16314         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
16316 2018-12-13  Bruno Haible  <bruno@clisp.org>
16318         localeconv tests: Avoid test failure on Cygwin.
16319         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
16320         'mon_grouping' tests.
16322 2018-12-11  Bruno Haible  <bruno@clisp.org>
16324         omap: Don't dispose the old value when the function returns it.
16325         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
16326         here.
16327         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16328         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16329         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
16330         here.
16332         array-omap, avltree-omap, rbtree-omap: Tweak style.
16333         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
16334         false.
16335         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
16337         rbtree-omap: Add tests.
16338         * tests/test-rbtree_omap.c: New file.
16339         * modules/rbtree-omap-tests: New file.
16341         avltree-omap: Add tests.
16342         * tests/test-avltree_omap.c: New file.
16343         * modules/avltree-omap-tests: New file.
16345         array-omap: Add tests.
16346         * tests/test-array_omap.c: New file.
16347         * modules/array-omap-tests: New file.
16349         xomap: New module.
16350         * lib/gl_xomap.h: New file.
16351         * lib/gl_xomap.c: New file.
16352         * modules/xomap: New file.
16354         rbtree-omap: New module.
16355         * lib/gl_rbtree_omap.h: New file.
16356         * lib/gl_rbtree_omap.c: New file.
16357         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
16358         Parameterize.
16359         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
16360         * modules/rbtree-omap: New file.
16361         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
16362         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
16364         avltree-omap: New module.
16365         * lib/gl_avltree_omap.h: New file.
16366         * lib/gl_avltree_omap.c: New file.
16367         * lib/gl_avltree_ordered.h: Code moved to here from
16368         lib/gl_avltree_oset.c. Parameterize.
16369         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
16370         * lib/gl_anytree_omap.h: New file.
16371         * modules/avltree-omap: New file.
16372         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
16373         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
16375         array-omap: New module.
16376         * lib/gl_array_omap.h: New file.
16377         * lib/gl_array_omap.c: New file.
16378         * modules/array-omap: New file.
16380         omap: New module.
16381         * lib/gl_omap.h: New file.
16382         * lib/gl_omap.c: New file.
16383         * modules/omap: New file.
16385 2018-12-11  Bruno Haible  <bruno@clisp.org>
16387         hash-set, linkedhash-set: Reduce code duplication.
16388         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
16389         lib/gl_anyhash_set1.h.
16390         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
16391         lib/gl_anyhash_set2.h. Parameterize.
16392         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
16393         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
16394         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
16395         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
16396         * lib/gl_rbtreehash_list.c: Likewise.
16397         * lib/gl_linkedhash_list.c: Likewise.
16398         (hash_resize_after_add): Remove function.
16399         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
16400         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
16401         * gl_hash_set.c: Likewise.
16402         * modules/avltreehash-list (Files, Makefile.am): Update file list.
16403         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
16404         * modules/linkedhash-list (Files, Makefile.am): Likewise.
16405         * modules/linkedhash-set (Files, Makefile.am): Likewise.
16406         * modules/hash-set (Files, Makefile.am): Likewise.
16408 2018-12-11  Bruno Haible  <bruno@clisp.org>
16410         array-set: Optimize.
16411         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
16412         outside the loop, not inside the loop.
16414 2018-12-11  Bruno Haible  <bruno@clisp.org>
16416         times: Fix tests.
16417         * tests/test-times.c (doublecmp): Implement a total order.
16419 2018-12-11  Bruno Haible  <bruno@clisp.org>
16421         array-set, linkedhash-set, hash-set: Fix tests.
16422         * tests/test-array_set.c (cmp_objects_in_array): New function.
16423         (check_equals): Use it.
16424         * tests/test-hash_set.c: Likewise.
16425         * tests/test-linkedhash_set.c: Likewise.
16427 2018-12-08  Bruno Haible  <bruno@clisp.org>
16429         Fix comments.
16430         * lib/gl_list.h (gl_list_free): Clarify what it does.
16431         * lib/gl_oset.h (gl_oset_free): Likewise.
16432         * lib/gl_set.h (gl_set_free): Likewise.
16433         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
16434         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
16435         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
16436         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
16438 2018-12-03  Bruno Haible  <bruno@clisp.org>
16440         hash-set: Add tests.
16441         * tests/test-hash_set.c: New file.
16442         * modules/hash-set-tests: New file.
16444         linkedhash-set: Add tests.
16445         * tests/test-linkedhash_set.c: New file.
16446         * modules/linkedhash-set-tests: New file.
16448         array-set: Add tests.
16449         * tests/test-array_set.c: New file.
16450         * modules/array-set-tests: New file.
16452         xset: New module.
16453         * lib/gl_xset.h: New file.
16454         * lib/gl_xset.c: New file.
16455         * modules/xset: New file.
16457         hash-set: New module.
16458         * lib/gl_hash_set.h: New file.
16459         * lib/gl_hash_set.c: New file.
16460         * modules/hash-set: New file.
16462         linkedhash-set: New module.
16463         * lib/gl_linkedhash_set.h: New file.
16464         * lib/gl_linkedhash_set.c: New file.
16465         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
16466         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
16467         * lib/gl_anyhash_primes.h: New file, extracted from
16468         lib/gl_anyhash_list2.h.
16469         * lib/gl_anyhash_list2.h: Include it.
16470         (primes, next_prime): Remove definitions.
16471         * modules/linkedhash-set: New file.
16472         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
16473         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16474         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
16475         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16476         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
16477         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16479         array-set: New module.
16480         * lib/gl_array_set.h: New file.
16481         * lib/gl_array_set.c: New file.
16482         * modules/array-set: New file.
16484         set: New module.
16485         * lib/gl_set.h: New file.
16486         * lib/gl_set.c: New file.
16487         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
16488         gl_set.h.
16489         * modules/set: New file.
16491 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
16493         bison: don't force the Yacc mode
16494         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
16495         errors when Bison features are used in the grammar file.  Some of
16496         these features (such as %expect) were flagged non-yacc recently.  Most
16497         of the time, -y is actually used to please Automake's ylwrap which
16498         expects the output to be y.tab.c.
16499         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
16501 2018-12-01  Bruno Haible  <bruno@clisp.org>
16503         gnupload: Document short options.
16504         * build-aux/gnupload (usage): Document the short options.
16506 2018-11-28  Ben Elliston  <bje@gnu.org>
16508         gnupload: Support option -h as alias of --help.
16509         * build-aux/gnupload: Support -h.
16511 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16513         memrchr: port better to clang
16514         * lib/memrchr.c (__memrchr): Cast to void * instead of to
16515         longword *, to pacify clang -Wcast-align (Bug#33544).
16517 2018-11-29  Eric Blake  <eblake@redhat.com>
16519         docs: mention printf %m considerations
16520         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
16521         is not portable, and is easy enough to work around.
16522         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
16523         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
16524         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
16525         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16526         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16527         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16528         * doc/posix-functions/printf.texi (printf): Likewise.
16529         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
16530         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
16531         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
16532         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16533         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16534         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16535         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16536         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16537         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
16538         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
16539         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16540         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16542 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
16544         bitset: rename ebitset/expandable.* as tbitset/table.*
16545         See
16546         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
16547         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
16548         * lib/bitset/table.h, lib/bitset/table.c: these.
16549         Rename all the ebitset* symbols as tbitset*.
16550         Adjust dependencies.
16552 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16554         bitset: check the operations
16555         * tests/test-bitset.c (bitset_random): New.
16556         Use it.
16557         * lib/bitset/expandable.c (ebitset_not): Fix typo.
16559 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16561         bitset: properly use false/true instead of 0/1 for Booleans
16562         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
16563         0/1, as Booleans.
16565 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16567         bitset: rename BITSET_VARRAY as BITSET_VECTOR
16568         For consistency with the name of the file.
16569         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
16570         * lib/bitset/stats.c, lib/bitset/vector.c
16571         (BITSET_VARRAY): Rename as...
16572         (BITSET_VECTOR): this.
16574 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16576         strerror_r-posix: memmove, not memcpy
16577         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
16578         since the source and destination might overlap in the call
16579         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
16580         Simplify.
16582 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16584         bitsetv: new module
16585         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
16587 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16589         bitset: add tests and doc
16590         First stabs at providing a documentation and test for the bitset
16591         module.
16592         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
16594 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16596         bitset: new module
16597         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
16598         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
16599         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
16600         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
16601         * lib/bitset/vector.h, modules/bitset:
16602         New.
16604 2018-11-23  Bruno Haible  <bruno@clisp.org>
16606         localename: Fix gettext test failures on mingw.
16607         * lib/localename.c (gl_locale_name_posix): Convert the result of
16608         gl_locale_name_environ to XPG syntax.
16610 2018-11-23  Karl Berry  <karl@freefriends.org>
16612         * config/srclistvars.txt,
16613         * config/srclist.txt: remove all gettext references;
16614         the gettext maintainers will sync as needed.
16616 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16618         mktime: add libc-config dependency
16619         I missed this when we synced from glibc.
16620         * modules/mktime (Depends-on): Add libc-config.
16622 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16624         longlong: fix comment typo
16625         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
16627 2018-11-11  Bruno Haible  <bruno@clisp.org>
16629         havelib: Remove the need to include asm-underscore.m4.
16630         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
16631         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
16632         gl_HOST_CPU_C_ABI.
16633         * modules/havelib (Files): Add host-cpu-c-abi.m4.
16634         (Depends-on): Remove host-cpu-c-abi.
16636 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16638         parse-datetime: simplify test for mktime failure
16639         * lib/parse-datetime.y (mktime_ok): Simplify.
16640         Remove args TZ and T; no longer needed.  Callers changed.
16642         posixtm: simplify test for mktime failure
16643         * lib/posixtm.c (posixtime): Simplify.
16645         nstrftime: simplify test for mktime failure
16646         * lib/nstrftime.c (__strftime_internal): Simplify.
16648 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16650         gnulib-common.m4: port _Noreturn to C++
16651         Problem reported by Akim Demaille in:
16652         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
16653         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
16654         Merge adjustments from _Noreturn.h and from glibc into the non-C++
16655         version.
16656         * lib/_Noreturn.h: Match gnulib-common.
16658 2018-10-30  Bruno Haible  <bruno@clisp.org>
16660         gnu-make: Fix for NetBSD 8 'make'.
16661         Reported by Reuben Thomas in
16662         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
16663         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
16664         output, ignoring exit codes.
16666 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
16668         maintainer-makefile: fix syntax-check rule for "same.h"
16669         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
16670         for 'same_nameat', too.
16672 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
16674         havelib: fix nested ‘configure’ chatter
16675         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
16676         AC_CACHE_CHECK calls, which resulted in confusing output like
16677         “checking for the common suffixes of directories in the library
16678         search path... checking for 64-bit host... no lib,lib”.
16680         backupfile: tweak for better code
16681         * lib/backupfile.c: Sort include directives, and remove
16682         unnecessary <limits.h> include.
16683         (FALLTHROUGH): New macro, copied from other modules.
16684         (backupfile_internal): Use it to avoid code duplication.
16685         This lets GCC 8.2.1 generate better code by inlining the
16686         call to check_extension.
16688 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16690         backupfile: new dir_fd args
16691         New module opendirat with code taken from fts.
16692         Use this module to let backupfile use a directory file descriptor.
16693         * NEWS: Document the incompatible change.
16694         * lib/backup-find.c (find_backup_file_name):
16695         * lib/backup-rename.c (backup_file_rename):
16696         New arg DIR_FD.
16697         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
16698         (SIZE_MAX): Remove.
16699         Include opendirat.h rather than dirent--.h.
16700         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
16701         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
16702         (backupfile_internal): New arg DIR_FD.  All callers changed.
16703         * lib/fts.c: Include opendirat.h.
16704         (opendirat): Move to opendirat.c.
16705         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
16706         * modules/backupfile (Depends-on): Remove dirfd, opendir.
16707         Add opendirat.
16708         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
16709         Add opendirat.
16711 2018-10-23  Bruno Haible  <bruno@clisp.org>
16713         localename: Simplify support for per-thread locales on Solaris 11.4.
16714         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
16715         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
16716         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
16717         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
16718         specific code.
16719         * lib/localename-table.h: Update comments.
16720         * lib/localename-table.c: Update comments.
16721         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
16722         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
16723         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
16724         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
16725         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
16726         HAVE_NAMELESS_LOCALES here.
16727         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
16728         m4/intlsolaris.m4.
16729         * modules/gettext (Files): Likewise.
16731 2018-10-22  Bruno Haible  <bruno@clisp.org>
16733         std-gnu11: Support Autoconf versions < 2.64.
16734         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
16735         when _AC_DO_LIMIT does not exist.
16737 2018-10-22  Bruno Haible  <bruno@clisp.org>
16739         Assume Autoconf >= 2.63.
16740         * DEPENDENCIES: Mention the requirement.
16742         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
16743         (func_get_filelist): Don't list m4/onceonly.m4 any more.
16744         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
16745         * m4/onceonly.m4: Remove file.
16747         * m4/openmp.m4: Remove file.
16748         * modules/openmp (Files): Remove m4/openmp.m4.
16750         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
16751         htmldir, dvidir, pdfdir, psdir, localedir.
16752         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
16754         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
16755         Autoconf < 2.60.
16756         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
16757         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
16759         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
16760         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
16761         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
16763         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
16764         exists.
16765         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
16767         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
16768         Autoconf < 2.61.
16770         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
16771         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
16772         Autoconf >= 2.52.
16774         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
16775         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
16776         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
16778 2018-10-22  Bruno Haible  <bruno@clisp.org>
16780         Assume Automake >= 1.11.
16781         * m4/configmake.m4: Update comments.
16782         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
16783         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
16784         of 'eval'.
16785         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
16786         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
16787         requires Automake >= 1.11.
16789 2018-10-22  Bruno Haible  <bruno@clisp.org>
16791         localename: Fix typo in comment.
16792         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
16794 2018-10-22  Bruno Haible  <bruno@clisp.org>
16796         Fix failure of 'gnulib-tool --create-testdir' with all modules.
16797         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
16799 2018-10-21  Bruno Haible  <bruno@clisp.org>
16801         locale: Ease integration with GNU libintl.
16802         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
16803         GNULIB_defined_freelocale): New macros.
16805 2018-10-21  Bruno Haible  <bruno@clisp.org>
16807         localename: Fine-tune support for per-thread locales on Solaris 11.4.
16808         * lib/localename-table.h: New file, extracted from lib/localename.c.
16809         * lib/localename-table.c: Likewise.
16810         * lib/localename.c: Include localename-table.h.
16811         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
16812         locale_hash_function instead of pointer_hash.
16813         * modules/localename (Files): Add lib/localename-table.h,
16814         lib/localename-table.c.
16815         (lib_SOURCES): Add localename-table.c.
16816         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
16817         for Solaris 11.4 locale system only on Solaris. Test for it
16818         independently whether getlocalename_l exists.
16819         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
16820         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
16821         HAVE_NAMELESS_LOCALES.
16822         * modules/gettext (Files): Add m4/intlsolaris.m4.
16824 2018-10-21  Bruno Haible  <bruno@clisp.org>
16826         Small update from gettext.
16827         * m4/intl.m4: Update from gettext:
16828         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
16829         mode on AIX.
16830         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
16831         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
16833 2018-10-16  Bruno Haible  <bruno@clisp.org>
16835         mountlist: Remove support for Cray with UNICOS 9.
16836         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16837         MOUNTED_LISTMNTENT.
16838         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
16840 2018-10-16  Bruno Haible  <bruno@clisp.org>
16842         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
16843         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
16844         STAT_STATFS2_FS_DATA.
16845         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
16846         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16847         MOUNTED_GETMNT.
16848         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
16849         * lib/getloadavg.c (decstation): Remove definition and case.
16850         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
16851         * lib/getgroups.c: Likewise.
16852         * doc/posix-functions/getgroups.texi: Likewise.
16853         * lib/time.in.h: Update comments.
16855 2018-10-16  Bruno Haible  <bruno@clisp.org>
16857         getloadavg: Remove support for ConvexOS.
16858         * lib/getloadavg.c: Remove convex case.
16860 2018-10-16  Bruno Haible  <bruno@clisp.org>
16862         getloadavg: Remove support for Sony NEWS.
16863         * lib/getloadavg.c: Remove sony_news case.
16865 2018-10-16  Bruno Haible  <bruno@clisp.org>
16867         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
16868         * lib/fsusage.c: Remove _SEQUENT_ case.
16869         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16870         * lib/mountlist.c: Don't test for MNTTABNAME.
16871         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
16872         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
16873         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
16874         * lib/stat-size.h: Don't mention the Sequent bug.
16875         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
16877 2018-10-16  Bruno Haible  <bruno@clisp.org>
16879         fsusage: Remove support for AIX 3.
16880         * lib/fsusage.c: Remove code for AIX 3.
16881         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
16883 2018-10-16  Bruno Haible  <bruno@clisp.org>
16885         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
16886         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
16887         * lib/fsusage.c: Remove code for AIX PS/2.
16888         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
16889         * lib/getloadavg.c: Likewise.
16891 2018-10-16  Bruno Haible  <bruno@clisp.org>
16893         getloadavg: Remove support for HP-UX on m68k.
16894         * lib/getloadavg.c: Remove hp9000s300 case.
16896 2018-10-16  Bruno Haible  <bruno@clisp.org>
16898         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
16899         * lib/fsusage.c: Remove DOLPHIN case.
16900         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16901         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
16903 2018-10-16  Bruno Haible  <bruno@clisp.org>
16905         getloadavg: Remove support for Alliant FX/2800.
16906         * lib/getloadavg.c: Remove alliant case.
16908 2018-10-16  Bruno Haible  <bruno@clisp.org>
16910         getloadavg: Remove support for tek4300.
16911         * lib/getloadavg.c: Remove tek4300 case.
16913 2018-10-16  Bruno Haible  <bruno@clisp.org>
16915         getloadavg: Remove support for Ardent.
16916         * lib/getloadavg.c: Remove ardent case.
16918 2018-10-16  Bruno Haible  <bruno@clisp.org>
16920         mountlist: Remove support for SVR2.
16921         Reported by Andrew Borodin <aborodin@vmail.ru> in
16922         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
16923         * lib/mountlist.c: Remove MOUNTED_FREAD case.
16924         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16925         MOUNTED_FREAD.
16927 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16929         libc-config: merge from glibc
16930         * lib/cdefs.h (__glibc_has_attribute): New macro.
16932         regex: depend on libc-config
16933         * modules/regex (Depends-on): Add libc-config.
16934         This is needed after the recent autoupdate from glibc.
16936 2018-10-14  Bruno Haible  <bruno@clisp.org>
16938         localename: Add support for per-thread locales on Solaris 11.4.
16939         * lib/locale.in.h (newlocale, freelocale): New declarations.
16940         (duplocale): Declare also when the 'localename' module requests it.
16941         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
16942         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
16943         (struniq): Update.
16944         (struct locale_categories_names, struct locale_hash_node): New types.
16945         (LOCALE_HASH_TABLE_SIZE): New constant.
16946         (locale_hash_table, locale_lock): New variables.
16947         (pointer_hash, get_locale_t_name): New functions.
16948         (newlocale, duplocale, freelocale): New overridden functions.
16949         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
16950         * m4/intlsolaris.m4: New file.
16951         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
16952         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
16953         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
16954         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
16955         declared.
16956         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
16957         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16958         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
16959         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16960         * modules/localename (Files): Add intlsolaris.m4.
16961         (Depends-on): Add 'locale'.
16962         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
16963         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
16964         the signatures.
16966 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
16968         timevar: use gethrxtime to get wall clock time
16969         clock_gettime is not portable.  gethrxtime takes the best available
16970         option to get the wall clock time, including clock_gettime (monotonic
16971         clock), and gettime (non monotonic).
16972         Also, using xtime_t instead of float preserves the precision.
16973         Suggested by Bruno Haible.
16974         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
16975         * modules/timevar (Depends-on): We need gethrxtime.
16976         We no longer use times().
16977         (Link): Update.
16978         * lib/timevar.h (timevar_time_def): Use xtime_t.
16979         * lib/timevar.c (set_to_current_time): Use gethrxtime.
16980         (timevar_print): Instead of checking whether the timings themselves
16981         are large enough for the timevar to be printed, check the percentages.
16983 2018-10-14  Bruno Haible  <bruno@clisp.org>
16985         wcsnrtombs: Work around Solaris 11.4 bug.
16986         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
16987         macro.
16988         (gl_FUNC_WCSNRTOMBS): Invoke it.
16989         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
16991 2018-10-14  Bruno Haible  <bruno@clisp.org>
16993         mbsnrtowcs: Work around Solaris 11.4 bug.
16994         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
16995         macro.
16996         (gl_FUNC_MBSNRTOWCS): Invoke it.
16997         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
16999 2018-10-14  Bruno Haible  <bruno@clisp.org>
17001         doc: Update for Solaris 11.4.
17002         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
17003         mention Solaris 11.4.
17004         * m4/printf.m4: Update comments about Solaris.
17005         * m4/log.m4: Likewise.
17006         * m4/log10.m4: Likewise.
17007         * m4/logb.m4: Likewise.
17008         * m4/logbf.m4: Likewise.
17009         * m4/logbl.m4: Likewise.
17010         * m4/rename.m4: Likewise.
17011         * m4/wcrtomb.m4: Likewise.
17012         * m4/hostent.m4: Likewise.
17013         * m4/servent.m4: Likewise.
17015 2018-10-14  Bruno Haible  <bruno@clisp.org>
17017         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
17018         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
17019         pointer.
17020         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
17021         pointer.
17022         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
17023         pointer.
17024         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
17025         pointer.
17026         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
17027         pointer.
17029 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17031         bootstrap: fix wget command for po files.
17032         * build-aux/bootstrap (po_download_command_format): Fix comment,
17033         and adjust callers.
17035 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17037         timevar: improve the output format
17038         Suggested by Bruno Haible.
17039         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
17040         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
17041         wall, since its resolution is much higher.
17043 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17045         timevar: expect that getrusage is available.
17046         Don't keep both times and getrusage as backend: both are guaranteed by
17047         gnulib, a single one suffices.  Using getrusage is open to possibly
17048         tracking other types of resources in the future.
17049         * modules/timevar (Depends-on): Add getrusage.
17050         (configure.ac): Remove gl_TIMEVAR.
17051         (Files): Remove m4/timevar.m4.
17052         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
17053         * lib/timevar.h (timevar_enabled): Clarify documentation.
17054         * lib/timevar.c: Remove all the code about times.
17055         Remove all the CPP guards about getrusage: expect it to be present
17056         (courtesy of gnulib).
17058 2018-10-12  Bruno Haible  <bruno@clisp.org>
17060         mountlist: Improve support for Solaris in 64-bit mode.
17061         Reported by David Wood <David.Wood@deshaw.com> in
17062         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
17063         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
17064         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
17065         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
17067 2018-10-12  Bruno Haible  <bruno@clisp.org>
17069         mountlist: Add support for Minix.
17070         Reported by Assaf Gordon in
17071         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
17072         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
17073         AC_CHECK_FUNCS to check for 'getmntinfo'.
17074         * lib/mountlist.c: Update comments.
17076 2018-10-12  Bruno Haible  <bruno@clisp.org>
17078         Make better use of Autoconf.
17079         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
17080         * m4/manywarnings.m4: Likewise.
17081         * m4/manywarnings-c++.m4: Likewise.
17082         * m4/socklen.m4: Likewise.
17083         * m4/sockpfaf.m4: Likewise.
17084         * m4/stdarg.m4: Likewise.
17085         * m4/visibility.m4: Likewise.
17086         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
17087         indentation.
17088         * m4/ls-mntd-fs.m4: Likewise.
17090 2018-10-11  Bruno Haible  <bruno@clisp.org>
17092         mountlist: Modernize platform lists.
17093         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
17094         platforms, deemphasizing the obsolete ones.
17095         * lib/mountlist.c: Likewise.
17097 2018-10-11  Bruno Haible  <bruno@clisp.org>
17099         getprogname: Add support for 32-bit programs on HP-UX.
17100         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
17101         try the similar functions 32-bit programs on 64-bit HP-UX.
17103 2018-10-11  Bruno Haible  <bruno@clisp.org>
17105         getprogname: Work around program name truncation when possible.
17106         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
17107         possibly use pst_cmd instead.
17109 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17111         fts: cleanup after FTS_NOATIME removal
17112         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
17113         (FTS_STOP): Shrink to minimal values.  We don’t need to
17114         worry about binary compatibility in Gnulib, and the old way
17115         of doing things had a hole in the user options that caused
17116         FTS_OPTIONMASK to not work as desired.
17118 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
17120         fts: remove FTS_NOATIME
17121         This reverts commit da4d6974013c822af1498941e32db774b2031765.
17122         We cannot guarantee that O_NOATIME works: e.g. openat fails
17123         with EPERM if the effective user ID of the caller does not match
17124         the owner of the file and the caller is not privileged.
17125         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
17126         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
17127         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
17128         (FTS_OPTIONMASK): Adjust.
17129         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
17130         (fd_ring_check): Likewise.
17132 2018-10-08  Bruno Haible  <bruno@clisp.org>
17134         csharpcomp*, csharpexec*: Remove support for pnet.
17135         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
17136         HAVE_CSCC.
17137         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
17138         Don't test HAVE_CSCC.
17139         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
17140         (compile_csharp_class): Don't invoke it.
17141         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
17142         HAVE_ILRUN.
17143         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
17144         Don't test HAVE_ILRUN.
17145         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
17146         (execute_csharp_program): Don't invoke it.
17147         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
17148         any more.
17150 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
17152         renameatu: prefer renameat2 to syscall
17153         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
17154         Use renameat2 instead of syscall (Bug#32796).
17155         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
17157 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17159         bootstrap, gnulib-tool: use https instead of insecure rsync
17160         * build-aux/bootstrap (download_po_files, po_download_command_format):
17161         Don't try using rsync; always use wget over https to fetch PO files.
17162         * gnulib-tool (func_import): Likewise.
17163         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17165 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17167         bootstrap, gnulib-tool: correct the translations wget command
17168         * build-aux/bootstrap (po_download_command_format2): Restrict
17169         recursion to a single level.
17170         * gnulib-tool (func_import): Likewise.
17171         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17173 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17175         doc: the gnulib snapshots are not maintained
17176         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
17178 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17180         timevar: add to lib_SOURCES
17181         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
17183 2018-10-07  Bruno Haible  <bruno@clisp.org>
17185         dirent: Update documentation.
17186         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
17188 2018-10-05  Bruno Haible  <bruno@clisp.org>
17190         strpbrk: Make it possible to namespace the defined symbol.
17191         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
17193 2018-10-05  Bruno Haible  <bruno@clisp.org>
17195         strcspn: Make it possible to namespace the defined symbol.
17196         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
17198 2018-10-05  Bruno Haible  <bruno@clisp.org>
17200         raise: Make it possible to namespace the defined symbol.
17201         * lib/raise.c (raise): Undefine only after the replacement function has
17202         been defined.
17203         (raise): Renamed from rpl_raise.
17204         (raise_nothrow): Move to the end of the compilation unit.
17206 2018-10-05  Bruno Haible  <bruno@clisp.org>
17208         memcmp: Make it possible to namespace the defined symbol.
17209         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
17211 2018-10-05  Bruno Haible  <bruno@clisp.org>
17213         explicit_bzero: Make it possible to namespace the defined symbol.
17214         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
17215         glibc.
17217 2018-10-05  Bruno Haible  <bruno@clisp.org>
17219         mkdir-p: Depend on 'mkdir'.
17220         * modules/mkdir-p (Depends-on): Add 'mkdir'.
17222 2018-10-05  Bruno Haible  <bruno@clisp.org>
17224         tempname: Depend on 'mkdir'.
17225         Reported by Maarten Bosmans <mkbosmans@gmail.com>
17226         at <https://savannah.gnu.org/bugs/?33379>.
17227         * modules/tempname (Depends-on): Add 'mkdir'.
17229 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
17231         timevar: rely on gnulib modules for time portability.
17232         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
17233         * m4/timevar.m4: Don't check for clock_t and struct tms,
17234         guaranteed by gnulib.
17235         * lib/timevar.h: Use extern "C" protection.
17236         Include <stdio.h> for FILE.
17237         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
17238         they are guaranteed by gnulib.
17239         Remove uses of clock as (now useless) fallback.
17241 2018-10-04  Bruno Haible  <bruno@clisp.org>
17243         sh-filename: New module.
17244         * m4/sh-filename.m4: New file.
17245         * modules/sh-filename: New file.
17246         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
17247         "/bin/sh".
17248         * tests/test-posix_spawn1.c (main): Likewise.
17249         * tests/test-posix_spawn2.c (main): Likewise.
17250         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
17251         is_envjavac_gcj43): Likewise.
17252         * lib/javaexec.c (execute_java_class): Likewise.
17253         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
17254         * modules/posix_spawnp-tests (Depends-on): Likewise.
17255         * modules/javacomp (Depends-on): Likewise.
17256         * modules/javaexec (Depends-on): Likewise.
17258 2018-10-04  Bruno Haible  <bruno@clisp.org>
17260         spawn-pipe tests: Avoid test failure on native Windows.
17261         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
17262         that fd 2 is closed.
17264 2018-10-04  Bruno Haible  <bruno@clisp.org>
17266         fcntl: Make it possible to namespace the defined symbol.
17267         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
17268         been defined.
17269         (fcntl): Renamed from rpl_fcntl.
17270         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
17271         from fcntl.
17272         (klibc_fcntl): Move to the end of the compilation unit.
17274 2018-10-02  Bruno Haible  <bruno@clisp.org>
17276         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
17277         * tests/test-vasnprintf.c (test_function): Change the test added on
17278         2018-09-23 to check only the 18 most significant digits.
17280         vasnprintf tests: Avoid test failure on Cygwin.
17281         * tests/test-vasnprintf.c (test_function): Change the test added on
17282         2018-09-23 to check only the 42 most significant digits.
17284 2018-10-01  Bruno Haible  <bruno@clisp.org>
17286         mkostemp, mkostemps: Update documentation.
17287         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
17288         * doc/glibc-functions/mkostemps.texi: Likewise.
17290 2018-10-01  Tom Tromey  <tom@tromey.com>
17292         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
17293         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
17294         on OS X.
17296 2018-09-30  Pádraig Brady  <P@draigBrady.com>
17298         hmac-*: refactor to remove repetitive code
17299         * lib/hmac.c: A new parameterized single implementation.
17300         * lib/hmac-md5.c: Define parameters and include implementation.
17301         * lib/hmac-sha1.c: Likewise.
17302         * lib/hmac-sha256.c: Likewise.
17303         * lib/hmac-sha512.c: Likewise.
17304         * modules/crypto/hmac-md5: Reference the new implementation file.
17305         * modules/crypto/hmac-sha1: Likewise.
17306         * modules/crypto/hmac-sha256: Likewise.
17307         * modules/crypto/hmac-sha512: Likewise.
17308         * tests/test-hmac-md5.c: Refactor common code to a single function.
17309         * tests/test-hmac-sha1.c: Likewise.
17310         * tests/test-hmac-sha256.c: Likewise.
17311         * tests/test-hmac-sha512.c: Likewise.
17313 2018-09-30  Zhang Qing  <zhangqingl@126.com>
17315         hmac-sha512: fix hash for keys > blocksize (128 bytes)
17316         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
17317         key length to that output by sha512, not the blocksize.
17318         Otherwise uninitialized data from the stack
17319         is used when computing the hash.
17320         * tests/test-hmac-sha512.c: Add a shortened key test case.
17321         Reported at https://github.com/coreutils/gnulib/pull/5
17323 2018-09-30  Bruno Haible  <bruno@clisp.org>
17325         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
17326         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
17327         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
17328         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
17329         'unsigned int' before comparison with an unsigned value.
17331 2018-09-30  Bruno Haible  <bruno@clisp.org>
17333         grantpt: Remove unnecessary dependency.
17334         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
17336 2018-09-30  Bruno Haible  <bruno@clisp.org>
17338         timevar: Small tweaks.
17339         * lib/timevar.h: Fix comments. Add parameter names to function
17340         declarations.
17341         * lib/timevar.c: Include timevar.h immediately after config.h.
17342         * lib/timevar.def: Fix comments.
17343         * modules/timevar (Maintainer): List Akim Demaille.
17345 2018-09-30  Bruno Haible  <bruno@clisp.org>
17347         timevar: Include documentation in gnulib manual.
17348         * doc/timevar.texi: Change node and section name to 'Profiling of
17349         program phases'.
17350         In the code snippets, tweak the #includes and use GNU coding style.
17351         * doc/gnulib.texi: Include timevar.texi.
17353 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
17355         timevar: import from Bison.
17356         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
17357         New files.
17358         * lib/timevar.def: New file.
17359         * doc/timevar.texi: New file.
17361 2018-09-26  Bruno Haible  <bruno@clisp.org>
17363         javacomp-script, javacomp: Add preliminary support for Java 12..17.
17364         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
17365         * lib/javacomp.c (default_target_version): Likewise.
17367 2018-09-26  Bruno Haible  <bruno@clisp.org>
17369         javacomp-script, javacomp: Add support for Java 11.
17370         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
17371         target-version 11.
17372         * lib/javaversion.h: Update comments.
17373         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
17374         source_version_index, get_goodcode_snippet, get_failcode_snippet,
17375         TARGET_VERSION_BOUND, target_version_index,
17376         corresponding_classfile_version): Accept source_version 11 and
17377         target_version 11.
17378         * lib/javacomp.h: Update comments accordingly.
17380 2018-09-23  Bruno Haible  <bruno@clisp.org>
17382         vasnprintf: Fix heap memory overrun bug.
17383         Reported by Ben Pfaff <blp@cs.stanford.edu> in
17384         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
17385         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
17386         memory.
17387         * tests/test-vasnprintf.c (test_function): Add another test.
17389 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17391         maint: mktime.c now shared with glibc
17392         * config/srclist.txt: intprops.h, timegm.c and mktime.c
17393         are now the same in Gnulib and glibc.
17395         mktime: fix _LIBC typo
17396         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
17398 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17400         dfa: optimization for state merge
17401         * lib/dfa.c (merge2): New function.
17402         (merge_nfa_state): Use it.
17404 2018-09-18  Jim Meyering  <meyering@fb.com>
17406         dfa: trivial comment fix: s/is/if/
17407         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
17409 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17411         dfa: use more-informative function name
17412         * lib/dfa.c (maybe_disable_superset_dfa):
17413         Rename from dfautf8noss.  Use change.
17415         dfa: tweak allocation performance
17416         * lib/dfa.c (merge_nfa_state, dfaoptimize):
17417         Prefer ptrdiff_t for indexes some more.
17418         Use char for flags, as it’s wide enough.
17419         Allocate queue and flags together, with one malloc call.
17420         No need to use xnmalloc since the multiplication and
17421         addition cannot overflow (it’s already been checked by
17422         earlier allocation).  Prefer memset to open-coding.
17424         dfa: prune states as we go
17425         * lib/dfa.c (prune): Remove.
17426         dfa: reorder enum for efficiency
17427         (merge_nfa_state): Prune as we go instead of at the end.
17428         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
17430         * lib/dfa.c (END): Now -1 again.  Reorder other elements
17431         of the enumeration to make it easier for GCC to generate
17432         efficient code by using fewer comparisons to check for
17433         ranges of values.
17434         (atom): Take advantage of the reordering.
17436 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17438         dfa: optimize alternation in NFA
17439         Even when similar states exist in alternation, the DFA treats them
17440         as separate items, which may complicate the transition in NFA and
17441         cause slowdown.  This change assembles the states into one.  For
17442         example, ab|ac is changed into a(b|c).  This change speeds-up
17443         matching for many branched patterns.  For example, grep speeds up
17444         more than 30× in:
17446           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
17447           time -p env LC_ALL=C grep -vf in in
17449         * lib/dfa.c (prune): New function.
17450         (merge_nfa_state): New function.  It merges similar NFA states.
17451         (dfaoptimize): New function.  It seeks merged and removed nodes.
17452         (dfaanalyze): Call new function.
17453         (dfautf8noss): Change name from dfaoptimize because of addition of new
17454         function.
17455         (dfacomp): Update caller.
17457         dfa: simplify initial state
17458         Simplifying the initial state enables easier optimization of the NFA.
17459         * lib/dfa.c (enum token): Add new element BEG.
17460         (prtok): Adjust due to adding element BEG.
17461         (dfaparse): Put BEG at a head of tokens.
17462         (state_index): Adjust due to adding element BEG.
17463         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
17464         build initial state.
17465         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
17467 2018-09-18  Bruno Haible  <bruno@clisp.org>
17469         file-has-acl: Fix test failure on Cygwin 2.9.
17470         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
17471         * lib/acl-internal.h: Likewise.
17472         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
17473         * lib/acl-internal.c: Update comments regarding Cygwin.
17474         * lib/acl_entries.c: Likewise.
17475         * lib/file-has-acl.c: Likewise.
17476         (file_has_acl): For Cygwin, use a different way to determine whether
17477         the "default" ACL of a directory is nontrivial.
17478         * lib/get-permissions.c: Update comments regarding Cygwin.
17479         * lib/set-permissions.c: Likewise.
17481 2018-09-18  Bruno Haible  <bruno@clisp.org>
17483         stat-time tests: Fix test failure on Cygwin.
17484         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
17486 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17488         doc: OS X 10.11 lacked ns time functions
17489         According to <https://github.com/zeromq/libzmq/issues/2175>,
17490         nanosecond-resolution timestamp functions were introduced
17491         in macOS 10.12, so document the last version (OS X 10.11)
17492         where they were absent.
17494         gettime: nanotime never existed
17495         Problem reported by Bruno Haible in:
17496         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
17497         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
17498         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
17500 2018-09-18  Bruno Haible  <bruno@clisp.org>
17502         doc: Update statement about target platforms.
17503         Reported by Simon Sobisch.
17504         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
17505         restrictions on MSVC versions.
17507 2018-09-18  Bruno Haible  <bruno@clisp.org>
17509         posix_spawn tests: Fix link error on 64-bit Cygwin.
17510         * tests/test-posix_spawn1.c (environ): Remove declaration.
17511         * tests/test-posix_spawn2.c (environ): Likewise.
17512         * tests/test-posix_spawn3.c (environ): Likewise.
17513         * tests/test-posix_spawn4.c (environ): Likewise.
17514         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
17515         * modules/posix_spawnp-tests (Depends-on): Likewise.
17517 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17519         timespec: new function current_timespec
17520         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
17521         and don’t worry about it failing on a CLOCK_REALTIME arg.
17522         POSIX requires it to succeed and I don’t know of any
17523         counterexamples where the fallbacks would work.
17524         (current_timespec): New function, taken from Emacs.  It is more
17525         convenient than gettime, and can help register allocation.
17526         * lib/timespec.h: Include arg-nonnull.h.
17527         (current_timespec): New declaration.
17528         (gettime, settime): Declare args to be nonnull.
17529         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
17531 2018-09-16  Bruno Haible  <bruno@clisp.org>
17533         setlocale: Improve locale handling on macOS 10.12 or newer.
17534         * lib/setlocale.c: Include header files for CoreFoundation. Declare
17535         gl_locale_name_canonicalize.
17536         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
17537         and LC_MESSAGES.
17538         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
17540 2018-09-16  Bruno Haible  <bruno@clisp.org>
17542         Update list of locale names with scripts on macOS.
17543         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
17544         match Mac OS X 10.13 and recent glibc.
17546 2018-09-16  Bruno Haible  <bruno@clisp.org>
17548         gettext: Use newer macOS APIs when possible.
17549         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
17550         CFLocaleCopyPreferredLanguages.
17552 2018-09-16  Bruno Haible  <bruno@clisp.org>
17554         localename: Revisit macOS specific code.
17555         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
17556         Fix comments about Mac OS X versions.
17558 2018-09-15  Bruno Haible  <bruno@clisp.org>
17560         setlocale: Improve support for locales not supported by libc.
17561         Reported by Dapeng Gao <peter@dpgao.cc> at
17562         <https://savannah.gnu.org/bugs/?54479>.
17563         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
17564         (libintl_setlocale): Use a more error-tolerant strategy when the locale
17565         to be set is not supported by libc: Emit warnings instead of failing.
17567 2018-09-15  Bruno Haible  <bruno@clisp.org>
17569         strstr, strcasestr: Add workaround against glibc-2.28 bug.
17570         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
17571         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
17572         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
17573         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
17574         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
17575         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
17576         * doc/glibc-functions/strcasestr.texi: Likewise.
17578 2018-09-14  Bruno Haible  <bruno@clisp.org>
17580         doc: Fix bottom of top-level page.
17581         Reported by Akim Demaille <akim.demaille@gmail.com> in
17582         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
17583         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
17584         mode.
17585         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
17586         accordingly.
17588 2018-09-12  Bruno Haible  <bruno@clisp.org>
17590         Add test case from a recent glibc bug.
17591         * tests/test-strstr.c (main): Add test of long needle.
17592         * tests/test-strcasestr.c (main): Likewise.
17593         * tests/test-c-strstr.c (main): Likewise.
17594         * tests/test-c-strcasestr.c (main): Likewise.
17595         * tests/test-memmem.c (main): Likewise.
17597 2018-09-12  Bruno Haible  <bruno@clisp.org>
17599         Apply Eric Blake's improvements from 2011-02-25 to more tests.
17600         * tests/test-c-strstr.c (main): Add the same tests here as well.
17602 2018-09-12  Bruno Haible  <bruno@clisp.org>
17604         Apply Jim Meyering's fix from 2015-01-11 to more tests.
17605         * tests/test-memmem.c (main): Free haystack.
17606         * tests/test-strcasestr.c (main): Likewise.
17607         * tests/test-c-strcasestr.c (main): Likewise.
17609 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17611         xstrtol: fix missing-TYPE_SIGNED typo
17612         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
17614 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17616         timespec: fix resolution confusion
17617         In normal usage, clock resolution is given in seconds, but the
17618         code was mistakenly using inverse seconds and calling it
17619         “resolution”.  Fix this, partly by renaming two identifiers.
17620         The old names will be kept for a bit, to ease transition.
17621         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
17622         New constants, replacing TIMESPEC_RESOLUTION and
17623         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
17624         All uses changed.
17626 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17628         mktime: simplify in prep for glibc merge
17629         * lib/mktime.c, lib/timegm.c [_LIBC]:
17630         Include mktime-internal.h (a small file just for glibc)
17631         instead of using a typedef.
17633 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17635         intprops: minor clarification of code
17636         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
17637         Use _GL_INT_CONVERT rather than reinventing it.
17639 2018-09-07  Bruno Haible  <bruno@clisp.org>
17641         Fix a comment.
17642         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
17644 2018-09-07  Bruno Haible  <bruno@clisp.org>
17646         posix_spawn_file_actions_addchdir: Add tests.
17647         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
17648         * tests/test-posix_spawn4.c: New file.
17649         * modules/posix_spawn_file_actions_addchdir-tests: New file.
17651 2018-09-07  Bruno Haible  <bruno@clisp.org>
17653         posix_spawn_file_actions_addchdir: New module.
17654         Suggested by Eric Blake in
17655         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
17656         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
17657         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
17658         union member 'chdir_action'.
17659         * lib/spawn_faction_addchdir.c: New file.
17660         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
17661         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
17662         HAVE_WORKING_POSIX_SPAWN.
17663         * lib/spawn_faction_adddup2.c: Likewise.
17664         * lib/spawn_faction_addopen.c: Likewise.
17665         * m4/posix_spawn_faction_addchdir.m4: New file.
17666         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
17667         'posix_spawn_file_actions_addchdir' is present and whether
17668         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
17669         instead of HAVE_WORKING_POSIX_SPAWN.
17670         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
17671         posix_spawn_file_actions_addchdir is declared.
17672         (gl_SPAWN_H_DEFAULTS): Initialize
17673         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17674         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17675         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17676         * modules/spawn (Makefile.am): Substitute
17677         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17678         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17679         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17680         * modules/posix_spawn_file_actions_addchdir: New file.
17681         * modules/posix_spawn_file_actions_addclose (Depends-on,
17682         configure.ac): Test also REPLACE_POSIX_SPAWN.
17683         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
17684         configure.ac): Likewise.
17685         * modules/posix_spawn_file_actions_addopen (Depends-on,
17686         configure.ac): Likewise.
17687         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
17688         signature.
17689         * doc/posix-functions/posix_spawn.texi: Mention the new module.
17690         * doc/posix-functions/posix_spawnp.texi: Likewise.
17692 2018-09-06  Bruno Haible  <bruno@clisp.org>
17694         stddef: Override max_align_t on NetBSD 8.0/x86.
17695         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
17696         the value of __alignof__ (max_align_t).
17697         * doc/posix-headers/stddef.texi: Mention the issue.
17699 2018-09-06  Bruno Haible  <bruno@clisp.org>
17701         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
17702         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
17703         system fcntl.
17704         * doc/posix-functions/fcntl.texi: Document the issue.
17706 2018-09-06  Bruno Haible  <bruno@clisp.org>
17708         count-trailing-zeros tests: Rely on limits-h module.
17709         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
17710         definition.
17711         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
17713 2018-09-06  Bruno Haible  <bruno@clisp.org>
17715         count-leading-zeros tests: Rely on limits-h module.
17716         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
17717         definition.
17718         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
17720 2018-09-06  Bruno Haible  <bruno@clisp.org>
17722         count-one-bits tests: Rely on limits-h module.
17723         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
17724         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
17726 2018-09-06  Bruno Haible  <bruno@clisp.org>
17728         xstrtoll: Rely on limits-h module.
17729         * lib/xstrtol.c: Don't include intprops.h.
17730         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17731         * modules/xstrtol (Depends-on): Remove 'intprops'.
17732         * modules/xstrtoll (Depends-on): Add 'limits-h'.
17734 2018-09-06  Bruno Haible  <bruno@clisp.org>
17736         strtoll, strtoull: Rely on limits-h module.
17737         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
17738         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17739         * modules/strtoll (Depends-on): Add limits-h.
17740         * modules/strtoull (Depends-on): Likewise.
17742 2018-09-06  Bruno Haible  <bruno@clisp.org>
17744         intprops tests: Fix compilation error with pre-C99 compiler.
17745         * tests/test-intprops.c (verify_stmt): New macro.
17746         (VERIFY, main): Use it.
17748 2018-09-06  Bruno Haible  <bruno@clisp.org>
17750         limits-h: Provide numerical limits macros.
17751         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
17752         IRIX and for GCC.
17753         (WORD_BIT, LONG_BIT): Define.
17754         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
17755         <limits.h> does not define LLONG_MAX or WORD_BIT.
17756         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
17757         TYPE_MAXIMUM): New macros, from intprops.h.
17758         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
17759         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
17760         provides.
17762 2018-09-05  Bruno Haible  <bruno@clisp.org>
17764         fcntl: Don't access nonexistent optional argument.
17765         Reported by Frank Busse <f.busse@imperial.ac.uk> in
17766         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
17767         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
17768         don't consume an argument. For actions that take an 'int' argument,
17769         consume an 'int' argument.
17771 2018-09-05  Eric Blake  <eblake@redhat.com>
17773         doc: mention environ pitfall
17774         * doc/posix-functions/environ.texi (environ): Assigning NULL to
17775         environ is a glibc extension.
17777 2018-09-03  Bruno Haible  <bruno@clisp.org>
17779         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
17780         Reported by Antoine Luong <antoine.luong@c-s.fr> in
17781         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
17782         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
17783         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
17784         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
17786 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17788         mktime: fix unlikely race+overflow bug
17789         Problem reported by Alexandre Oliva in:
17790         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
17791         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
17792         to avoid an unlikely race if the compiler delays a load and
17793         if this cascades into a signed integer overflow.
17795 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17797         mktime, timegm: simplify glibc time64_t
17798         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
17799         Now long int, not time_t, since long int is the longstanding type
17800         for this in glibc and there is no need to change it even if time_t
17801         becomes 64 bits - even int would do, though this would be a change
17802         to the glibc generated code.  When this change is merged into
17803         glibc, it should simplify the time_t vs time64_t situation.
17805         mktime, timegm: simplify merge to glibc
17806         Move code around to make a merge to glibc easier to audit.
17807         This should not change behavior.
17808         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
17809         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
17810         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
17811         simplify later conditionals; default the others to zero.  In uses
17812         of these conditionals, explicitly spell out how _LIBC affects
17813         things, so it’s easier to review from a glibc viewpoint.
17814         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
17815         compartmentalize tzset issues.  Move system-dependent tzsettish
17816         code here from mktime.
17817         (mktime): Move tzsettish code to my_tzset, and move
17818         localtime_offset to within mktime so that it doesn’t
17819         need a separate ifdef.
17821 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17823         intprops: avoid evaluation of some expressions
17824         This makes EXPR_SIGNED (e) easier to use, as it no longer
17825         evaluates the expression E.  Formerly, E was required to be free
17826         of side effects.
17827         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
17828         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
17829         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
17831 2018-08-23  Bruno Haible  <bruno@clisp.org>
17833         getcwd: Add cross-compilation guesses.
17834         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
17835         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
17836         Based on a patch by Paul Eggert.
17837         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
17838         guesses for all GNU systems.
17840 2018-08-19  Bruno Haible  <bruno@clisp.org>
17842         glob-h: Formalize side effects from other modules.
17843         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
17844         * m4/glob.m4 (gl_GLOB): Invoke it.
17846         fnmatch-h: Formalize side effects from other modules.
17847         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
17848         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
17850         limits-h: Formalize side effects from other modules.
17851         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
17852         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
17854 2018-08-19  Bruno Haible  <bruno@clisp.org>
17856         getpass: Move declaration to <unistd.h>.
17857         * lib/unistd.in.h (getpass): New declaration.
17858         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
17859         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
17860         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
17861         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
17862         On glibc systems, don't set REPLACE_GETPASS to 1.
17863         * modules/getpass (Depends-on): Add 'unistd'.
17864         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
17865         (Include): Specify <unistd.h> instead of "getpass.h".
17866         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
17867         (configure.ac): Sync with the configure.ac section of modules/getpass.
17868         (Include): Specify <unistd.h> instead of "getpass.h".
17869         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
17870         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
17871         REPLACE_GETPASS.
17872         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
17873         REPLACE_GETPASS.
17874         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
17875         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
17876         and musl.
17877         * NEWS: Mention the change.
17879 2018-08-19  Bruno Haible  <bruno@clisp.org>
17881         glob: Fix over-optimization due to attribute __nonnull__.
17882         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
17884 2018-08-19  Bruno Haible  <bruno@clisp.org>
17886         glob: Fix another compilation error when glob.h is not replaced.
17887         Reported by Reuben Thomas <rrt@sc3d.org> in
17888         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
17889         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
17890         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
17892 2018-08-18  Bruno Haible  <bruno@clisp.org>
17894         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
17895         Reported by Reuben Thomas <rrt@sc3d.org> in
17896         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
17897         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
17898         in config.h.
17900 2018-08-18  Bruno Haible  <bruno@clisp.org>
17902         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
17903         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
17904         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
17905         Solution proposed by Eli Zaretskii.
17906         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
17907         * lib/gettimeofday.c (GetProcAddress): Likewise.
17908         * lib/link.c (GetProcAddress): Likewise.
17909         * lib/physmem.c (GetProcAddress): Likewise.
17910         * lib/poll.c (GetProcAddress): Likewise.
17911         * lib/select.c (GetProcAddress): Likewise.
17912         * lib/stat-w32.c (GetProcAddress): Likewise.
17914 2018-08-18  Bruno Haible  <bruno@clisp.org>
17916         glob: Fix another compilation error when glob.h is not replaced.
17917         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
17918         * lib/globfree.c: Include <libc-config.h>.
17920 2018-08-18  Bruno Haible  <bruno@clisp.org>
17922         glob: Fix compilation error when glob.h is not replaced.
17923         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
17924         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
17925         * lib/glob_pattern_p.c: Include <libc-config.h>.
17926         * modules/glob (Depends-on): Add libc-config.
17928 2018-08-18  Bruno Haible  <bruno@clisp.org>
17930         scratch_buffer: Add tests.
17931         * tests/test-scratch-buffer.c: New file.
17932         * modules/scratch_buffer-tests: New file.
17934 2018-08-18  Bruno Haible  <bruno@clisp.org>
17936         scratch_buffer: Fix include file.
17937         Reported by Reuben Thomas <rrt@sc3d.org> in
17938         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
17939         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
17940         double-inclusion guard.
17942 2018-08-18  Bruno Haible  <bruno@clisp.org>
17944         glob-h: Revert Paul Eggert's revert.
17945         * m4/glob_h.m4: Revert to previous state.
17946         * modules/glob-h: Likewise.
17948 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17950         glob-h: always build glob.h
17951         This works around a problem reported by Reuben Thomas in:
17952         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
17953         This workaround always builds glob.h, even on platforms that
17954         do not need it; perhaps this could be improved someday.
17955         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
17956         is always created now.
17957         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
17959 2018-08-13  Bruno Haible  <bruno@clisp.org>
17961         monetary: Simplify m4 code.
17962         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
17963         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
17965 2018-08-13  Bruno Haible  <bruno@clisp.org>
17967         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
17968         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
17969         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
17970         and by Paul J. Lucas <paul@lucasmail.org> in
17971         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
17972         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
17974 2018-08-11  Bruno Haible  <bruno@clisp.org>
17976         setlocale: Trivial simplification.
17977         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
17979 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17981         verify: port 'assume' to traditional tools
17982         * lib/verify.h (assume): Port better to Oracle Studio 12.6
17983         and other tools that use /*NOTREACHED*/ comments.
17985 2018-08-10  Bruno Haible  <bruno@clisp.org>
17987         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
17988         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
17989         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
17990         'fnmatch-gnu' is in use.
17992 2018-08-07  Bruno Haible  <bruno@clisp.org>
17994         glob-h: Add tests.
17995         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
17996         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
17997         tests/test-glob-h.c.
17998         * modules/glob-h-tests: New file.
17999         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
18000         conditions.
18001         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
18002         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
18004 2018-08-07  Bruno Haible  <bruno@clisp.org>
18006         glob-h: New module.
18007         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
18008         replacements.
18009         * lib/glob.c: Include <config.h>.
18010         * m4/glob_h.m4: New file.
18011         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
18012         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18013         REPLACE_GLOB_PATTERN_P as appropriate.
18014         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
18015         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
18016         * modules/glob-h: New file.
18017         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
18018         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
18019         lstat, sys_stat. Change conditions.
18020         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18021         REPLACE_GLOB_PATTERN_P. Set module indicator.
18022         (Makefile.am): Remove code that is moved to glob-h.
18023         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
18024         * modules/posixcheck (Depends-on): Add glob-h.
18026 2018-08-06  Bruno Haible  <bruno@clisp.org>
18028         Force generation of substitute .h file when C++ support is enabled.
18029         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
18030         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
18031         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
18032         FNMATCH_H to non-empty.
18033         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
18034         ICONV_H to non-empty.
18035         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
18036         MONETARY_H to non-empty.
18037         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
18038         non-empty.
18040 2018-08-06  Bruno Haible  <bruno@clisp.org>
18042         fnmatch-h: Fix test compilation error on mingw (regression from today).
18043         * lib/fnmatch.in.h: Fix conditions.
18045 2018-08-06  Bruno Haible  <bruno@clisp.org>
18047         sys_resource: Relicense under LGPLv2+.
18048         John Malmberg's approval is in
18049         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
18050         * modules/sys_resource (License): Change to LGPLv2+.
18052 2018-08-06  Bruno Haible  <bruno@clisp.org>
18054         fnmatch-h: Add tests.
18055         * tests/test-fnmatch-h.c: New file.
18056         * modules/fnmatch-h-tests: New file.
18057         * tests/test-fnmatch-h-c++.cc: New file.
18058         * modules/fnmatch-h-c++-tests: New file.
18060 2018-08-06  Bruno Haible  <bruno@clisp.org>
18062         fnmatch-h: New module.
18063         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
18064         replacements.
18065         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
18066         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
18067         'posixcheck' warning.
18068         * m4/fnmatch_h.m4: New file.
18069         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
18070         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
18071         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
18072         as appropriate.
18073         * modules/fnmatch-h: New file.
18074         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
18075         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
18076         conditions.
18077         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
18078         indicator.
18079         (Makefile.am): Remove code that is moved to fnmatch-h.
18080         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
18081         REPLACE_FNMATCH.
18082         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
18083         * modules/posixcheck (Depends-on): Add fnmatch-h.
18085 2018-08-06  Bruno Haible  <bruno@clisp.org>
18087         Enable more C++ tests.
18088         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
18089         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
18090         * modules/strings-tests (Depends-on): Add strings-c++-tests.
18091         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
18092         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
18094 2018-08-06  Bruno Haible  <bruno@clisp.org>
18096         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
18097         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
18098         getopt.h.
18099         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
18101 2018-08-05  Bruno Haible  <bruno@clisp.org>
18103         utime-h: Generate header file when module 'posixcheck' is in use.
18104         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
18105         UTIME_H to non-empty.
18107 2018-08-05  Bruno Haible  <bruno@clisp.org>
18109         monetary: Generate header file when module 'posixcheck' is in use.
18110         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
18111         use, set MONETARY_H to non-empty.
18113 2018-08-05  Bruno Haible  <bruno@clisp.org>
18115         iconv-h: Generate header file when module 'posixcheck' is in use.
18116         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
18117         set ICONV_H to non-empty.
18119 2018-08-05  Bruno Haible  <bruno@clisp.org>
18121         Optimize the "checking whether ... is declared without a macro" checks.
18122         Suggested by Paul Eggert in
18123         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
18124         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
18125         Gnulib module 'posixcheck' is not in use.
18127 2018-08-05  Bruno Haible  <bruno@clisp.org>
18129         iconv-h: Enable 'posixcheck' warnings.
18130         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
18131         iconv_open.
18132         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
18134 2018-08-05  Bruno Haible  <bruno@clisp.org>
18136         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
18137         * m4/extern-inline.m4: Add more comments.
18138         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
18139         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
18140         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
18142 2018-08-04  Bruno Haible  <bruno@clisp.org>
18144         New module 'posixcheck'.
18145         * modules/posixcheck: New file.
18146         * m4/posixcheck.m4: New file.
18147         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
18148         (Which modules?): Reference it.
18150 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
18152         dfa: fix memory leak
18153         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
18155 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18157         ieee754-h: new module
18158         It looks like Emacs can use this for some NaN processing.
18159         Emacs uses it only on double NaNs so it should be safe.
18160         * MODULES.html.sh (func_all_modules): Add ieee754-h.
18161         * config/srclist.txt: Mention ieee754.h in a comment.
18162         * doc/glibc-headers/ieee754.texi (ieee754.h):
18163         Gnulib now has a substitute that should work
18164         except for long double and for non-IEEE platforms.
18165         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
18166         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
18168 2018-07-27  Bruno Haible  <bruno@clisp.org>
18170         iswcntrl: Mention minor problem on macOS.
18171         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
18173 2018-07-26  Colin Watson  <cjwatson@debian.org>
18175         bootstrap, gnulib-tool: fix translations rsync
18176         Previously, we created files such as $pobase/Makefile.in.in and then the
18177         subsequent rsync would immediately delete them.
18178         * build-aux/bootstrap (po_download_command_format): Avoid deleting
18179         non-.po files in target directory when rsyncing translations.
18180         * gnulib-tool (func_import): Likewise.
18181         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18183 2018-07-25  Jim Meyering  <meyering@fb.com>
18185         bootstrap: reinstate definition fo gnulib_mk.
18186         That variable is used at least by cppi.
18187         * build-aux/bootstrap (gnulib_mk): Restore definition.
18188         This reverts the deletion from v0.1-1844-gc66dba9ba.
18190 2018-07-23  Bruno Haible  <bruno@clisp.org>
18192         doc: For module names, use texinfo markup @code{} or @samp{}.
18193         * doc/alloca.texi: Mark gnulib module names with @code.
18194         * doc/alloca-opt.texi: Likewise.
18195         * doc/quote.texi: Likewise.
18196         * doc/posix-functions/freopen.texi: Likewise.
18197         * doc/posix-functions/open.texi: Likewise.
18198         * doc/posix-functions/readlink.texi: Likewise.
18199         * doc/posix-functions/readlinkat.texi: Likewise.
18200         * doc/posix-functions/stdout.texi: Likewise.
18201         * doc/posix-functions/stderr.texi: Likewise.
18202         * doc/posix-functions/unlink.texi: Likewise.
18203         * doc/posix-functions/unlinkat.texi: Likewise.
18204         * doc/posix-functions/utime.texi: Likewise.
18205         * doc/posix-functions/utimensat.texi: Likewise.
18206         * doc/posix-functions/utimes.texi: Likewise.
18207         * doc/posix-headers/stdint.texi: Likewise.
18208         * doc/glibc-functions/futimesat.texi: Likewise.
18209         * doc/glibc-functions/lutimes.texi: Likewise.
18210         * doc/glibc-functions/memmem.texi: Likewise.
18212 2018-07-23  Werner LEMBERG  <wl@gnu.org>
18214         doc: Avoid some overfull lines in the TeX output.
18215         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
18216         @example.
18217         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
18218         newline before the long URL.
18219         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
18220         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
18221         Add line breaks in code snippets.
18223 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18225         hard-locale: simplify by removing hard-locale.m4
18226         * m4/hard-locale.m4: Remove.
18227         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
18228         (configure.ac): Do not call gl_HARD_LOCALE.
18230         gnulib-tool: limit line length for git send-email
18231         * gnulib-tool (func_import): Break actioncmd log line
18232         into multiple lines.
18234 2018-07-16  Bruno Haible  <bruno@clisp.org>
18236         ffs: Ensure declaration on mingw.
18237         Reported by Daniel P. Berrangé <berrange@redhat.com>
18238         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
18239         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
18240         also declared.
18242 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18244         regex-tests: add dependency
18245         * modules/regex-tests (Depends-on): Add gettext-h.
18246         This is needed given the recent changes to regex,
18247         which no longer depends on gettext-h.
18249 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18251         regex: now in sync with glibc
18252         * config/srclist.txt: Gnulib and glibc regex code
18253         are synchronized again.
18255 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18257         renameatu: rename from renameat2
18258         It's looking like Glibc will add a renameat2 function
18259         that is incompatible with Gnulib renameat2; see:
18260         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
18261         To help avoid future confusion, rename renameat2 to something else.
18262         Use the name 'renameatu', as the Gnulib function is close to the
18263         Glibc function.  Perhaps someday there will also be a renameat2
18264         Gnulib module, which mimicks the future glibc renameat2, but that
18265         can wait as nobody seems to need such a module now.
18266         * NEWS: Mention this.
18267         * lib/renameatu.c: Rename from lib/renameat2.c.
18268         * lib/renameatu.h: Rename from lib/renameat2.h.
18269         * modules/renameatu: Rename from modules/renameat2.
18270         * modules/renameatu-tests: Rename from modules/renameat2-tests.
18271         All uses of "renameat2" in identifiers or file name
18272         changed to "renameatu", except for two instances in
18273         lib/renameatu.c that deal with the Linux kernel's
18274         renameat2 syscall.
18276 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18278         gnulib-tool: minor tweaks for --gnu-make
18279         * gnulib-tool: Do not allow --gnu-make in test modes,
18280         since they all require automake.
18281         (func_emit_lib_Makefile_am): Don’t emit automake comment
18282         if --gnu-make.
18284         regex: work around conditional-dependencies glitch
18285         * modules/regex (Depends-on): Add langinfo.
18286         Without this change, I had problems building an experimental
18287         version of GNU Emacs.  The symptom of the bug was a message
18288         ‘./configure: line 12726: test: =: unary operator expected’.
18289         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
18290         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
18291         was unset.  Although gl_FUNC_NL_LANGINFO has
18292         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
18293         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
18294         --conditional-dependencies sometimes arranges for the
18295         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
18296         code.  Since the regex code includes <langinfo.h> it should be
18297         depending on the langinfo module anyway, and this happens to work
18298         around the bug, so install that as a workaround for now.  To
18299         reproduce the original problem, run the following shell script on
18300         the version of Gnulib just before this patch was installed.
18301                 rm -fr foo
18302                 mkdir foo
18303                 cat >foo/configure.ac <<'EOF'
18304                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
18305                 gl_EARLY
18306                 gl_INIT
18307                 AC_OUTPUT
18308                 EOF
18309                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
18310                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
18311                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
18312                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
18313                 cd foo
18314                 aclocal -I m4
18315                 autoconf
18316                 ./configure --with-included-regex
18318 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18320         wchar: fix bug when checking for ‘inline’
18321         I discovered this when looking into using the regex module
18322         with Emacs.
18323         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
18324         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
18325         conftest1.c and conftest2.c but these files were not created.
18326         As far as I can see, this check never worked and nobody reported
18327         it until now, which is a bit worrisome.
18329 2018-06-30  Jim Meyering  <meyering@fb.com>
18331         bootstrap: s/--option val/--option=val/
18332         * build-aux/bootstrap (gnulib_tool_options): Change the
18333         spelling of "--option val" pairs to "--option=val", for
18334         aesthetics, and also so that this file no longer triggers
18335         a common help2man syntax-check warning when copied into
18336         projects like grep, gzip, etc.
18338 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18340         manywarnings: omit -Wswitch-default
18341         This should make things more consistent, as we already ignore
18342         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
18343         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
18344         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
18345         Add -Wswitch-default.
18346         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
18347         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18348         Remove -Wswitch-default.
18350         regex: revert most trimming
18351         Problems reported by Bruno Haible in:
18352         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
18353         * modules/regex (Depends-on): Add lock, memcmp, memmove,
18354         and wctype back in.  lock because regex users shouldn’t
18355         need to know that regex needs locking, and the rest because
18356         gnulib-tool should ordinarily ignore them anyway.
18358 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18360         regex: trim module dependencies
18361         * modules/regex (Depends-on): Remove gettext-h and lock,
18362         since the regex code should work OK without these modules,
18363         and Emacs uses it that way.  Also remove memcmp, memmove,
18364         and wctype, as these modules are obsolete and should not be
18365         needed any more.
18367 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
18369         regex: glibc does not use intprops.h
18370         Maybe we can talk glibc into using intprops.h someday, but
18371         now doesn’t seem to be a good time.
18372         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
18373         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
18374         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
18376 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18378         regex: port to recently proposed glibc regex merge
18379         This patch is inspired by Adhemerval Zanella's recent proposal
18380         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
18381         to merge glibc and Gnulib regex.  It aims to simplify the merge on
18382         the glibc side, without keeping Gnulib portable.
18383         * lib/regex.h: Fix a problem with glibc installed-header checking,
18384         as follows:
18385         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
18386         (_Restrict_arr_): Prefer __restrict_arr if defined,
18387         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
18388         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
18389         (build_wcs_upper_buffer, build_upper_buffer)
18390         (re_string_translate_buffer, re_string_context_at):
18391         Move decls here from lib/regex_internal.h, for glibc internal tests.
18392         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
18393         glibc BZ #18496.
18394         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
18395         -Wunused-value.
18396         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
18397         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
18398         (bitset_mask): Now static inline, and without any __attribute__
18399         ((unused)) decoration, for glibc internal tests.
18401 2018-06-25  Bruno Haible  <bruno@clisp.org>
18403         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
18404         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
18405         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
18406         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
18407         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
18408         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
18409         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
18410         / -lthread / -lpth does not get optimized away by a preceding
18411         --as-needed option.
18413 2018-06-25  Bruno Haible  <bruno@clisp.org>
18415         Continue to use spaces for indentation, not tabs.
18416         * MODULES.html.sh: Untabify.
18417         * doc/regex.texi: Likewise.
18418         * lib/acl-internal.c: Likewise.
18419         * lib/dfa.c: Likewise.
18420         * lib/exclude.c: Likewise.
18421         * lib/exclude.h: Likewise.
18422         * lib/get-permissions.c: Likewise.
18423         * lib/gettimeofday.c: Likewise.
18424         * lib/parse-datetime.y: Likewise.
18425         * lib/pselect.c: Likewise.
18426         * lib/set-permissions.c: Likewise.
18427         * lib/time.in.h: Likewise.
18428         * m4/canonicalize.m4: Likewise.
18429         * m4/gc.m4: Likewise.
18430         * m4/gnulib-common.m4: Likewise.
18431         * m4/pthread_sigmask.m4: Likewise.
18432         * m4/vararrays.m4: Likewise.
18433         * tests/test-digest.h: Likewise.
18434         * tests/test-fcntl-h.c: Likewise.
18435         * tests/test-timespec.c: Likewise.
18436         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
18438 2018-06-25  Bruno Haible  <bruno@clisp.org>
18440         manywarnings: Don't enable -Wjump-misses-init warnings by default.
18441         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
18442         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
18443         -Wjump-misses-init.
18445 2018-06-25  Jim Meyering  <meyering@fb.com>
18447         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
18448         * lib/acl-internal.h (free_permission_context): Remove that
18449         attribute directive.  Otherwise, it would provoke this from GCC 9:
18450         lib/acl-internal.h:300:3: error: 'const' attribute on function \
18451           returning 'void' [-Werror=attributes]
18453 2018-06-24  Jim Meyering  <meyering@fb.com>
18455         parse-datetime: accommodate gcc-4.8.5
18456         Bruno Haible reported the build failure in
18457         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
18458         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
18459         on declaration of new local.
18461 2018-06-24  Bruno Haible  <bruno@clisp.org>
18463         af_alg: Fail in continuable manner on Linux/powerpc64le.
18464         Reported by Assaf Gordon <assafgordon@gmail.com>
18465         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
18466         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
18467         byte send() as the first round.
18469 2018-06-24  Bruno Haible  <bruno@clisp.org>
18471         af_alg: Fix state of stream after sendfile() succeeds.
18472         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
18473         the stream is correctly positioned afterwards.
18474         * modules/crypto/af_alg (Depends-on): Add fflush.
18475         * tests/test-digest.h (test_digest_on_files): Verify that after the
18476         operation the stream is positioned at end of file.
18478 2018-06-24  Jim Meyering  <meyering@fb.com>
18480         canon-host: take GCC9's advice rather than ignoring warning
18481         Pádraig Brady suggested not to ignore this GCC9 advice.
18482         * lib/canon-host.c: Undo preceding change.
18483         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
18485         parse-datetime.y: avoid spurious GCC 9 warning
18486         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
18487         a function local prior to the first "goto fail".  The prior use would
18488         evoke this:
18489         parse-datetime.y: In function 'parse_datetime2':
18490         parse-datetime.y:1791:19: error: jump skips variable initialization \
18491           [-Werror=jump-misses-init]
18492         parse-datetime.y:2385:2: note: label 'fail' defined here
18493         parse-datetime.y:188:43: note: '({anonymous})' declared here
18494         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
18496         canon-host.c: avoid spurious GCC 9 warning
18497         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
18499         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
18500         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
18501         * m4/manywarnings.m4: Remove them.
18502         Otherwise, building coreutils, I would see this:
18503         cc1: error: deprecated command line option '-Wchkp' [-Werror]
18504         cc1: error: -Wabi won't warn about anything [-Werror=abi]
18505         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
18506           which is also used by default
18507         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
18509 2018-06-24  Bruno Haible  <bruno@clisp.org>
18511         af_alg tests: Add another test.
18512         * tests/test-digest.h (test_digest_on_files): Also check a large file
18513         with a skipped header.
18514         * tests/test-md5.c: Include macros.h.
18515         * tests/test-sha1.c: Likewise.
18516         * tests/test-sha256.c: Likewise.
18517         * tests/test-sha512.c: Likewise.
18518         * modules/crypto/md5-tests (Files): Add tests/macros.h.
18519         * modules/crypto/sha1-tests (Files): Likewise.
18520         * modules/crypto/sha256-tests (Files): Likewise.
18521         * modules/crypto/sha512-tests (Files): Likewise.
18523 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18525         maint: clarify comments about sticky EOF
18526         * lib/af_alg.c: Be more direct that we can't
18527         assume stickiness of EOF for portability reasons.
18528         * lib/md5.c: Clarify that this isn't just a glibc issue.
18529         * lib/sha1.c: Likewise.
18530         * lib/sha256.c: Likewise.
18531         * lib/sha512.c: Likewise.
18533 2018-06-24  Bruno Haible  <bruno@clisp.org>
18535         af_alg: Comment and style improvements.
18536         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
18537         (afalg_buffer, afalg_stream): Improve comments.
18539 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18541         af_alg: disable kernel hash functions by default
18542         All the kernel routines were seen to be significantly slower
18543         with these relatively recent components on an i3-2310M system:
18544           kernel-4.10.6-200.fc25.x86_64
18545           openssl-1.0.2m-1.fc25.x86_64
18546         sha1 was nearly twice as slow in the kernel for example.
18547         Further considerations why this should not be the default, at:
18548         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
18550         * m4/af_alg.m4: Require --with-linux-crypto to enable.
18551         * m4/gl-openssl.m4: Tweak accordingly.
18553 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18555         af_alg: avoid hangs when reading from streams
18556         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
18557         and thus avoid doing a fread() when feof() is set.
18558         * lib/md5.c: Ensure feof() is called before fread().
18559         * lib/sha1.c: Likewise.
18560         * lib/sha256.c: Likewise.
18561         * lib/sha512.c: Likewise.
18563 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18565         af_alg: fix error handling when hash not returned
18566         * lib/af_alg.c (afalg_stream): Handle the case where we've
18567         successfully written data to the kernel in the read/write loop,
18568         but the kernel doesn't respond with the hash.
18570 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18572         libc-config: merge from glibc
18573         * lib/cdefs.h (__inline, __restrict):
18574         Copy from current glibc.  This fixes glibc bug 17721,
18575         which Gnulib had already fixed in a different way.
18576         (__nonnull): Lessen the distance from glibc by using the
18577         glibc definition inside an ‘#ifndef __nonnull’.
18578         (__attribute_nonstring__): New macro, copied from
18579         current glibc.
18580         * lib/libc-config.h (__attribute_nonstring__): New undef.
18581         (__restrict): Remove; workaround no longer needed.
18582         Keep the __inline workaround, though, as it uses HAVE___INLINE to
18583         support more compilers than the glibc __inline can.
18585 2018-06-24  Bruno Haible  <bruno@clisp.org>
18587         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
18588         * lib/mbrtowc.c (enc_t): New enum type.
18589         (locale_enc, locale_enc_cached): New functions.
18590         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
18591         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
18592         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
18593         instead.
18594         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
18595         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
18596         * modules/wcwidth (configure.ac): Invoke it.
18598 2018-06-24  Bruno Haible  <bruno@clisp.org>
18600         wchar-single: Fix test failure in wcwidth tests.
18601         * tests/test-wcwidth.c (main): If the wchar-single module is present,
18602         skip the tests in the C locale.
18604 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18606         crypto: mention --without-linux-crypto in --with-openssl --help
18607         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
18608         routines take precedence in --with-openssl help output.
18610 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18612         wchar-single: a new module to enable optimizations in wchar replacements
18613         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
18614         GNULIB_WCHAR_SINGLE is enabled.
18615         * lib/wcwidth.c (wcwidth): Likewise.
18617 2018-06-23  Bruno Haible  <bruno@clisp.org>
18619         libc-config: Fix conflict with FreeBSD include files.
18620         * lib/cdefs.h (__nonnull): Remove definition.
18621         * lib/libc-config.h (__nonnull): Remove undefinition.
18623 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18625         random_r: do not crash if state is unaligned
18626         Problem reported by Bruce Korb in:
18627         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
18628         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
18629         with 'cc -O2 -xmemalign=8s'.
18630         * lib/random_r.c: Include string.h, for memcpy.
18631         (get_int32, set_int32): New functions.
18632         (__srandom_r, __initstate_r, __setstate_r, __random_r):
18633         Use them to avoid assumption that state pointer is aligned.
18634         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
18635         * tests/test-random_r.c (test_failed): New function.
18636         (main): Use it, to test for alignment bugs.
18638         random_r: omit unnecessary include
18639         * lib/random_r.c: Do not include limits.h.
18641         random, random_r: merge from glibc
18642         * lib/random.c, lib/random_r.c:
18643         Include libc-config.h if !_LIBC, not config.h unilaterally.
18644         * lib/random.c:
18645         Do not include stdint.h or time.h; not needed.
18646         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
18647         (unsafe_state): Rename from generator.  All uses changed.
18648         Use C99-style initializers.
18649         (__random, __srandom, __initstate, __setstate): Rename from
18650         non-underscored version, but define it to non-underscored version
18651         on Gnulib.  Add a lock.
18652         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
18653         Likewise.
18654         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
18655         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
18656         (__srandom_r): Use int32_t instead of long int where int32_t will do.
18657         (__random_r): Use uint32 to fix glibc bug 17343.
18658         * modules/random, modules/random_r (Depends-on): Add libc-config.
18659         Depend on stdint only if $HAVE_RANDOM = 0.
18661 2018-06-19  Jim Meyering  <meyering@fb.com>
18663         README-release: also run any check-very-expensive tests
18664         * top/README-release: Adjust instructions so they run the
18665         check-very-expensive tests when there is such a target.
18667 2018-06-18  Bruno Haible  <bruno@clisp.org>
18669         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
18670         * m4/pthread_rwlock_rdlock.m4: Add comment.
18671         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
18672         are reader-preferring in glibc.
18673         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
18674         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
18676 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
18678         crypto: use byteswap
18679         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
18680         * lib/sm3.c: Include <byteswap.h>.
18681         (SWAP): Use its macros rather than reinventing the wheel.
18682         * modules/crypto/md4, modules/crypto/md5-buffer:
18683         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
18684         * modules/crypto/sha512-buffer, modules/crypto/sm3:
18685         (Depends-on): Add byteswap.
18687 2018-06-17  Pádraig Brady  <P@draigBrady.com>
18689         gendocs.sh: fix support for legacy --texi2html
18690         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
18691         to the default makeinfo invocation.
18692         Reported by Bruce Korb
18694 2018-06-17  Bruno Haible  <bruno@clisp.org>
18696         gettext po infrastructure: Update from current gettext git.
18697         Reported by Akim Demaille <akim@lrde.epita.fr>.
18698         * build-aux/po/Makefile.in.in: Update from current gettext git.
18699         * build-aux/po/remove-potcdate.sin: Likewise.
18700         * config/srclist.txt: Temporarily disable sync for these files.
18702 2018-06-17  Bruno Haible  <bruno@clisp.org>
18704         getloadavg: Return 0 on Windows without Cygwin.
18705         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
18707 2018-06-17  Paul Smith  <psmith@gnu.org>
18709         getloadavg: Allow building on Windows without Cygwin
18710         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
18711         * m4/getloadavg.m4: Check for unistd.h.
18713 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
18715         Port crypto/af_alg to GCC 4.8.4
18716         Problem reported by Peter Simons in:
18717         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
18718         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
18720 2018-05-27  Colin Watson  <cjwatson@debian.org>
18722         bootstrap: document source fetching in --help
18723         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
18725 2018-04-09  Colin Watson  <cjwatson@debian.org>
18727         bootstrap: allow non-submodule control of gnulib
18728         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
18729         bootstrap.conf when fetching gnulib using "git clone" or via
18730         GNULIB_SRCDIR.
18732 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18734         crypto: omit stream ops Emacs doesn’t need
18735         * lib/md5.c (md5_stream):
18736         * lib/sha1.c (sha1_stream):
18737         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
18738         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18739         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
18740         defined.  Emacs needs this, as it does not use the stream
18741         operations and doesn’t need all the af_alg stuff we’ve recently
18742         added.  Perhaps a similar change is needed to the other crypto
18743         modules, but this patch changes only those needed for Emacs.
18744         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
18745         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
18746         New modules, used by Emacs.
18747         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18748         * modules/crypto/sha512: Rewrite to depend on the new modules.
18750 2018-05-20  Pádraig Brady  <P@draigBrady.com>
18752         fts: avoid a memory leak edge case
18753         * lib/fts.c (fts_open): Set an appropriate fts_level
18754         so that an immediate fts_close() will free the allocation.
18755         * tests/test-fts.c (fts_dealloc): Add a test case which
18756         will trigger under valgrind or address sanitizer.
18757         Fixes https://bugs.gnu.org/31439
18759 2018-05-20  Bruno Haible  <bruno@clisp.org>
18761         wcwidth tests: Fix link error.
18762         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
18763         $(LIBUNISTRING).
18765 2018-05-20  Bruno Haible  <bruno@clisp.org>
18767         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
18768         * modules/regex (Files): Add m4/glibc21.m4.
18770 2018-05-20  Bruno Haible  <bruno@clisp.org>
18772         localcharset: Optimize.
18773         * lib/localcharset.c (alias_table): Comment out no-op mappings for
18774         platforms where these don't matter. This reduces the table size,
18775         which in turn reduces the lookup time.
18777 2018-05-19  Bruno Haible  <bruno@clisp.org>
18779         localcharset: Map the locale encodings found in newer OSes.
18780         * lib/localcharset.c (alias_table): Add mapping for locale encodings
18781         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
18782         IRIX 6.5, Minix 3.3.
18783         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
18785 2018-05-19  Bruno Haible  <bruno@clisp.org>
18787         localcharset: Move mapping tables into the code. Use a binary search.
18788         * lib/localcharset.h: Document the GNU canonical names for character
18789         encodings here.
18790         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
18791         relocatable.h, configmake.h.
18792         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
18793         macros.
18794         (charset_aliases): Remove variable.
18795         (get_charset_aliases): Remove function.
18796         (struct table_entry): New type.
18797         (alias_table, locale_table): New constants.
18798         (locale_charset): Use the alias_table or locale_table to get the
18799         canonicalized encoding name.
18800         * lib/config.charset: Remove file.
18801         * lib/ref-add.sin: Remove file.
18802         * lib/ref-del.sin: Remove file.
18803         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
18804         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
18805         * modules/localcharset (Notice): Remove.
18806         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
18807         glibc21.m4.
18808         (Depends-on): Remove configmake.
18809         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
18810         (Makefile.am): Simplify.
18811         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
18813 2018-05-19  Bruno Haible  <bruno@clisp.org>
18815         localcharset: Add a manual test.
18816         * tests/test-localcharset.c: New file.
18817         * modules/localcharset-tests: New file.
18819 2018-05-19  Bruno Haible  <bruno@clisp.org>
18821         localcharset: Remove support for obsolete platforms.
18822         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
18823         Mac OS X 10.2. Comment out dubious entry for Solaris.
18825 2018-05-19  Jim Meyering  <meyering@fb.com>
18827         gnupload: adjust comment
18828         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
18829         more likely we'll remove the just-added code in a year or two.
18831 2018-05-19  Bruno Haible  <bruno@clisp.org>
18833         gnupload: Fix "gpg-agent is not available in this session" error.
18834         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
18836 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18838         crypto/af_alg: fix --help
18839         * m4/af_alg.m4: Avoid spurious newline in --help output.
18841 2018-05-13  Bruno Haible  <bruno@clisp.org>
18843         nl_langinfo: Fix compilation error on Android.
18844         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
18845         INT_CURR_SYMBOL, etc. only if these items are defined.
18847 2018-05-13  Bruno Haible  <bruno@clisp.org>
18849         truncate: Fix compilation error on Android.
18850         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
18851         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
18852         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
18853         HAVE_TRUNCATE.
18854         * modules/truncate: Likewise.
18855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
18856         not HAVE_TRUNCATE.
18857         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
18858         HAVE_TRUNCATE.
18859         * doc/posix-functions/truncate.texi: Mention the issue.
18861 2018-05-13  Bruno Haible  <bruno@clisp.org>
18863         pthread: Fix compilation error on Android.
18864         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
18865         recursive inclusion of this file.
18867 2018-05-13  Bruno Haible  <bruno@clisp.org>
18869         posix_spawn: Fix compilation error on Android.
18870         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
18871         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
18872         (posix_spawn_file_actions_t): Consider also the case
18873         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
18875 2018-05-13  Bruno Haible  <bruno@clisp.org>
18877         tsearch: Move from K&R C to ANSI C.
18878         * lib/tsearch.c (tfind): Convert definition to ANSI C.
18880 2018-05-13  Bruno Haible  <bruno@clisp.org>
18882         tsearch: Fix compilation error on Android.
18883         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
18884         is 0.
18885         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
18886         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
18887         GNULIB_defined_tsearch is true.
18888         (twalk): Define only if GNULIB_defined_twalk is true.
18889         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
18890         is 0.
18891         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
18892         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
18893         * modules/search (Makefile.am): Substitute HAVE_TWALK.
18895 2018-05-13  Bruno Haible  <bruno@clisp.org>
18897         imaxdiv: Fix compilation error on Android.
18898         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
18899         is not defined.
18900         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
18901         HAVE_DECL_IMAXDIV, is 0.
18902         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
18903         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
18905 2018-05-13  Bruno Haible  <bruno@clisp.org>
18907         Support selective inclusion mechanism of recent mingw.org header files.
18908         Reported by Eli Zaretskii <eliz@gnu.org>.
18909         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
18910         __need_ssize_t, or __need_time_t is defined, just include the system's
18911         <sys/types.h>.
18912         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
18913         include the system's <locale.h>.
18915 2018-05-13  Bruno Haible  <bruno@clisp.org>
18917         Avoid compilation error due to 'mmap' on Android.
18918         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
18919         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
18920         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
18921         Undefine on Android.
18923 2018-05-13  Bruno Haible  <bruno@clisp.org>
18925         Add cross-compilation guesses for Linux systems without glibc.
18926         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
18927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
18928         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18929         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18930         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
18931         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
18932         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18933         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18934         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
18935         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
18936         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18937         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18938         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
18939         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18940         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18941         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
18942         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18943         * m4/utimens.m4 (gl_UTIMENS): Likewise.
18945 2018-05-13  Bruno Haible  <bruno@clisp.org>
18947         getpagesize: Fix compilation error on Android.
18948         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
18949         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
18950         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
18951         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
18952         HAVE_GETPAGESIZE accordingly.
18953         * modules/getcwd (Files): Add m4/getpagesize.m4.
18955 2018-05-13  Bruno Haible  <bruno@clisp.org>
18957         tcgetsid: Fix compilation error on Android.
18958         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
18959         AC_CHECK_FUNC.
18961 2018-05-13  Bruno Haible  <bruno@clisp.org>
18963         getpass: Fix configure test for Android.
18964         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
18965         AC_CHECK_FUNC.
18967 2018-05-13  Bruno Haible  <bruno@clisp.org>
18969         ffs: Fix compilation error on Android.
18970         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
18972 2018-05-13  Bruno Haible  <bruno@clisp.org>
18974         mkfifo: Fix compilation error on Android.
18975         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
18976         AC_CHECK_FUNC.
18978 2018-05-13  Bruno Haible  <bruno@clisp.org>
18980         c-strtod: Fix configure test for Android.
18981         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
18982         AC_CHECK_FUNC.
18984 2018-05-13  Bruno Haible  <bruno@clisp.org>
18986         random: Fix compilation error on Android.
18987         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
18988         AC_CHECK_FUNC.
18990 2018-05-13  Bruno Haible  <bruno@clisp.org>
18992         grantpt: Fix compilation error on Android.
18993         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
18994         AC_CHECK_FUNC.
18996 2018-05-13  Bruno Haible  <bruno@clisp.org>
18998         stdioext: Fix compilation errors with newer Android headers.
18999         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
19000         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
19001         fallbacks for Android.
19002         * lib/fpending.c: Update comments.
19003         * lib/fpurge.c: Likewise.
19004         * lib/freadable.h: Likewise.
19005         * lib/freadable.c: Likewise.
19006         * lib/freadahead.c: Likewise.
19007         * lib/freading.h: Likewise.
19008         * lib/freadptr.c: Likewise.
19009         * lib/fseterr.c: Likewise.
19010         * lib/fwritable.h: Likewise.
19011         * lib/fwritable.c: Likewise.
19012         * lib/fwriting.h: Likewise.
19013         * lib/fwriting.c: Likewise.
19015 2018-05-13  Bruno Haible  <bruno@clisp.org>
19017         doc: Add info about Android versions 2.0 to 8.1.
19018         * doc/**/*.texi: Add info about functions in all released versions of
19019         Bionic.
19021 2018-05-12  Bruno Haible  <bruno@clisp.org>
19023         fseeko: On mingw, don't use the hidden function _fseeki64.
19024         Reported by Eli Zaretskii <eliz@gnu.org>.
19025         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
19026         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
19028 2018-05-12  Bruno Haible  <bruno@clisp.org>
19030         glob: Choose 'dirent_type' in a way that works better on mingw.
19031         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
19032         * lib/glob.c (dirent_type): Define as uint_fast32_t.
19034 2018-05-12  Bruno Haible  <bruno@clisp.org>
19036         execute, spawn-pipe: Avoid warning about redefining 'close'.
19037         Reported by Eli Zaretskii <eliz@gnu.org>.
19038         * lib/execute.c: Undefine 'close' before redefining it.
19039         * lib/spawn-pipe.c: Likewise.
19041 2018-05-12  Bruno Haible  <bruno@clisp.org>
19043         nanosleep: Avoid test failure on mingw when it has nanosleep.
19044         Reported by Eli Zaretskii <eliz@gnu.org>.
19045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
19046         If it does not exist, use a simpler test program that does not call
19047         alarm().
19049 2018-05-10  Bruno Haible  <bruno@clisp.org>
19051         lock, cond, thread, tls: Use a different symbol as libpthread witness.
19052         Reported by Devin Hussey <husseydevin@gmail.com>.
19053         Based on a patch by Paul Eggert.
19054         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
19055         as witness of libpthread.
19056         * lib/glthread/cond.h (pthread_in_use): Likewise.
19057         * lib/glthread/thread.h (pthread_in_use): Likewise.
19058         * lib/glthread/tls.h (pthread_in_use): Likewise.
19060 2018-05-10  Bruno Haible  <bruno@clisp.org>
19062         cond tests: Fix compilation error on Solaris.
19063         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
19064         macro.
19066 2018-05-10  Bruno Haible  <bruno@clisp.org>
19068         doc: Add partial info about Android 4.3.
19069         * doc/*-functions/*.texi: Add info about functions that were added
19070         to Bionic between Android 4.3 and Android 9.0.
19072 2018-05-10  Bruno Haible  <bruno@clisp.org>
19074         doc: Add info about Android 9.0.
19075         * doc/**/*.texi: Add info about functions and headers in Bionic from
19076         Android 9.0.
19078 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19080         af_alg: fix my typo in afalg_buffer
19081         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
19082         (afalg_stream): Simplify and avoid the need for a runtime test
19083         at the end.
19085         af_alg: recover better from crypto failures
19086         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
19087         input stream is seekable, by repositioning the stream back to
19088         where it was, possibly by just calling sendfile with an offset
19089         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
19090         cases, which lets our callers try again with user-mode code.
19091         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
19092         instead of on fflush and lseek.
19094         af_alg: distiguish I/O errors better
19095         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
19096         not -EIO, if it’s OK for the caller to try again with user-mode code.
19097         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
19098         some other error number) if fflush fails, as the caller should not
19099         try again that case.
19101         af_alg: avoid gotos
19102         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
19103         gotos, as they were a source of unreliability and made the code a
19104         bit harder to follow.
19106         af_alg: don’t leak file descriptors into children
19107         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
19108         This code should be compiled only on recent GNU/Linux platforms
19109         so we shouldn’t have to also depend on the accept4 module.
19111         af_alg: coalesce socket creation
19112         * lib/af_alg.c (alg_socket): New function.
19113         (afalg_buffer, afalg_stream): Use it.  This avoids some
19114         code duplication and gotos.
19116         af_alg: fix file descriptor leak
19117         * lib/af_alg.c (afalg_stream): Close leak.
19119         af_alg: Pacify --enable-gcc-warnings on GCC 8
19120         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
19121         and checking to pacify gcc -Wjump-misses-init on GCC 8.
19123 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19125         af_alg: Pacify --enable-gcc-warnings
19126         Problem reported by Assaf Gordon in:
19127         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
19128         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
19129         gcc -Wjump-misses-init.
19130         * lib/sha512.c (shaxxx_stream): Now static.
19132 2018-05-06  Bruno Haible  <bruno@clisp.org>
19134         af_alg: Add ability to use Linux kernel crypto API on data in memory.
19135         * lib/af_alg.h (afalg_buffer): New declaration.
19136         * lib/af_alg.c (afalg_buffer): New function.
19138 2018-05-06  Bruno Haible  <bruno@clisp.org>
19140         af_alg: Avoid warnings.
19141         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
19142         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
19144 2018-05-06  Bruno Haible  <bruno@clisp.org>
19146         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
19147         * tests/bench-digest.h: New file.
19148         * tests/bench-md5.c: New file.
19149         * tests/bench-sha1.c: New file.
19150         * tests/bench-sha224.c: New file.
19151         * tests/bench-sha256.c: New file.
19152         * tests/bench-sha384.c: New file.
19153         * tests/bench-sha512.c: New file.
19154         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
19155         tests/bench-digest.h.
19156         (Depends-on): Add getrusage, gettimeofday.
19157         (Makefile.am): Add variables to build bench-md5.
19158         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
19159         tests/bench-digest.h.
19160         (Depends-on): Add getrusage, gettimeofday.
19161         (Makefile.am): Add variables to build bench-sha1.
19162         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
19163         tests/bench-sha256.c, tests/bench-digest.h.
19164         (Depends-on): Add getrusage, gettimeofday.
19165         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
19166         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
19167         tests/bench-sha512.c, tests/bench-digest.h.
19168         (Depends-on): Add getrusage, gettimeofday.
19169         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
19171 2018-05-06  Bruno Haible  <bruno@clisp.org>
19173         af_alg: Fix a resource leak.
19174         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
19175         New local variable 'result'.
19177 2018-05-06  Bruno Haible  <bruno@clisp.org>
19179         af_alg: Fix bug with streams that are not at position 0.
19180         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
19181         assume that the stream is positioned at position 0.
19182         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
19183         of the stream.
19184         * lib/md5.h (md5_stream): Likewise.
19185         * lib/sha1.h (sha1_stream): Likewise.
19186         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
19187         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
19188         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
19190         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
19191         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
19192         stream that is not positioned at the beginning.
19194 2018-05-06  Bruno Haible  <bruno@clisp.org>
19196         af_alg: Add configure option to enable/disable use of Linux crypto API.
19197         Suggested by Assaf Gordon <assafgordon@gmail.com>.
19198         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
19199         USE_LINUX_CRYPTO_API.
19200         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
19201         * lib/af_alg.c: Likewise.
19203 2018-05-06  Bruno Haible  <bruno@clisp.org>
19205         Followup to 'af_alg: New module.'.
19206         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
19207         * modules/crypto/sha1 (Depends-on): Likewise.
19208         * modules/crypto/sha256 (Depends-on): Likewise.
19209         * modules/crypto/sha512 (Depends-on): Likewise.
19211 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19213         crypto/{md5,sha1,sha256,sha512}: simplify
19214         * lib/md5.c (md5_stream):
19215         * lib/sha1.c (sha1_stream):
19216         * lib/sha256.c (shaxxx_stream):
19217         Simplify, partly by assuming C99.
19218         * lib/sha256.c (shaxxx_stream):
19219         New function, which implements both sha256 and sha224.
19220         Simplify, partly by assuming C99.
19221         (sha256_stream, sha224_stream):
19222         Use it to avoid code duplication, removing a FIXME.
19223         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19224         Likewise.
19226         af_alg: Improve comments.
19227         * lib/af_alg.h: Use imperatives and tighten up wording.
19229 2018-05-05  Bruno Haible  <bruno@clisp.org>
19231         af_alg: Improve comments.
19232         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
19234 2018-05-05  Bruno Haible  <bruno@clisp.org>
19236         af_alg: New module.
19237         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
19238         * lib/af_alg.c: Include "af_alg.h" before the other header files.
19239         * lib/md5.c: Include "af_alg.h" unconditionally.
19240         (md5_stream): Invoke afalg_stream unconditionally.
19241         * lib/sha1.c: Include "af_alg.h" unconditionally.
19242         (sha1_stream): Invoke afalg_stream unconditionally.
19243         * lib/sha256.c: Include "af_alg.h" unconditionally.
19244         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
19245         * lib/sha512.c: Include "af_alg.h" unconditionally.
19246         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
19247         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
19248         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
19249         * modules/crypto/af_alg: New file.
19250         * modules/crypto/md5 (Files): Remove files that are now in the
19251         'crypto/af_alg' module.
19252         (Depends-on): Add crypto/af_alg.
19253         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19254         (Makefile.am): Don't mention af_alg.c here.
19255         * modules/crypto/sha1 (Files): Remove files that are now in the
19256         'crypto/af_alg' module.
19257         (Depends-on): Add crypto/af_alg.
19258         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19259         (Makefile.am): Don't mention af_alg.c here.
19260         * modules/crypto/sha256 (Files): Remove files that are now in the
19261         'crypto/af_alg' module.
19262         (Depends-on): Add crypto/af_alg.
19263         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19264         (Makefile.am): Don't mention af_alg.c here.
19265         * modules/crypto/sha512 (Files): Remove files that are now in the
19266         'crypto/af_alg' module.
19267         (Depends-on): Add crypto/af_alg.
19268         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19269         (Makefile.am): Don't mention af_alg.c here.
19271 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19273         crypto tests: pacify GCC
19274         * tests/test-digest.h (test_digest_on_files):
19275         Don’t assume digest size fits in int (!).
19277         af_alg: minor style improvements
19278         * lib/af_alg.c (afalg_stream): Prefer C99 style
19279         decl-after-statement, since we’re already assuming C99.  Clarify
19280         by strengthening the bind test and omit unnecessary assignment.
19282 2018-05-05  Bruno Haible  <bruno@clisp.org>
19284         af_alg: Fix bug on empty files.
19285         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
19286         stream is empty.
19288 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19290         sys-limits.h: new file for crypto and safe I/O
19291         * lib/af_alg.c: Include sys-limits.h.
19292         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
19293         (afalg_stream): Also reject negative sizes for sendfile; they
19294         should not happen and the code is a bit cleaner and faster this way.
19295         * lib/safe-read.c: Include sys-limits.h.
19296         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
19297         * lib/sys-limits.h: New file, with values and commentary derived
19298         from the old safe-read.c and from GNU Emacs sysdep.c.
19299         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19300         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
19301         Add lib/sys-limits.h to Files section.
19303 2018-05-05  Bruno Haible  <bruno@clisp.org>
19305         af_alg: Improve function signature.
19306         * lib/af_alg.h (afalg_stream): Swap second and third argument.
19307         * lib/af_alg.c (afalg_stream): Likewise.
19308         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
19310 2018-05-05  Bruno Haible  <bruno@clisp.org>
19312         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
19313         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
19314         * modules/crypto/sha1 (Depends-on): Likewise.
19315         * modules/crypto/sha256 (Depends-on): Likewise.
19316         * modules/crypto/sha512 (Depends-on): Likewise.
19318 2018-05-05  Bruno Haible  <bruno@clisp.org>
19320         crypto/{md5,sha1,sha256,sha512}: Fix module description.
19321         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
19322         * modules/crypto/sha1 (Depends-on): Likewise.
19323         * modules/crypto/sha256 (Depends-on): Likewise.
19324         * modules/crypto/sha512 (Depends-on): Likewise.
19326 2018-05-05  Bruno Haible  <bruno@clisp.org>
19328         af_alg: Add documentation.
19329         * lib/af_alg.h: Add comments.
19331 2018-05-05  Bruno Haible  <bruno@clisp.org>
19333         sha512: Add tests.
19334         * tests/test-sha512.c: New file.
19335         * modules/crypto/sha512-tests: New file.
19337 2018-05-05  Bruno Haible  <bruno@clisp.org>
19339         sha256: Add tests.
19340         * tests/test-sha256.c: New file.
19341         * modules/crypto/sha256-tests: New file.
19343 2018-05-05  Bruno Haible  <bruno@clisp.org>
19345         sha1 tests: Add test for sha1_stream.
19346         * tests/test-sha1.c: Include test-digest.h.
19347         (main): Invoke test_digest_on_files on 'sha1_stream'.
19348         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
19350 2018-05-05  Bruno Haible  <bruno@clisp.org>
19352         md5 tests: Add test for md5_stream.
19353         * tests/test-digest.h: New file.
19354         * tests/test-md5.c: Include test-digest.h.
19355         (main): Invoke test_digest_on_files on 'md5_stream'.
19356         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
19358 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19360         md5sum: Use AF_ALG when available.
19361         * lib/md5.c: Include af_alg.h.
19362         (md5_stream): Use afalg_stream when available.
19363         * modules/crypto/md5 (Files): Add the af_alg files.
19364         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19365         (Makefile.am): Add af_alg.c.
19367 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19369         sha512sum: Use AF_ALG when available.
19370         * lib/sha512.c: Include af_alg.h.
19371         (sha512_stream, sha384_stream): Use afalg_stream when available.
19372         * modules/crypto/sha512 (Files): Add the af_alg files.
19373         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19374         (Makefile.am): Add af_alg.c.
19376 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19378         sha256sum: Use AF_ALG when available.
19379         * lib/sha256.c: Include af_alg.h.
19380         (sha256_stream, sha224_stream): Use afalg_stream when available.
19381         * modules/crypto/sha256 (Files): Add the af_alg files.
19382         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19383         (Makefile.am): Add af_alg.c.
19385 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19387         sha1sum: Use AF_ALG when available.
19388         * lib/af_alg.h: New file.
19389         * lib/af_alg.c: New file.
19390         * lib/sha1.c: Include af_alg.h.
19391         (sha1_stream): Use afalg_stream when available.
19392         * m4/linux-if-alg.m4: New file.
19393         * modules/crypto/sha1 (Files): Add the new files.
19394         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19395         (Makefile.am): Add af_alg.c.
19397 2018-05-05  Bruno Haible  <bruno@clisp.org>
19399         all: Replace more http URLs by https URLs.
19400         * lib/localename.c: Use https: URL.
19401         * lib/timespec.h: Likewise.
19403 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
19405         maint: port more modules to GCC 8
19406         * lib/dirname.h (base_name):
19407         * lib/exclude.h (new_exclude):
19408         * lib/xstrndup.h (xstrndup):
19409         Add malloc attribute.
19410         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
19411         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
19412         This pacifies GCC 8.
19413         * m4/gnulib-common.m4 (gl_COMMON_BODY):
19414         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
19416 2018-05-03  Bruno Haible  <bruno@clisp.org>
19418         Simplify code. Drop support for Borland C++ on Windows.
19419         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
19420         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
19421         'defined _WIN32'.
19422         * lib/canonicalize-lgpl.c: Likewise.
19423         * lib/classpath.c: Likewise.
19424         * lib/clean-temp.c: Likewise.
19425         * lib/csharpexec.c: Likewise.
19426         * lib/ctime.c: Likewise.
19427         * lib/dosname.h: Likewise.
19428         * lib/dup2.c: Likewise.
19429         * lib/errno.in.h: Likewise.
19430         * lib/error.c: Likewise.
19431         * lib/euidaccess.c: Likewise.
19432         * lib/execute.c: Likewise.
19433         * lib/fcntl.in.h: Likewise.
19434         * lib/fcntl.c: Likewise.
19435         * lib/filename.h: Likewise.
19436         * lib/findprog.c: Likewise.
19437         * lib/flock.c: Likewise.
19438         * lib/fopen.c: Likewise.
19439         * lib/freopen.c: Likewise.
19440         * lib/fstat.c: Likewise.
19441         * lib/fsync.c: Likewise.
19442         * lib/gc-gnulib.c: Likewise.
19443         * lib/get-rusage-data.c: Likewise.
19444         * lib/getaddrinfo.c: Likewise.
19445         * lib/getdelim.c: Likewise.
19446         * lib/getdtablesize.c: Likewise.
19447         * lib/gethostname.c: Likewise.
19448         * lib/getlogin.c: Likewise.
19449         * lib/getlogin_r.c: Likewise.
19450         * lib/getopt.c: Likewise.
19451         * lib/getpagesize.c: Likewise.
19452         * lib/getpass.c: Likewise.
19453         * lib/getrusage.c: Likewise.
19454         * lib/gettimeofday.c: Likewise.
19455         * lib/glob.c: Likewise.
19456         * lib/inttypes.in.h: Likewise.
19457         * lib/isapipe.c: Likewise.
19458         * lib/javaexec.c: Likewise.
19459         * lib/link.c: Likewise.
19460         * lib/localcharset.c: Likewise.
19461         * lib/localename.h: Likewise.
19462         * lib/localename.c: Likewise.
19463         * lib/localtime.c: Likewise.
19464         * lib/lseek.c: Likewise.
19465         * lib/mbsinit.c: Likewise.
19466         * lib/mkdir.c: Likewise.
19467         * lib/msvc-nothrow.h: Likewise.
19468         * lib/nanosleep.c: Likewise.
19469         * lib/nl_langinfo.c: Likewise.
19470         * lib/nonblocking.c: Likewise.
19471         * lib/nproc.c: Likewise.
19472         * lib/open.c: Likewise.
19473         * lib/openpty.c: Likewise.
19474         * lib/pathmax.h: Likewise.
19475         * lib/pipe-filter-aux.c: Likewise.
19476         * lib/pipe-filter-gi.c: Likewise.
19477         * lib/pipe-filter-ii.c: Likewise.
19478         * lib/pipe.c: Likewise.
19479         * lib/pipe2.c: Likewise.
19480         * lib/poll.c: Likewise.
19481         * lib/popen.c: Likewise.
19482         * lib/posix_openpt.c: Likewise.
19483         * lib/printf-parse.c: Likewise.
19484         * lib/progreloc.c: Likewise.
19485         * lib/putenv.c: Likewise.
19486         * lib/read.c: Likewise.
19487         * lib/relocatable.c: Likewise.
19488         * lib/rename.c: Likewise.
19489         * lib/same-inode.h: Likewise.
19490         * lib/secure_getenv.c: Likewise.
19491         * lib/select.c: Likewise.
19492         * lib/sethostname.c: Likewise.
19493         * lib/setlocale.c: Likewise.
19494         * lib/sigaction.c: Likewise.
19495         * lib/sigprocmask.c: Likewise.
19496         * lib/sleep.c: Likewise.
19497         * lib/spawn-pipe.h: Likewise.
19498         * lib/spawn-pipe.c: Likewise.
19499         * lib/spawni.c: Likewise.
19500         * lib/stat-time.h: Likewise.
19501         * lib/stat-w32.c: Likewise.
19502         * lib/stat.c: Likewise.
19503         * lib/stdio.in.h: Likewise.
19504         * lib/stdio-impl.h: Likewise.
19505         * lib/stdio-read.c: Likewise.
19506         * lib/stdio-write.c: Likewise.
19507         * lib/stdlib.in.h: Likewise.
19508         * lib/strerror_r.c: Likewise.
19509         * lib/strftime-fixes.c: Likewise.
19510         * lib/sys_stat.in.h: Likewise.
19511         * lib/sys_types.in.h: Likewise.
19512         * lib/sys_wait.in.h : Likewise.
19513         * lib/system-quote.h: Likewise.
19514         * lib/system-quote.c: Likewise.
19515         * lib/tmpdir.c: Likewise.
19516         * lib/tzset.c: Likewise.
19517         * lib/uname.c: Likewise.
19518         * lib/unistd.in.h: Likewise.
19519         * lib/utime.in.h: Likewise.
19520         * lib/utime.c: Likewise.
19521         * lib/utimecmp.c: Likewise.
19522         * lib/utimens.c: Likewise.
19523         * lib/vasnprintf.c: Likewise.
19524         * lib/vma-iter.h: Likewise.
19525         * lib/vma-iter.c: Likewise.
19526         * lib/wait-process.c: Likewise.
19527         * lib/wcsftime.c: Likewise.
19528         * lib/wctype.in.h: Likewise.
19529         * lib/write.c: Likewise.
19530         * tests/nap.h: Likewise.
19531         * tests/test-cloexec.c: Likewise.
19532         * tests/test-dup-safer.c: Likewise.
19533         * tests/test-dup2.c: Likewise.
19534         * tests/test-dup3.c: Likewise.
19535         * tests/test-fcntl.c: Likewise.
19536         * tests/test-get-rusage-data.c: Likewise.
19537         * tests/test-getaddrinfo.c: Likewise.
19538         * tests/test-getlogin.h: Likewise.
19539         * tests/test-isatty.c: Likewise.
19540         * tests/test-localename.c: Likewise.
19541         * tests/test-mbrtowc-w32.c: Likewise.
19542         * tests/test-nonblocking.c: Likewise.
19543         * tests/test-nonblocking-pipe-main.c: Likewise.
19544         * tests/test-nonblocking-socket-main.c: Likewise.
19545         * tests/test-nonblocking-socket.h: Likewise.
19546         * tests/test-pipe.c: Likewise.
19547         * tests/test-pipe2.c: Likewise.
19548         * tests/test-poll.c: Likewise.
19549         * tests/test-pthread_sigmask1.c: Likewise.
19550         * tests/test-select.h: Likewise.
19551         * tests/test-sethostname2.c: Likewise.
19552         * tests/test-sigprocmask.c: Likewise.
19553         * tests/test-spawn-pipe-child.c: Likewise.
19554         * tests/test-stat-time.c: Likewise.
19555         * tests/test-system-quote-main.c: Likewise.
19556         * tests/test-utimens-common.h: Likewise.
19557         * tests/test-wcrtomb-w32.c: Likewise.
19558         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
19559         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19560         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
19561         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
19562         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
19563         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19564         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19565         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19566         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19567         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19568         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
19569         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
19570         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
19571         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19572         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
19573         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19575 2018-05-02  Bruno Haible  <bruno@clisp.org>
19577         localename: Fix test failures on mingw.
19578         * lib/localename.c (gl_locale_name_thread): Remove code specific to
19579         native Windows.
19580         (gl_locale_name_posix): Move code specific to native Windows here.
19581         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
19582         Accept result without charset suffix, as it appears on mingw.
19584 2018-04-28  Paul Smith  <psmith@gnu.org>
19586         bootstrap: Avoid gnulib operations if not needed
19587         * build-aux/bootstrap: Remove unused variable gnulib_mk.
19588         Set $gnulib_extra_files early so it can be overridden in .conf.
19589         Remove redundant --import flag from $gnulib_tool_options.
19590         Set $use_gnulib to false if no gnulib modules or files are needed.
19591         If $use_gnulib is false, don't do anything related to gnulib.
19592         A lot of this is just whitespace (indentation) changes.
19594 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19596         manywarnings: port to GCC 8.0
19597         * build-aux/gcc-warning.spec: Add -Wcatch-value,
19598         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
19599         fact that the GCC help message now mentions operands for
19600         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
19601         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
19602         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
19603         and -Wunused-const-variable.
19604         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
19605         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
19606         -Wmissing-attributes, -Wmultistatement-macros,
19607         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
19608         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
19610 2018-04-24  Bruno Haible  <bruno@clisp.org>
19612         sys_socket: Make SO_REUSEPORT available across platforms.
19613         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19614         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
19615         * doc/posix-headers/sys_socket.texi: Mention the issue.
19616         * tests/test-poll.c (SO_REUSEPORT): Remove.
19617         * tests/test-select.h: Include <sys/socket.h>.
19618         (SO_REUSEPORT): Remove.
19619         * modules/select-tests (Depends-on): Add 'sys_socket'.
19621 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
19623         localcharset: short-circuit the search for an alias on a Mac
19624         * lib/localcharset.c (get_charset_aliases): Add a tautological
19625         UTF-8 entry to speed up the search for this case.
19626         Most machines default to a UTF-8 locale nowadays, so begin the
19627         list of aliases with a dummy UTF-8 entry so it will be found
19628         immediately and a time-consuming search through the rest of
19629         the list is avoided.
19631 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19633         fts: add comment
19634         * lib/fts.c (fts_build): Explain why ==, not >.
19635         See remark by Bernhard Voelker in:
19636         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
19638         fts: fix bug in find across filesystems
19639         This fixes a bug I introduced last summer.
19640         Problem reported by Kamil Dudka in:
19641         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
19642         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
19643         (leaf_optimization):
19644         New arg for file descriptor.  All callers changed.
19645         (fts_build): Check for whether inodes should be sorted
19646         before closing the directory.
19648 2018-04-07  Bruno Haible  <bruno@clisp.org>
19650         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
19651         Reported by Genki Sky <sky@genki.is>.
19652         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
19653         version 0.9.10 or newer.
19654         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
19655         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
19656         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
19657         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
19658         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
19660 2018-04-07  Bruno Haible  <bruno@clisp.org>
19662         execute: Update comment.
19663         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
19665 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19667         fts: treat CIFS like NFS
19668         Problem reported by Kamil Dudka in:
19669         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
19670         * lib/fts.c (S_MAGIC_CIFS): New macro.
19671         (dirent_inode_sort_may_be_useful, leaf_optimization):
19672         Treat CIFS like NFS.
19674 2018-03-28  Bruno Haible  <bruno@clisp.org>
19676         c-stack: Fix possible build failure on some platforms.
19677         * lib/c-stack.c (die): Define whenever this function is referenced.
19679 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
19681         time_rz: fix workaround for Mac OS X 10.6 infloop
19682         Problems reported by Charles A. Roelli (Bug#27736#117).
19683         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
19684         Also, discard output, which clutters the 'configure' log.
19686 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
19688         havelib: port to Solaris 10 /bin/sh
19689         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
19690         instead of '! test EXPR'.
19692 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19694         time_rz: work around Mac OS X 10.6 infloop
19695         * doc/posix-functions/localtime.texi:
19696         * doc/posix-functions/localtime_r.texi: Mention the bug.
19697         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
19698         better to fix localtime and localtime_r instead, but that would be
19699         more work and is not needed to fix the Emacs problem.
19700         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
19702 2018-03-24  Jim Meyering  <meyering@fb.com>
19704         test-version-etc.sh: don't use diff directly: use init.sh's compare
19705         We'd rather not sacrifice readable "diff -u" output even for
19706         "diff -c" output (not supported by busybox) or for even less
19707         readable ed-style "diff" output.  So use init.sh's compare function
19708         * tests/test-version-etc.sh: Source init.sh and add "." to path.
19709         Remove "./" from invocation of test-version-etc, so we use path.
19710         And s/diff/compare/.
19711         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
19712         to get init.sh.
19713         Prompted by Eric Blake's comments in
19714         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
19716 2018-03-24  Bruno Haible  <bruno@clisp.org>
19718         javacomp-script, javacomp: Add support for Java 10.
19719         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
19720         target-version 10.
19721         * lib/javaversion.h: Update comments.
19722         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19723         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19724         TARGET_VERSION_BOUND, target_version_index,
19725         corresponding_classfile_version): Accept source_version 10 and
19726         target_version 10.
19727         * lib/javacomp.h: Update comments accordingly.
19729 2018-03-24  Bruno Haible  <bruno@clisp.org>
19731         javacomp-script, javacomp: Update comments.
19732         * m4/javacomp.m4: Update comments regarding gcj.
19733         * lib/javacomp.h: Likewise.
19735 2018-03-24  Bruno Haible  <bruno@clisp.org>
19737         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
19738         * lib/javaversion.h: Update comments.
19739         * lib/javacomp.h: Likewise.
19740         * lib/javacomp.c (default_target_version, source_version_index,
19741         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
19742         "1.9".
19743         (TARGET_VERSION_BOUND): Bump to 9.
19744         (target_version_index, corresponding_classfile_version): Recognize "9"
19745         instead of "1.9".
19746         (get_source_version_for_javac): New function.
19747         (is_envjavac_nongcj_usable, is_javac_usable): Add
19748         source_version_for_javac argument.
19749         (compile_java_class): Determine and pass source_version_for_javac.
19750         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
19751         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
19752         appropriate.
19754 2018-03-23  Jim Meyering  <meyering@fb.com>
19756         test-version-etc.sh: port to diff without -c
19757         * tests/test-version-etc.sh: Don't use diff's -c option.
19758         This caused spurious test failure on Alpine Linux, which
19759         uses busybox's diff. Reported by Assaf Gordon in
19760         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
19762 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19764         c-stack: port to recent GCC build
19765         Problem reported by The Fireplace (Bug#30913).
19766         * lib/c-stack.c (die): Define only if used.
19768 2018-03-20  Bruno Haible  <bruno@clisp.org>
19770         euidaccess: Port to native Windows.
19771         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
19772         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
19774 2018-03-19  Bruno Haible  <bruno@clisp.org>
19776         javacomp: Add support for Java 7, 8, 9.
19777         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19778         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19779         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
19780         and target_version 1,7, 1.8, 1.9.
19781         * lib/javacomp.h: Update comments accordingly.
19783 2018-03-19  Bruno Haible  <bruno@clisp.org>
19785         javacomp-script: Add support for Java 9.
19786         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
19787         target-version 1.9.
19789 2018-03-16  Bruno Haible  <bruno@clisp.org>
19791         glob: Don't compile replacements on recent glibc systems.
19792         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
19793         REPLACE_GLOB is 0, include the system's <glob.h> and use
19794         _GL_CXXALIAS_SYS.
19795         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
19796         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
19797         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
19798         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
19799         Remove snippet/warn-on-use.
19800         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
19801         (Makefile.am): Create glob.h always. Update list of substitutions in
19802         glob.h. Don't depend on $(WARN_ON_USE_H).
19804 2018-03-16  Bruno Haible  <bruno@clisp.org>
19806         glob: Fix link error on native Windows.
19807         * modules/glob (Depends-on): Add 'lstat'.
19809 2018-03-15  Bruno Haible  <bruno@clisp.org>
19811         glob: Fix compilation error in C++ mode.
19812         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
19814 2018-03-15  Bruno Haible  <bruno@clisp.org>
19816         host-cpu-c-abi: Support for RISC-V CPU.
19817         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
19818         riscv32 and riscv64 ABIs.
19819         References:
19820         https://github.com/riscv/riscv-toolchain-conventions
19821         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
19822         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
19824 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19826         fflush: be more paranoid about libio.h change
19827         Suggested by Eli Zaretskii in:
19828         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
19829         * lib/fbufmode.c (fbufmode):
19830         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19831         (disable_seek_optimization, rpl_fflush):
19832         * lib/fpending.c (__fpending):
19833         * lib/fpurge.c (fpurge):
19834         * lib/freadable.c (freadable):
19835         * lib/freadahead.c (freadahead):
19836         * lib/freading.c (freading):
19837         * lib/freadptr.c (freadptr):
19838         * lib/freadseek.c (freadptrinc):
19839         * lib/fseeko.c (fseeko):
19840         * lib/fseterr.c (fseterr):
19841         * lib/fwritable.c (fwritable):
19842         * lib/fwriting.c (fwriting):
19843         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
19845 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19847         maint: write-file-hooks -> before-save-hook
19848         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
19849         it's time to use the recommended replacement.
19850         Problem reported by Glenn Morris in:
19851         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
19852         * build-aux/announce-gen, build-aux/bootstrap:
19853         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
19854         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
19855         * build-aux/gnu-web-doc-update, build-aux/gnupload:
19856         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
19857         * build-aux/update-copyright, build-aux/useless-if-before-free:
19858         * build-aux/vc-list-files:
19859         Update hook usage for files where Gnulib is the canonical source.
19861 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19863         binary-io: pacify gcc -Wunused-parameter
19864         Problem reported by Reuben Thomas in:
19865         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
19866         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
19867         Use _GL_UNUSED where appropriate.
19869         fflush: adjust to glibc 2.28 libio.h removal
19870         Problem reported by Daniel P. Berrangé in:
19871         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
19872         * lib/fbufmode.c (fbufmode):
19873         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19874         (disable_seek_optimization, rpl_fflush):
19875         * lib/fpending.c (__fpending):
19876         * lib/fpurge.c (fpurge):
19877         * lib/freadable.c (freadable):
19878         * lib/freadahead.c (freadahead):
19879         * lib/freading.c (freading):
19880         * lib/freadptr.c (freadptr):
19881         * lib/freadseek.c (freadptrinc):
19882         * lib/fseeko.c (fseeko):
19883         * lib/fseterr.c (fseterr):
19884         * lib/fwritable.c (fwritable):
19885         * lib/fwriting.c (fwriting):
19886         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
19887         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
19888         Define if not already defined.
19890 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
19892         environ: fix link error on 32-bit Cygwin
19893         Problem reported for GNU Emacs by Ken Brown in:
19894         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
19895         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
19897 2018-02-24  Bruno Haible  <bruno@clisp.org>
19899         mbrtowc tests: Fix regression on glibc.
19900         Reported by Bernhard Voelker.
19901         * tests/test-mbrtowc.c (main): Fix expected value of wc.
19903 2018-02-24  Bruno Haible  <bruno@clisp.org>
19905         striconveha, uniconv/*: Avoid test failures on musl libc.
19906         * tests/iconvsupport.c: New file.
19907         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
19908         does not support the ISO-2022-JP-2 encoding.
19909         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
19910         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
19911         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
19912         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
19913         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
19914         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
19915         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
19916         (Makefile.am): Link test-striconveha with iconvsupport.o.
19917         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
19918         tests/iconvsupport.c.
19919         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
19920         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
19921         tests/iconvsupport.c.
19922         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
19923         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
19924         tests/iconvsupport.c.
19925         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
19926         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
19927         tests/iconvsupport.c.
19928         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
19929         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
19930         tests/iconvsupport.c.
19931         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
19932         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
19933         tests/iconvsupport.c.
19934         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
19936 2018-02-24  Bruno Haible  <bruno@clisp.org>
19938         localename: Add support for musl libc.
19939         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
19940         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
19941         on Linux platforms which define NL_LOCALE_NAME.
19943 2018-02-24  Bruno Haible  <bruno@clisp.org>
19945         mbrtowc tests: Don't make assumptions about the charset the C locale.
19946         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
19947         particular mapping in the C locale.
19949 2018-02-24  Bruno Haible  <bruno@clisp.org>
19951         ptsname_r: Don't expect that this function sets errno.
19952         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
19953         from ptsname_r().
19954         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
19956 2018-02-23  Bruno Haible  <bruno@clisp.org>
19958         xmalloca: pacify gcc -Wbad-function-cast
19959         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
19961 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
19963         nl_langinfo: pacify gcc -Wunused-function
19964         * lib/nl_langinfo.c (ctype_codeset): Do not define if
19965         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
19966         this case.  Without this change, I got a diagnostic when building
19967         coreutils on Fedora 27 with gcc 7.3.1 20180130.
19969         same: pacify gcc -Wunused-variable
19970         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
19971         Omit unused variable.
19973         malloca: pacify gcc -Wbad-function-cast
19974         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
19975         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
19976         To pacify GCC, I had to cast alloca’s result to some type other
19977         than void * before casting that to uintptr_t.
19979 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19981         utimecmp: new function utimecmpat
19982         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
19983         Do not include utimens.h.
19984         (utimecmpat): New function, generalizing utimecmp.
19985         (utimecmp): Now a thin layer around utimecmpat.
19986         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
19987         utimensat instead of on lstat and utimens.
19989         same: new function same_nameat
19990         * lib/same.c: Include fcntl.h.
19991         * lib/same.c (same_nameat): New function, generalizing same_name.
19992         (same_name): Now a thin layer around same_nameat.
19993         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
19994         * modules/same (Depends-on): Depend on fstatat, openat.
19996 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
19998         warnings: Add support for Objective C.
19999         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
20000         macro.
20002 2018-02-17  Bruno Haible  <bruno@clisp.org>
20004         lock: Fix test-once1 crash on FreeBSD11.
20005         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
20006         'pthread_create', not 'pthread_cancel'.
20008 2018-02-17  Bruno Haible  <bruno@clisp.org>
20010         lock: Add test of gl_once.
20011         * tests/test-once.c: New file.
20012         * modules/lock-tests (Files): Add it.
20013         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
20015 2018-02-17  Bruno Haible  <bruno@clisp.org>
20017         thread: Fix compilation error on IRIX.
20018         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
20019         needed; include it outside the C++ extern "C" {} block.
20020         * doc/posix-headers/pthread.texi: Mention the problem with
20021         pthread_atfork on IRIX.
20023 2018-02-04  Bruno Haible  <bruno@clisp.org>
20025         nl_langinfo: Override the system's nl_langinfo() when needed.
20026         Reported by Jim Meyering.
20027         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
20028         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
20030 2018-02-04  Bruno Haible  <bruno@clisp.org>
20032         signal-h, monetary, strings: Fix build failure in some cases.
20033         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20034         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
20035         as delimiter in sed command, not '|'.
20036         * modules/monetary (Makefile.am): Likewise.
20037         * modules/strings (Makefile.am): Likewise.
20039 2018-02-03  Jim Meyering  <meyering@fb.com>
20041         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
20042         * top/maint.mk (sc_file_system): Don't complain about
20043         "/proc/filesystems".
20045 2018-02-03  Bruno Haible  <bruno@clisp.org>
20047         stdlib: Fix compilation error on OpenIndiana.
20048         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
20049         <sys/time.h>.
20050         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20051         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
20053 2018-02-03  Bruno Haible  <bruno@clisp.org>
20055         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
20056         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
20057         and use $EGREP instead of 'grep -E'.
20058         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
20059         'grep -E'.
20061 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
20063         malloca: Add a compile-time verification.
20064         * lib/malloca.c (small_t): Verify that it is wide enough.
20065         * modules/malloca (Depends-on): Add verify.
20067 2018-02-02  Bruno Haible  <bruno@clisp.org>
20069         malloca: Add an argument check.
20070         Suggested by Paul Eggert.
20071         * lib/malloca.c (freea): Check against an invalid argument.
20073 2018-02-02  Bruno Haible  <bruno@clisp.org>
20075         localename: Add support for OpenIndiana.
20076         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
20077         Solaris 11 variants with uselocale() but without getlocalename_l().
20079 2018-02-02  Bruno Haible  <bruno@clisp.org>
20081         malloca, xmalloca: Make multithread-safe.
20082         Reported by Florian Weimer <fweimer@redhat.com>.
20083         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
20084         * lib/malloca.h (malloca): In the stack allocation case, return a
20085         pointer that is a multiple of 2 * sa_alignment_max.
20086         (sa_increment): Remove enum item.
20087         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
20088         a pointer that is a multiple of 2 * sa_alignment_max.
20089         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
20090         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
20091         HASH_TABLE_SIZE, mmalloca_results): Remove.
20092         (small_t): New type.
20093         (mmalloca, free): Rewritten.
20094         * lib/malloca.valgrind: Remove file.
20095         * modules/malloca (Files): Remove it.
20096         (Depends-on): Remove verify.
20098 2018-01-31  Bruno Haible  <bruno@clisp.org>
20100         environ: Fix link error on 64-bit Cygwin.
20101         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
20102         __declspec(dllimport) attribute.
20103         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
20105 2018-01-30  Bruno Haible  <bruno@clisp.org>
20107         get-rusage-data: Add support for Minix 3.
20108         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
20110 2018-01-30  Bruno Haible  <bruno@clisp.org>
20112         vma-iter: Add support for Minix 3.
20113         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
20114         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
20116 2018-01-27  Bruno Haible  <bruno@clisp.org>
20118         Fix malfunction of socket functions on HP-UX in 64-bit mode.
20119         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
20120         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
20121         _HPUX_ALT_XOPEN_SOCKET_API.
20122         * modules/accept (Depends-on): Add 'extensions'.
20123         * modules/getpeername (Depends-on): Likewise.
20124         * modules/getsockname (Depends-on): Likewise.
20125         * modules/getsockopt (Depends-on): Likewise.
20126         * modules/recvfrom (Depends-on): Likewise.
20127         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
20128         * doc/posix-functions/getpeername.texi: Likewise.
20129         * doc/posix-functions/getsockname.texi: Likewise.
20130         * doc/posix-functions/getsockopt.texi: Likewise.
20131         * doc/posix-functions/recvfrom.texi: Likewise.
20133 2018-01-27  Bruno Haible  <bruno@clisp.org>
20135         getsockname tests: More tests.
20136         * tests/test-getsockname.c (open_server_socket): New function, mostly
20137         copied from test-poll.c.
20138         (main): Check that getsockname fills in addr.
20139         * modules/getsockname-tests (Depends-on): Add the necessary
20140         dependencies.
20141         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
20143 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20145         manywarnings: fix maintainer comment
20146         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
20147         it does not mistakenly think that ‘-1)’ is an option.
20149 2018-01-26  Bruno Haible  <bruno@clisp.org>
20151         langinfo: Fix last commit.
20152         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20153         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
20155 2018-01-24  Bruno Haible  <bruno@clisp.org>
20157         langinfo, nl_langinfo: Add support for alternative month names.
20158         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
20159         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
20160         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
20161         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
20162         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
20163         * doc/posix-functions/nl_langinfo.texi: Likewise.
20165 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20167         Merge strftime.c changes from glibc
20168         This incorporates:
20169         2017-11-14 [BZ #10871] Implement alternative month names
20170         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
20171         2017-06-20 Use locale_t, not __locale_t, throughout glibc
20172         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
20173         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
20174         Use locale_t, not __locale_t.
20175         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
20176         (__strftime_internal): Add support for alternate months.
20178 2018-01-23  Bruno Haible  <bruno@clisp.org>
20180         doc: Mention another prerequisite for using Gnulib.
20181         Reported at <https://stackoverflow.com/questions/48378214/>.
20182         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
20183         AC_CONFIG_HEADERS.
20185 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
20187         build: GuixSD doesn't have /bin/bash
20188         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
20190 2018-01-21  Bruno Haible  <bruno@clisp.org>
20192         Avoid test failures on Microsoft Windows Subsystem for Linux.
20193         * tests/test-fcntl.c (main): Allow a different errno.
20194         * tests/test-rename.h (test_rename): Likewise.
20195         * tests/test-renameat.c (main): Likewise.
20196         * tests/test-renameat2.c (main): Likewise.
20198 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
20200         filenamecat: make base a suffix of result
20201         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
20202         (mfile_name_concat): Always make BASE a suffix of the result, as
20203         cp expects this.  To implement this, separate with '.' instead of
20204         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
20205         * tests/test-filenamecat.c (main): Adjust tests to match
20206         current behavior.  Check that BASE_IN_RESULT points to
20207         a copy of BASE and is a suffix of the resultk, and that DIR
20208         is a prefix of the result that is no longer than the prefix
20209         indicated by BASE_IN_RESULT.
20211 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
20213         update-copyright: Handle use of ©
20214         * build-aux/update-copyright ($circle_c_re): Update regex to
20215         handle use of © in headers.
20217 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
20219         Fix -Wundef warning in user-included header lib/cdefs.h.
20220         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
20222 2018-01-04  Bruno Haible  <bruno@clisp.org>
20224         pthread_sigmask: Avoid compilation error on mingw.
20225         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20226         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
20227         macro.
20229 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20231         test-framework-sh: ‘ps -ef’, not ‘ps ef’
20232         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
20233         Suggested by Bob Proulx (Bug#29968).
20234         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
20236 2018-01-02  Eric Blake  <eblake@redhat.com>
20238         stat-time: silence -Wunused-parameter regression
20239         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
20240         Prefer attribute over cast-to-void.
20241         (stat_time_normalize): Mark st as potentially unused.
20243 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
20245         test-framework-sh: avoid netstat
20246         Problem reported by Kristýna Streitová (Bug#29947).
20247         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
20248         deprecated on SuSE and it's not that important anyway.
20250 2018-01-01  Jim Meyering  <meyering@fb.com>
20252         update-copyright: add code to handle more special cases
20253         After running "make update-copyright" this year, five files
20254         required additional manual changes.  Automate those adjustments
20255         for next year.
20256         * Makefile (_year_and_prev): Define.
20257         (update-copyright): Add perl commands to induce this year's post-
20258         update-copyright adjustments.
20260 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
20262         version-etc: new year
20263         * build-aux/gendocs.sh (version):
20264         * doc/gendocs_template:
20265         * doc/gendocs_template_min:
20266         * doc/gnulib.texi:
20267         * lib/version-etc.c (COPYRIGHT_YEAR):
20268         Update copyright dates by hand in templates and the like.
20270         maint: fix 'make update-copyright'
20271         * Makefile (update-copyright): Adjust to 2016-11-23 change
20272         to config/srclist-update, which changed the format of srclist.txt.
20274 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
20276         chdir-safer: remove this module
20277         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
20278         * NEWS: Document removal.
20279         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
20280         * modules/chdir-safer: Remove these files.
20282 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
20284         Add cross-compilation results for GNU/Hurd.
20285         * m4/calloc.m4: Add GNU/Hurd guess.
20286         * m4/cbrtl.m4: Likewise.
20287         * m4/ceil.m4: Likewise.
20288         * m4/ceilf.m4: Likewise.
20289         * m4/ceill.m4: Likewise.
20290         * m4/chown.m4: Likewise.
20291         * m4/duplocale.m4: Likewise.
20292         * m4/exp2l.m4: Likewise.
20293         * m4/expm1.m4: Likewise.
20294         * m4/fchdir.m4: Likewise.
20295         * m4/floor.m4: Likewise.
20296         * m4/floorf.m4: Likewise.
20297         * m4/fmod.m4: Likewise.
20298         * m4/fmodf.m4: Likewise.
20299         * m4/fmodl.m4: Likewise.
20300         * m4/getcwd.m4: Likewise.
20301         * m4/getgroups.m4: Likewise.
20302         * m4/gettimeofday.m4: Likewise.
20303         * m4/hypot.m4: Likewise.
20304         * m4/hypotf.m4: Likewise.
20305         * m4/hypotl.m4: Likewise.
20306         * m4/link-follow.m4: Likewise.
20307         * m4/link.m4: Likewise.
20308         * m4/linkat.m4: Likewise.
20309         * m4/log.m4: Likewise.
20310         * m4/log10.m4: Likewise.
20311         * m4/log10f.m4: Likewise.
20312         * m4/log1p.m4: Likewise.
20313         * m4/log1pf.m4: Likewise.
20314         * m4/log1pl.m4: Likewise.
20315         * m4/log2.m4: Likewise.
20316         * m4/log2f.m4: Likewise.
20317         * m4/logf.m4: Likewise.
20318         * m4/lstat.m4: Likewise.
20319         * m4/malloc.m4: Likewise.
20320         * m4/mbrlen.m4: Likewise.
20321         * m4/mbrtowc.m4: Likewise.
20322         * m4/mkdir.m4: Likewise.
20323         * m4/mkfifo.m4: Likewise.
20324         * m4/mknod.m4: Likewise.
20325         * m4/mkstemp.m4: Likewise.
20326         * m4/modf.m4: Likewise.
20327         * m4/modff.m4: Likewise.
20328         * m4/modfl.m4: Likewise.
20329         * m4/printf.m4: Likewise.
20330         * m4/pselect.m4: Likewise.
20331         * m4/ptsname.m4: Likewise.
20332         * m4/putenv.m4: Likewise.
20333         * m4/readlink.m4: Likewise.
20334         * m4/realloc.m4: Likewise.
20335         * m4/remainder.m4: Likewise.
20336         * m4/remainderf.m4: Likewise.
20337         * m4/remainderl.m4: Likewise.
20338         * m4/rmdir.m4: Likewise.
20339         * m4/round.m4: Likewise.
20340         * m4/roundf.m4: Likewise.
20341         * m4/roundl.m4: Likewise.
20342         * m4/select.m4: Likewise.
20343         * m4/setenv.m4: Likewise.
20344         * m4/signbit.m4: Likewise.
20345         * m4/sleep.m4: Likewise.
20346         * m4/stat.m4: Likewise.
20347         * m4/strerror.m4: Likewise.
20348         * m4/strtok_r.m4: Likewise.
20349         * m4/symlink.m4: Likewise.
20350         * m4/symlinkat.m4: Likewise.
20351         * m4/trunc.m4: Likewise.
20352         * m4/truncf.m4: Likewise.
20353         * m4/truncl.m4: Likewise.
20354         * m4/tzset.m4: Likewise.
20355         * m4/ungetc.m4: Likewise.
20356         * m4/usleep.m4: Likewise.
20357         * m4/wcwidth.m4: Likewise.
20359 2017-12-28  Bruno Haible  <bruno@clisp.org>
20361         gnulib-tool: Make --conditional-dependencies work better.
20362         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
20363         * gnulib-tool (Options): Don't reject the combination of
20364         --conditional-dependencies with --with-tests.
20365         (func_emit_autoconf_snippets): Add argument referenceable_modules.
20366         Don't reference $modules.
20367         (func_import, func_create_testdir): Pass it.
20369 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20371         regex: use re_malloc etc. consistently
20372         Problem and original patch reported by Arnold Robbins in:
20373         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
20374         * lib/regcomp.c (re_comp):
20375         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
20376         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
20378 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
20379             Paul Eggert  <eggert@cs.ucla.edu>
20381         glob: Silence warning about void pointer arithmetic.
20382         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
20383         arithmetic.
20385 2017-12-15  Bruno Haible  <bruno@clisp.org>
20387         spawn-pipe: Silence a clang warning.
20388         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20389         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
20390         in this file.
20392 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20394         explicit_bzero: port to macOS + Clang 9.0.0
20395         Problem reported by Marcus Johnson (Bug#29658).
20396         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
20397         Don’t use asm.
20399 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20401         doc: Improve explanation of supporting relocatable libraries.
20402         * doc/relocatable-maint.texi (Supporting Relocation): Explain
20403         properly how to build the relocatable module for
20404         libraries. (Method and example code from Bruno Haible.)
20406 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20408         doc: Use better texinfo tags in a few cases.
20409         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
20410         instead of @samp in a few places.
20412 2017-12-11  Bruno Haible  <bruno@clisp.org>
20414         unistr/base: Update comment.
20415         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
20417 2017-12-10  Pádraig Brady  <P@draigBrady.com>
20419         test-faccessat.c: unlink temp file to avoid subsequent test failure
20420         * tests/test-faccessat.c: Remove the file to avoid failure
20421         to open the file on subsequent runs due to being created
20422         with no permissions.
20424 2017-12-10  Bruno Haible  <bruno@clisp.org>
20426         doc: New sect. "Modifying the build rules of a Gnulib import directory".
20427         * doc/gnulib-tool.texi (Modified build rules): New node.
20429 2017-12-10  Bruno Haible  <bruno@clisp.org>
20431         doc: Tweak wording.
20432         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
20433         "binaries".
20435 2017-12-05  Sam Steingold  <sds@gnu.org>
20436             Bruno Haible  <bruno@clisp.org>
20438         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
20439         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
20440         AC_EGREP_CPP pattern.
20442 2017-12-03  Bruno Haible  <bruno@clisp.org>
20444         all: Replace more http URLs by https URLs.
20445         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
20446         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
20447         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
20448         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
20450 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20452         Port better to CentOS 5
20453         Problems reported by Tom G. Christensen in:
20454         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
20455         * doc/glibc-functions/strverscmp.texi (strverscmp):
20456         Document strverscmp bug with glibc 2.9 and earlier.
20457         * doc/posix-functions/tzset.texi (tzset):
20458         Document that TZ with angle brackets is POSIX-2001 and later.
20459         * tests/test-nstrftime.c: Include unistd.h.
20460         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
20461         (TZ): Use it to skip tests with angle brackets in TZ,
20462         for older systems.
20464         stat: add missing module dependencies
20465         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
20466         Add stat-time.
20468 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
20470         stat: fix compilation failure on macOS Sierra
20471         Reported by Marius Schamschula <mschamschula@gmail.com> in:
20472         https://savannah.gnu.org/bugs/?52546
20473         * lib/stat.c: Add missing include of stat-time.h.
20475 2017-11-28  Jim Meyering  <meyering@fb.com>
20477         test-faccessat.c: correct BASE definition to avoid parallel test failure
20478         * tests/test-faccessat.c (BASE): Define using this file's name, not
20479         that of test-lstat.c.  Using the latter caused this test to fail
20480         sometimes when run concurrently with test-lstat.
20482 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20484         unicase: fix VPATH build
20485         * modules/unicase/special-casing (Makefile.am): Ensure that the
20486         base directory is created when generating
20487         unicase/special-casing.h.
20489 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20491         libunistring: update to Unicode 9.0.0
20492         * lib/gen-uni-tables.c (fill_properties): Recognize
20493         Sentence_Terminal and Prepended_Concatenation_Mark.
20494         (is_property_default_ignorable_code_point): Exclude U+08E2.
20495         (fill_arabicshaping): Allow missing whitespace when parsing;
20496         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
20497         (output_blocks): Increase the element size of the level1 table to
20498         accommodate more blocks.
20499         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
20500         Update each class according to the standard.
20501         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
20502         E_Base_GAZ characters.
20503         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
20504         Glue_After_Zwj, and E_Base_GAZ characters.
20505         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
20506         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
20507         enum value.
20508         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
20509         value.
20510         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
20511         LBP_ZWJ, LBP_EB, and LBP_EM.
20512         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
20513         enum value.
20514         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
20515         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
20516         declaration.
20517         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
20518         (uniwbrk_table): Implement WB14.
20519         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
20520         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
20521         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
20522         uc-is-grapheme-break.
20523         * modules/unigbrk/uc-grapheme-breaks: New module.
20524         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
20525         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
20526         enum value.
20527         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
20528         * lib/unigbrk/u-grapheme-breaks.h: New file.
20529         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
20530         u-grapheme-breaks.h instead of uc_is_grapheme_break.
20531         * lib/unigbrk/uc-grapheme-breaks.c: New file.
20532         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
20533         29.
20534         * tests/unigbrk/test-uc-gbrk-prop.c
20535         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20536         GBP_GAZ, and GBP_EBG.
20537         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
20538         * tests/unigbrk/test-uc-is-grapheme-break.c
20539         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20540         GBP_GAZ, and GBP_EBG.
20541         (main): Skip unsupported rules involving 3 or more characters,
20542         namely GB10, GB12, and GB13.
20543         * lib/uniwidth/width.c (nonspacing_table_data): Update.
20544         * all generated files under lib/uni* and tests/uni*: Regenerate.
20545         * all the affected modules: Bump version.
20547 2017-11-26  Bruno Haible  <bruno@clisp.org>
20549         strfmon_l: Fix compilation error with glibc 2.5.
20550         Reported by Tom G. Christensen <tgc@jupiterrise.com>
20551         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
20552         * lib/monetary.in.h: Include also <locale.h>.
20554 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20556         posixtm: remove PDS_LEADING_YEAR
20557         This changes the API slightly, in a hopefully-innocuous way.
20558         Without this change the code had undefined behavior when a
20559         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
20560         Problem reported by Pádraig Brady in:
20561         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
20562         * NEWS: Mention this.
20563         * lib/posixtm.c (posix_time_parse): Treat the absence of
20564         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
20565         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
20566         present, but define it as zero, for compatibility with existing
20567         source code).  All other PDS_* values moved up.
20568         * tests/test-posixtm.c (LY): New macro.
20569         (T): Use it.  Do not expect a particular numeric encoding
20570         for PDS_CENTURY etc.
20572 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20574         stat: work around Solaris bug with tv_nsec < 0
20575         * doc/posix-functions/fstat.texi (fstat):
20576         * doc/posix-functions/fstatat.texi (fstatat):
20577         * doc/posix-functions/lstat.texi (lstat):
20578         * doc/posix-functions/stat.texi (stat):
20579         Mention Solaris 11 bug.
20580         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
20581         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
20582         * lib/lstat.c (rpl_lstat):
20583         * lib/stat.c (rpl_stat):
20584         Normalize resulting timestamps.
20585         * lib/fstatat.c (normal_fstatat): New function.
20586         (rpl_fstatat): Use it.
20587         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
20588         (stat_time_normalize): New function.
20589         * m4/fstat.m4 (gl_FUNC_FSTAT):
20590         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
20591         * m4/lstat.m4 (gl_FUNC_LSTAT):
20592         * m4/stat.m4 (gl_FUNC_STAT):
20593         Replace on Solaris.
20594         * modules/fstat (Depends-on):
20595         * modules/fstatat (Depends-on):
20596         Add stat-time.
20597         * modules/stat-time (Depends-on): Add errno, intprops.
20599 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20601         regex: merge from glibc
20602         * lib/regcomp.c (init_word_char): Add comments.
20604 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20606         regex: merge from glibc
20607         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
20608         * lib/regex_internal.h (internal_function): Remove.
20609         All uses removed.
20611 2017-11-20  Bruno Haible  <bruno@clisp.org>
20613         crypto/gc-sm3: Fix buffer overrun.
20614         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
20615         Reported by Coverity.
20617 2017-11-12  Jim Meyering  <meyering@fb.com>
20619         maint: shorten https://lists.gnu.org/archive/html/... links
20620         Each /archive/html/ part can be replace with /r/.
20621         Run this to induce the change:
20622         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
20623         * ChangeLog: Perform that substitution.
20624         * Makefile: Likewise.
20625         * STATUS-libposix: Likewise.
20626         * build-aux/bootstrap: Likewise.
20627         * doc/maintain.texi: Likewise.
20628         * gnulib-tool: Likewise.
20629         * lib/allocator.h: Likewise.
20630         * lib/argp-ba.c: Likewise.
20631         * lib/argp-pv.c: Likewise.
20632         * lib/canon-host.c: Likewise.
20633         * lib/canonicalize-lgpl.c: Likewise.
20634         * lib/float.in.h: Likewise.
20635         * lib/fstat.c: Likewise.
20636         * lib/getdelim.c: Likewise.
20637         * lib/getprogname.c: Likewise.
20638         * lib/glthread/thread.h: Likewise.
20639         * lib/intprops.h: Likewise.
20640         * lib/mbsrtowcs-state.c: Likewise.
20641         * lib/safe-read.c: Likewise.
20642         * lib/signal.in.h: Likewise.
20643         * lib/stat.c: Likewise.
20644         * lib/stdbool.in.h: Likewise.
20645         * lib/stdio-impl.h: Likewise.
20646         * lib/stdio.in.h: Likewise.
20647         * lib/sysexits.in.h: Likewise.
20648         * lib/timespec.h: Likewise.
20649         * lib/wcsrtombs-state.c: Likewise.
20650         * m4/alloca.m4: Likewise.
20651         * m4/extern-inline.m4: Likewise.
20652         * m4/fstatat.m4: Likewise.
20653         * m4/gnulib-common.m4: Likewise.
20654         * m4/lib-ignore.m4: Likewise.
20655         * m4/printf.m4: Likewise.
20656         * m4/regex.m4: Likewise.
20657         * m4/stat-size.m4: Likewise.
20658         * m4/std-gnu11.m4: Likewise.
20659         * m4/stdbool.m4: Likewise.
20660         * m4/sys_types_h.m4: Likewise.
20661         * m4/threadlib.m4: Likewise.
20662         * m4/vararrays.m4: Likewise.
20663         * pygnulib/GLImport.py: Likewise.
20664         * tests/test-exp.h: Likewise.
20665         * tests/test-exp2.h: Likewise.
20666         * tests/test-expm1.h: Likewise.
20667         * tests/test-fflush2.c: Likewise.
20668         * tests/test-getopt_long.h: Likewise.
20669         * tests/test-intprops.c: Likewise.
20670         * tests/test-log.h: Likewise.
20671         * tests/test-log10.h: Likewise.
20672         * tests/test-log1p.h: Likewise.
20673         * tests/test-log2.h: Likewise.
20674         * tests/test-printf-posix.h: Likewise.
20675         * tests/test-regex.c: Likewise.
20676         * tests/test-snprintf-posix.h: Likewise.
20677         * tests/test-sprintf-posix.h: Likewise.
20678         * tests/test-stdalign.c: Likewise.
20679         * tests/test-stdbool.c: Likewise.
20680         * tests/test-vasnprintf-posix.c: Likewise.
20681         * tests/test-vasprintf-posix.c: Likewise.
20682         * top/maint.mk: Likewise.
20684 2017-11-12  Bruno Haible  <bruno@clisp.org>
20686         faccessat: Make the last change more robust.
20687         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
20688         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
20690 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20692         faccessat: port to macOS (Bug#29231)
20693         macOS faccessat has the same bug that lstat does: if the file
20694         name ends in '/' it ignores the trailing slash.
20695         Problem reported for Emacs by Vincent Zhang.
20696         * doc/posix-functions/faccessat.texi (faccessat): Document this.
20697         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
20698         around the initial includes.  Include errno.h, string.h, sys/stat.h.
20699         (orig_faccessat) [HAVE_FACCESSAT]: New function.
20700         Include "unistd.h" after defining it.
20701         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
20702         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
20703         Handle in the usual way.
20704         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
20705         lstat dereferences symlinks, since faccessat is likely to
20706         have the same problem.
20707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
20708         * modules/faccessat (Depends-on): Add fstatat.
20709         Depend if REPLACE_FACCESSAT is 1, too.
20710         (configure.ac): Link if REPLACE_FACCESSAT is 1.
20711         * modules/faccessat-tests (Depends-on): Add symlink.
20712         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
20713         * tests/test-faccessat.c (main): Test for the bug.
20715 2017-11-11  Bruno Haible  <bruno@clisp.org>
20717         getprogname: Fix compilation error on IRIX.
20718         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
20719         'namesize'.
20721 2017-11-11  Bruno Haible  <bruno@clisp.org>
20723         year2038: Tweak last patch.
20724         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
20726 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
20728         year2038: be more insistent about 64-bit time_t
20729         Applications requiring access to arbitrary files should not be
20730         built with 32-bit time_t on hosts that have 64-bit timestamps,
20731         as this can lead to real trouble at runtime.
20732         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
20733         Check on all systems, not just MinGW.  Use a heuristic involving
20734         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
20735         output a failure or just a warning, to make it more likely that
20736         builders will select 64-bit time_t.
20738 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20740         havelib: fix typo in previous change
20741         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
20743         Don’t use AC_EGREP_CPP if affected by CFLAGS
20744         * m4/float_h.m4 (gl_FLOAT_H):
20745         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
20746         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
20747         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
20748         * m4/year2038.m4 (gl_YEAR2038):
20749         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
20750         likely to be affected by the choice of CFLAGS, since CFLAGS are
20751         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
20752         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
20754         fstatat: pacify GCC on unusual platform
20755         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
20756         Omit, as it’s unused in this case.
20758 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20760         timespec: prefer ‘assume’ to ‘assure’
20761         This avoids some runtime tests.  The rest of the module makes
20762         similar assumptions and there is little point to testing here.
20763         * lib/timespec.h: Include verify.h instead of assure.h.
20764         (timespec_cmp): Use ‘assume’, not ‘assure’.
20765         Also, remove an unnecessary cast to ‘int’, as lots of other
20766         code in this module now causes -Wconversion to complain, and
20767         this is a problem with -Wconversion not with the code.
20769         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
20771         Port recent gnulib-tool change to Dash
20772         * gnulib-tool (func_create_testdir): Don't assume that the shell
20773         retokenizes after expanding "$@" inside the call to
20774         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
20776 2017-10-27  Jim Meyering  <meyering@fb.com>
20778         timespec.h: use "assure" to avoid a spurious warning
20779         * lib/timespec.h: Include "assure.h" and use it to help
20780         gcc7's -Wstrict-overflow avoid a false positive warning
20781         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
20782         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
20783         * modules/timespec (Depends-on): Add assure.
20785 2017-10-29  Bruno Haible  <bruno@clisp.org>
20787         Avoid several test failures with traditional locales on Haiku.
20788         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
20789         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
20790         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
20791         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
20792         LOCALE_ZH_CN=none.
20794 2017-10-29  Bruno Haible  <bruno@clisp.org>
20796         strerror_r-posix: Fix behaviour and test failure on Haiku.
20797         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
20798         are positive. Work around return value 0 instead of ERANGE on Haiku.
20799         For unknown error numbers, use a format string consistent with perror().
20800         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
20801         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
20802         are positive.
20804 2017-10-29  Bruno Haible  <bruno@clisp.org>
20806         get-rusage-data: Avoid crash on Haiku.
20807         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
20809 2017-10-29  Bruno Haible  <bruno@clisp.org>
20811         get-rusage-as: Avoid crash on Haiku.
20812         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
20814 2017-10-29  Bruno Haible  <bruno@clisp.org>
20816         ilogbl: Ensure replacement on Haiku.
20817         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
20818         REPLACE_ILOGBL if ilogbl does not work.
20819         (gl_FUNC_ILOGBL_WORKS): New macro.
20820         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
20821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
20822         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
20823         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
20824         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
20826 2017-10-29  Bruno Haible  <bruno@clisp.org>
20828         expl: Ensure replacement on Haiku.
20829         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
20830         zero.
20831         * doc/posix-functions/expl.texi: Mention the Haiku problem.
20833 2017-10-29  Bruno Haible  <bruno@clisp.org>
20835         math: Fix test failure on Haiku.
20836         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
20837         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
20838         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
20839         * doc/posix-headers/math.texi: Mention the Haiku problem.
20841 2017-10-29  Bruno Haible  <bruno@clisp.org>
20843         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
20844         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
20845         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
20847 2017-10-29  Bruno Haible  <bruno@clisp.org>
20849         crypto/*: Verify that the header file is self-contained.
20850         * tests/test-gc-*.c: Include the module's header file immediately after
20851         <config.h>.
20852         * tests/test-hmac-*.c: Likewise.
20853         * tests/test-arcfour.c: Likewise.
20854         * tests/test-arctwo.c: Likewise.
20855         * tests/test-des.c: Likewise.
20856         * tests/test-md2.c: Likewise.
20857         * tests/test-md4.c: Likewise.
20858         * tests/test-md5.c: Likewise.
20859         * tests/test-rijndael.c: Likewise.
20860         * tests/test-sha1.c: Likewise.
20861         * tests/test-sm3.c: Likewise.
20863 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20864             Bruno Haible  <bruno@clisp.org>
20866         crypto/gc: fix build failure with -Werror=suggest-attribute=const
20867         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
20869 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20871         New module: crypto/gc-sm3
20872         * lib/gc.h: Declare SM3-related stuffs.
20873         * lib/gc-gnulib.c: Support sm3 in internal functions.
20874         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
20875         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
20876         * modules/crypto/gc-sm3: Define gc-sm3 module.
20877         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
20878         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
20879         * MODULES.html.sh: List gc-sm3 module.
20881 2017-10-29  Bruno Haible  <bruno@clisp.org>
20883         random, random_r: Mention different prototypes on Haiku.
20884         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
20885         * doc/glibc-functions/random_r.texi: Likewise.
20886         * doc/glibc-functions/initstate_r.texi: Likewise.
20887         * doc/glibc-functions/setstate_r.texi: Likewise.
20889 2017-10-28  Bruno Haible  <bruno@clisp.org>
20891         posix_spawn: Avoid spurious message in configure output.
20892         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
20893         'cmp' command.
20895 2017-10-28  Bruno Haible  <bruno@clisp.org>
20897         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
20898         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
20899         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
20901 2017-10-28  Bruno Haible  <bruno@clisp.org>
20903         ioctl: Override non-POSIX declaration on Haiku.
20904         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
20905         * lib/sys_ioctl.in.h: Add comment about Haiku.
20906         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
20907         * doc/glibc-headers/sys_ioctl.texi: Likewise.
20909 2017-10-28  Bruno Haible  <bruno@clisp.org>
20911         crypto/sm3: Add overview documentation to the .h file.
20912         * lib/sm3.h: Add comments.
20914 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20916         New module: crypto/sm3
20917         This new module can be used to compute SM3 message digest of files or
20918         memory blocks according to the specification GM/T 004-2012
20919         Cryptographic Hash Algorithm SM3, published by State Cryptography
20920         Administration, China.
20921         The official SM3 cryptographic hash algorithm specification is
20922         available at
20923         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
20924         * lib/sm3.h: Declare the APIs of sm3 module.
20925         * lib/sm3.c: Implement SM3 hash algorithm.
20926         * m4/sm3.m4: m4 file for sm3 module.
20927         * modules/crypto/sm3: Define sm3 module.
20928         * tests/test-sm3.c: Implement SM3 test case.
20929         * modules/crypto/sm3-tests: Define sm3 test module.
20930         * MODULES.html.sh: List sm3 module.
20932 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20934         gc-libgcrypt: fix undefined enum type in switch statement
20935         Resolve the following build failure:
20936         lib/gc-libgcrypt.c: In function 'gc_hash_open':
20937         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
20938         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
20939              case 0:
20940              ^~~~
20941         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
20942         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
20944 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20946         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
20947         Resolve the following build failure:
20948         lib/gc-libgcrypt.c: In function 'gc_hash_read':
20949         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
20950         in signedness [-Werror=pointer-sign]
20951             digest = gcry_md_read (ctx->gch, 0);
20952                    ^
20953         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
20955 2017-10-26  Bruno Haible  <bruno@clisp.org>
20957         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
20958         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
20959         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
20961 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
20963         glob: fix another heap buffer overflow
20964         Problem reported by Tim Rühsen in:
20965         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
20966         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
20968 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
20970         quotearg: pacify compiler re unsigned
20971         * lib/quotearg.c (quotearg_n_options):
20972         Rewrite to avoid diagnostic from overly-picky compiler.
20973         Problem reported by Sami Kerola in:
20974         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
20976         glob: fix heap buffer overflow
20977         * lib/glob.c (glob): Fix off-by-one error introduced into
20978         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
20979         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
20980         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
20981         Fix suggested by Bruno Haible.
20983 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
20985         glob: pacify fuzzer for mempcpy
20986         Problem reported by Tim Rühsen in:
20987         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
20988         * lib/glob.c (glob): Do not pass NULL to mempcpy.
20990 2017-10-12  Bruno Haible  <bruno@clisp.org>
20992         doc: Fix syntax error (regression from 2017-10-03).
20993         * doc/posix-functions/strncpy.texi: Fix syntax error.
20995 2017-10-12  Bruno Haible  <bruno@clisp.org>
20997         doc: Update for Solaris 11.3.
20998         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
20999         mention Solaris 11.3.
21000         * m4/log2.m4: Fix comments.
21001         * m4/log2f.m4: Likewise.
21002         * m4/printf.m4: Update comments.
21003         * m4/rename.m4: Likewise.
21004         * m4/strncat.m4: Likewise.
21006         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
21008 2017-10-10  Bruno Haible  <bruno@clisp.org>
21010         doc: Improve doc about ioctl.
21011         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
21012         prototype.
21014 2017-10-09  Bruno Haible  <bruno@clisp.org>
21016         wcwidth: Don't use obsolete syntax of 'test'.
21017         Reported by Eric Blake.
21018         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
21019         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
21021 2017-10-09  Bruno Haible  <bruno@clisp.org>
21023         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
21024         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
21025         and Daniel P. Berrange <berrange@redhat.com>.
21026         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
21027         on glibc systems. The getopt-pfx-core.h file declares exactly what
21028         unistd.h needs, nothing more.
21030 2017-10-08  Bruno Haible  <bruno@clisp.org>
21032         vma-iter: Improve support for FreeBSD.
21033         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
21034         vma_iterate.
21035         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
21037 2017-10-08  Bruno Haible  <bruno@clisp.org>
21039         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
21040         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
21042 2017-10-07  KO Myung-Hun  <komh@chollian.net>
21044         test-framework-sh: Fix 'invalid path dir' error.
21045         On OS/2, a path separator is ';' not ':'. And ':' is used as a
21046         separator between a drive letter and directory parts.
21047         As a result, an absolute path such as x:/path/to/dir on OS/2 is
21048         treated as an invalid path dir.
21049         * tests/init.sh (PATH_SEPARATOR): Set at startup.
21050         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
21051         instead of hard coded ':'.
21053 2017-10-07  Bruno Haible  <bruno@clisp.org>
21055         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
21056         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
21057         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
21058         (rof_open): On Linux, do multiple read() calls and make sure
21059         MIN_LEFTOVER bytes are left when read() returns.
21061 2017-10-07  Bruno Haible  <bruno@clisp.org>
21063         vma-iter: Improve support for GNU/Hurd.
21064         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
21065         API, not the /proc file system.
21067 2017-10-07  Bruno Haible  <bruno@clisp.org>
21069         test-framework-sh: Don't require bash on Windows and OS/2.
21070         Reported by KO Myung-Hun.
21071         * tests/test-init.sh: Use 'shopt' only when running in bash.
21073 2017-10-06  KO Myung-Hun  <komh@chollian.net>
21075         wcwidth: check a macro version of wcwidth () as well
21076         * lib/wchar.in.h: Revert commit from 2016-01-14.
21077         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
21079 2017-10-06  Bruno Haible  <bruno@clisp.org>
21081         getopt-posix: Clarify copyright header.
21082         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
21083         * lib/getopt-pfx-core.h: Likewise.
21084         * lib/getopt-pfx-ext.h: Likewise.
21085         * lib/getopt-cdefs.in.h: Likewise.
21087 2017-10-03  Bruno Haible  <bruno@clisp.org>
21089         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
21090         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
21091         gl_HOST_CPU_C_ABI.
21093 2017-10-03  Bruno Haible  <bruno@clisp.org>
21095         doc: warn about misuse of strncpy and wcsncpy.
21096         * doc/posix-functions/strcpy.texi: Describe requirements on prior
21097         memory allocation.
21098         * doc/posix-functions/wcscpy.texi: Likewise.
21099         * doc/posix-functions/strncpy.texi: Describe what this function is not
21100         useful for.
21101         * doc/posix-functions/wcsncpy.texi: Likewise.
21103 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21105         fsuage: fix typo in previous change
21106         * lib/fsusage.c: Remove stray include of full-read.h.
21107         Problem reported by Sam Steingold for macOS (Bug#28669).
21109 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21111         fsusage: remove SVR2 support
21112         SVR2 was obsolete by 1986 and is no longer supported by anybody,
21113         and its code was getting in the way of use of this module by
21114         Emacs, which has its own ‘read’ function anyway.
21115         * lib/fsusage.c: Do not include sys/filsys.h.
21116         (get_fs_usage): Remove SVR2-specific code.
21117         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
21118         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
21119         * modules/fsusage (Depends-on): Do not depend on full-read.
21121         Simplify autoupdate of licenses
21122         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21123         place.
21125 2017-10-01  Bruno Haible  <bruno@clisp.org>
21127         vma-iter: Add support for GNU/Hurd.
21128         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
21129         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21131 2017-09-30  Bruno Haible  <bruno@clisp.org>
21133         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
21134         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
21135         fail when module 'largefile' is in use.
21136         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
21137         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
21138         Don't test HAVE_SYS_PROCFS_H.
21140 2017-09-30  Bruno Haible  <bruno@clisp.org>
21142         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
21143         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
21144         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
21145         * modules/havelib (Depends-on): Add host-cpu-c-abi.
21147 2017-09-30  Bruno Haible  <bruno@clisp.org>
21149         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
21150         * lib/uniname/uniname.c (unicode_name_character): Add braces around
21151         scope of local variables.
21153 2017-09-28  Bruno Haible  <bruno@clisp.org>
21155         string: code style
21156         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
21157         substitutable variables.
21158         * modules/string (Makefile.am): Likewise.
21160 2017-09-26  Bruno Haible  <bruno@clisp.org>
21162         uniname/uniname-tests: Tighten code.
21163         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
21164         local variables into one.
21166 2017-09-26  Bruno Haible  <bruno@clisp.org>
21168         vma-iter: Improvements for Linux and BSD platforms.
21169         - Add support for DragonFly BSD.
21170         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
21171         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
21172         Read the entire file into memory in a single system call.
21173         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
21174         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
21176 2017-09-26  Bruno Haible  <bruno@clisp.org>
21178         vma-iter: Provide the protection flags on FreeBSD.
21179         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
21180         skip three fields between the addresses and the protection flags.
21182 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21184         glob: remove bogus extern decl
21185         * lib/glob.c (__glob_pattern_type): Remove now-spurious
21186         extern declaration.  Problem reported by Adhemerval Zanella in:
21187         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
21189 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
21191         uniname/uniname-tests: integer overflow fix
21192         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
21193         Check for integer overflow.
21195         duplocale-tests: fix unlikely crash
21196         * tests/test-duplocale.c (get_locale_dependent_values):
21197         Don’t crash with absurdly long month names.
21199         maint: fix overflow checking in nap.h
21200         * modules/chown-tests:
21201         * modules/fchownat-tests, modules/fdutimensat-tests:
21202         * modules/futimens-tests, modules/lchown-tests:
21203         * modules/stat-time-tests, modules/utime-tests:
21204         * modules/utimens-tests, modules/utimensat-tests:
21205         Depend on intprops.
21206         * tests/nap.h: Include intprops.h.
21207         (diff_timespec): Handle overflow properly.
21209         sys_types: update URL
21210         * m4/sys_types_h.m4: Use https: URL.
21212         parse-datetime: fix dependency
21213         * modules/parse-datetime (Depends-on): Depend
21214         on nstrftime, not strftime.
21216         parse-datetime, posixtm: avoid uninit access
21217         * lib/parse-datetime.y (parse_datetime2):
21218         * lib/posixtm.c (posixtime):
21219         Do not access uninitialized storage, even though the resulting
21220         value is never used.
21222 2017-09-25  Bruno Haible  <bruno@clisp.org>
21224         vma-iter: Improvements for BSD platforms.
21225         - Add support for GNU/kFreeBSD.
21226         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
21227         - Speed up on OpenBSD.
21228         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
21229         (vma_iterate_bsd): New function.
21230         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
21231         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
21232         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21233         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
21235 2017-09-23  Bruno Haible  <bruno@clisp.org>
21237         strfmon_l: New module.
21238         * modules/strfmon_l: New file.
21239         * lib/strfmon_l.c: New file.
21240         * m4/strfmon_l.m4: New file.
21241         * doc/posix-functions/strfmon_l.texi: Mention the new module.
21242         * modules/strfmon_l-tests: New file.
21243         * tests/test-strfmon_l.c: New file.
21245         monetary: New module.
21246         * modules/monetary: New file.
21247         * lib/monetary.in.h: New file.
21248         * m4/monetary_h.m4: New file.
21249         * doc/posix-headers/monetary.texi: Mention the new module.
21250         * modules/monetary-tests: New file.
21251         * tests/test-monetary.c: New file.
21252         * modules/monetary-c++-tests: New file.
21253         * tests/test-monetary-c++.cc: New file.
21254         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
21256 2017-09-23  Bruno Haible  <bruno@clisp.org>
21258         duplocale tests: Fix test crash on Linux/x86.
21259         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
21260         locale from the current thread before freeing it.
21262 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
21264         mktime: port to OpenVMS
21265         Problem reported by John E. Malmberg in:
21266         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
21267         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
21269 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21271         manywarnings: port to GCC on 64-bit MS-Windows
21272         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
21273         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
21274         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
21276 2017-09-13  Bruno Haible  <bruno@clisp.org>
21278         all: Replace many more http URLs by https URLs. Update stale URLs.
21279         * users.txt: Remove mention of 'newts'.
21280         * lib/localename.c: Update comment about LANG_SOTHO.
21282 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21284         all: Replace many http URLs by https URLs.
21286 2017-09-12  Bruno Haible  <bruno@clisp.org>
21288         doc: Prefer https URLs where possible.
21289         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
21290         * doc/ld-output-def.texi: Remove unavailable URL.
21292 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21294         maintainer-makefile: FTP -> HTTPS
21295         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
21296         of FTP, which is planned to be decommissioned on 2017-11-01.
21298 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
21300         libc-config: Fix __GNUC_PREREQ macro.
21301         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
21302         __GNUC_MINOR.
21304 2017-09-09  Bruno Haible  <bruno@clisp.org>
21306         gnulib-tool: Simplify commit from 2015-08-20.
21307         * gnulib-tool (func_add_or_update): Remove local variable
21308         is_binary_file.
21310 2017-09-08  Bruno Haible  <bruno@clisp.org>
21312         stddef: Avoid conflict with system-defined max_align_t.
21313         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
21314         Reported by Werner Lemberg <wl@gnu.org> in
21315         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
21316         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
21317         (max_align_t): Define as a macro.
21318         (GNULIB_defined_max_align_t): New macro. Guards against multiple
21319         definitions of rpl_max_align_t in different copies of gnulib-generated
21320         <stddef.h>.
21322 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21324         libc-config: port to MSVC
21325         Problems reported by Gisle Vanem in:
21326         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
21327         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
21328         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
21329         * m4/__inline.m4: New file.
21330         * modules/libc-config (Files): Add it.
21331         (Depends-on): Use it.
21333         glob: Use enum for __glob_pattern_type result
21334         From a patch proposed by Adhemerval Zanella in:
21335         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
21336         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
21337         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
21338         * lib/glob_internal.h (__glob_pattern_type):
21339         * lib/glob.c (glob):
21340         * lib/glob_pattern_p.c (__glob_pattern_p):
21341         Use them.
21343         glob: fix for use in glibc
21344         Problem reported by Adhemerval Zanella in:
21345         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
21346         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
21347         Do not redefine if _LIBC.
21349 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21351         glob: fix bugs with long login names
21352         Problem reported by Adhemerval Zanella in:
21353         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
21354         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
21355         (glob): Use the same scratch buffer for both getlogin_r and
21356         getpwnam_r.  Don’t require preallocation of the login name.  This
21357         simplifies storage allocation, and corrects the handling of
21358         long login names.
21360 2017-09-02  Bruno Haible  <bruno@clisp.org>
21362         dirent: Update doc.
21363         * doc/posix-headers/dirent.texi: More concrete list of platforms.
21365 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21367         glob: fix getpwnam_r errno typo
21368         * lib/glob.c (glob): Fix longstanding misuse of errno after
21369         getpwnam_r, which returns an error number rather than setting
21370         errno.
21372         glob: fix typo in recent change
21373         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
21374         Fix recently-introduced typo.
21376 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21378         glob: don't save and restore errno unnecessarily
21379         * lib/glob.c (glob): Don't save and restore errno
21380         merely because we have getpwnam_r.
21382         glob: don't assume getpwnam_r
21383         * lib/glob.c (glob): Port recent patches to platforms
21384         lacking getpwnam_r.
21386         scratch_buffer: don’t use private glibc API
21387         Suggested by Florian Weimer in:
21388         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
21389         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
21390         * lib/scratch_buffer_grow.c: Rename to
21391         lib/malloc/scratch_buffer_grow.c.
21392         * lib/scratch_buffer_grow_preserve.c: Rename to
21393         lib/malloc/scratch_buffer_grow_preserve.c.
21394         * lib/scratch_buffer_set_array_size.c: Rename to
21395         lib/malloc/scratch_buffer_set_array_size.c.
21396         * lib/scratch_buffer.h: New file.
21397         * modules/scratch_buffer (Files, Makefile.am):
21398         Adjust to source-file renaming.
21400 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
21402         glob: use scratch_buffer instead of extend_alloca
21403         Much of the lib/glob.c part of this patch comes from a glibc patch
21404         proposed by Adhemerval Zanella in:
21405         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
21406         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
21407         included via glob.h, does this for us now.
21408         (__set_errno): Remove, as libc-config does this for us now.
21409         Include <scratch_buffer.h>.
21410         (GETPW_R_SIZE_MAX): Remove.
21411         (glob): Use struct scratch_buffer instead of extend_alloca.
21412         * lib/glob.in.h: Include libc-config.h rather than
21413         including <sys/cdefs.h> conditionally.
21414         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
21415         (__glibc_unlikely, __restrict, weak_alias):
21416         Remove, as libc-config does this for us now.
21417         * m4/glob.m4 (gl_PREREQ_GLOB):
21418         Remove sys/cdefs.h tests; no longer needed.
21419         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
21420         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
21422         scratch_buffer: new module
21423         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
21424         * lib/scratch_buffer_grow_preserve.c:
21425         * lib/scratch_buffer_set_array_size.c:
21426         New files, copied from glibc with very minor changes that can be
21427         copied back.
21428         * modules/scratch_buffer: New file.
21430         libc-config: new module
21431         * MODULES.html.sh: Add libc-config.
21432         * lib/cdefs.h: New file, copied from the GNU C Library with very
21433         minor changes that can be copied back.
21434         * lib/libc-config.h, modules/libc-config: New files.
21436 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21438         glob: match dangling symlinks
21439         This fixes a bug I inadvertently introduced to Gnulib when I
21440         merged glibc glob back into gnulib on 2007-10-16.  This fix is
21441         inspired by a patch proposed for glibc by Adhemerval Zanella in:
21442         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
21443         * doc/posix-functions/glob.texi: Update list of affected platforms.
21444         * lib/glob.c (__lstat64): New macro.
21445         (is_dir): New function.
21446         (glob, glob_in_dir): Match symlinks even if they are dangling.
21447         (link_stat, link_exists_p): Remove.  All uses removed.
21448         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
21449         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
21450         * modules/glob-tests (Depends-on): Add symlink.
21451         * tests/test-glob.c: Include errno.h, unistd.h.
21452         (BASE): New macro.
21453         (main): Test dangling symlinks, if symlinks are supported.
21455         glob, backupfile: inode 0 is a valid inode number
21456         * doc/posix-functions/readdir.texi (readdir):
21457         * doc/posix-headers/dirent.texi (dirent.h):
21458         Document more readdir portability issues.
21459         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
21460         (numbered_backup): Don’t treat inode 0 any differently from
21461         other inode values.
21462         * lib/glob.c (struct readdir_result): Remove skip_entry member.
21463         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
21464         All uses removed.
21465         * modules/glob (Depends-on): Remove d-ino.
21467         glob: simplify symlink detection
21468         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
21469         uint8_t, as C99 does not require uint8_t.
21470         (struct readdir_result): Use it.  Do not define skip_entry unless
21471         it is needed; this saves a byte on platforms lacking d_ino.
21472         (readdir_result_type, readdir_result_skip_entry):
21473         New functions, replacing ...
21474         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
21475         ... these functions, which were removed.  This makes the callers
21476         easier to read.  All callers changed.
21477         (D_INO_TO_RESULT): Now empty if there is no d_ino.
21479 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21481         fts-tests: tag as a longrunning-test so not included by default
21482         * modules/fts-tests: This test takes about 20s on current systems,
21483         and uses about 285M of space on ext4.
21485 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21487         renameat2: fix compilation on alpine linux
21488         * m4/renameat.m4: Check for <linux/fs.h> presence.
21489         * lib/renameat2.h: Only include <linux/fs.h> if present.
21490         Reported by Assaf Gordon on Alpine Linux.
21492 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21494         glob: try to port recent changes to MS-Windows
21495         Problem reported by Bruno Haible in:
21496         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
21497         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
21498         * lib/glob.in.h (__glob_pattern_p): ... to here.
21500 2017-08-24  Eric Blake  <eblake@redhat.com>
21502         warnings: fix compilation with old autoconf
21503         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
21504         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
21505         AC_DEFUN.
21506         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
21507         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
21509 2017-08-24  Bruno Haible  <bruno@clisp.org>
21511         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
21512         * modules/glob (Depends-on): Add c99.
21514 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21516         glob: fix typo that broke platforms lacking d_ino
21517         This typo also hurt performance on GNU/Linux and similar hosts.
21518         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
21519         in previous change.
21521 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21523         glob: merge from glibc with Zanella glob changes
21524         Merge glob from glibc, with changes for glob proposed
21525         by Adhemerval Zanella in the thread starting here:
21526         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
21527         plus some fixes for this merge.
21528         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
21529         New files, ported from glibc.
21530         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
21531         with __restrict.
21532         (__size_t): Remove.  All uses replaced by size_t.
21533         (size_t): Define by defining __need_size_t and including <stddef.h>.
21534         This should work even in non-glibc platforms, where any name
21535         pollution is OK.
21536         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
21537         (struct stat64): Don’t worry about __GLOB_GNULIB.
21538         (glob, globfree, glob_pattern_p): Remove macros for
21539         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
21540         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
21541         but set errno.
21542         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
21543         removed since the glibc behavior works on null pointers.
21544         Do not include stdio.h; old SunOS is irrelevant now.
21545         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
21546         Include glob_internal.h.
21547         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
21548         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
21549         worked only coincidentally.
21550         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
21551         Remove macros; now done in glob.in.h.
21552         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
21553         (glob): Properly initialize glob structure with
21554         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
21555         Remove old code using SHELL since Bash no longer
21556         uses this.
21557         (glob, prefix_array): Separate MS code better.
21558         (glob, glob_in_dir): Use C99 decls before statements when glibc
21559         does.
21560         (glob_in_dir): Remove old Amiga and VMS code.
21561         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
21562         separate files.
21563         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
21564         (__glibc_unlikely):
21565         Move here from glob.c.
21566         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
21567         (weak_alias): New macro.
21568         (__size_t): Remove.  All uses replaced by size_t.
21569         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
21570         * modules/glob (Files): Add +lib/glob_internal.h,
21571         lib/glob_pattern_p.c, lib/globfree.c.
21572         (Depends-on): Remove snippet/arg-nonnull.
21574 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21576         glob: port to clang's Undefined Sanitizer
21577         Problem reported by Tim Rühsen in:
21578         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
21579         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
21580         (glob_in_dir): Do not rely on undefined behavior in accessing
21581         struct members beyond their bounds.  Use a flexible array member
21582         instead.
21584 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
21586         vc-list-files: port to Solaris 10
21587         * build-aux/vc-list-files: Don't assume test -e works.
21589 2017-08-21  Karl Berry  <karl@freefriends.org>
21591         * doc/posix-functions/srandom.texi (srandom): typo }.
21593 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21595         git-version-gen: port to Solaris 10
21596         Problem reported by Dagobert Michelsen in:
21597         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
21598         * build-aux/git-version-gen (v_from_git):
21599         Use expr instead of shell substitution.
21601 2017-08-19  Bruno Haible  <bruno@clisp.org>
21603         host-cpu-c-abi: Improve detection of MIPS ABI.
21604         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
21605         _MIPS_SIM.
21607 2017-08-17  Bruno Haible  <bruno@clisp.org>
21609         hypot tests: Fix test failure on FreeBSD 11.0/x86.
21610         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
21612 2017-08-17  Bruno Haible  <bruno@clisp.org>
21614         float: Fix LDBL_MIN value on FreeBSD/x86.
21615         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
21617 2017-08-17  Bruno Haible  <bruno@clisp.org>
21619         random: Fix test compilation failure on Cygwin 1.5.25.
21620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
21621         HAVE_DECL_SETSTATE.
21622         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
21623         declared.
21624         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
21625         HAVE_DECL_SETSTATE.
21626         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
21627         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
21628         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
21629         * doc/posix-functions/random.texi: Likewise.
21630         * doc/posix-functions/setstate.texi: Likewise.
21631         * doc/posix-functions/srandom.texi: Likewise.
21633 2017-08-16  Bruno Haible  <bruno@clisp.org>
21635         stdnoreturn: Fix test compilation failure on Cygwin.
21636         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
21637         <stdnoreturn.h> replacement.
21638         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
21639         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
21641 2017-08-16  Bruno Haible  <bruno@clisp.org>
21643         thread: Fix conflict with pthread_sigmask module.
21644         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
21645         it's defined as a macro.
21646         * modules/thread (Depends-on): Add pthread_sigmask.
21648 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21650         rename: port better to NetBSD
21651         * doc/posix-functions/rename.texi (rename): NetBSD 7
21652         does not have the link-count bug.
21653         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
21654         broken merely because rename ("a", "b") removes "a" when the two
21655         names are hard links to the same file.
21657 2017-08-16  Bruno Haible  <bruno@clisp.org>
21659         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
21660         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
21661         the target file names with '$(srcdir)/'.
21662         * modules/unicase/locale-language (Makefile.am): Likewise.
21663         * modules/unicase/special-casing (Makefile.am): Likewise.
21664         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
21665         * modules/unictype/category-byname (Makefile.am): Likewise.
21666         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
21667         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
21668         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
21669         * modules/unictype/property-byname (Makefile.am): Likewise.
21670         * modules/unictype/scripts (Makefile.am): Likewise.
21671         * modules/uninorm/composition (Makefile.am): Likewise.
21673 2017-08-16  Bruno Haible  <bruno@clisp.org>
21675         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
21676         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
21677         value for OpenBSD.
21679 2017-08-16  Bruno Haible  <bruno@clisp.org>
21681         rename, renameat: Update doc regarding NetBSD.
21682         * doc/posix-functions/rename.texi: Clarify that when using
21683         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
21684         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
21685         version.
21687 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21689         renameat2: port better to macOS
21690         * lib/renameat2.c (renameat2): Use renameatx_np if available.
21692         futimens: don’t assume struct timespec layout
21693         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
21694         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
21695         * tests/test-fdutimensat.c (main):
21696         * tests/test-futimens.h (test_futimens):
21697         * tests/test-lutimens.h (test_lutimens):
21698         * tests/test-utimens.h (test_utimens):
21699         * tests/test-utimensat.c (main):
21700         Don’t assume that struct timespec is a two-member structure in
21701         tv_sec, tv_nsec order.  Although this is true on all platforms we
21702         know about, POSIX does not guarantee it.
21704         rename: document+test NetBSD rename
21705         Test failure reported by Bruno Haible in:
21706         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
21707         This is an area where NetBSD is better-behaved than POSIX,
21708         so allow the NetBSD behavior in tests.
21709         * doc/posix-functions/rename.texi:
21710         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
21711         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
21713 2017-08-15  Bruno Haible  <bruno@clisp.org>
21715         renameat: Ensure declaration in <stdio.h> on NetBSD.
21716         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
21717         * doc/posix-functions/renameat.texi: Mention this problem.
21719 2017-08-15  Bruno Haible  <bruno@clisp.org>
21721         duplocale: Work around NetBSD 7.0 bug.
21722         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
21723         * lib/duplocale.c: Add comment about NetBSD problem.
21724         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
21726 2017-08-15  Bruno Haible  <bruno@clisp.org>
21728         duplocale tests: Verify use with *_l functions.
21729         * modules/duplocale-tests (configure.ac): Test for uselocale and
21730         some *_l functions.
21731         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
21732         from main.
21733         (get_locale_dependent_values_from, test_with_locale_parameter): New
21734         functions.
21735         (main): Test both test_with_uselocale and test_with_locale_parameter.
21737 2017-08-15  Bruno Haible  <bruno@clisp.org>
21739         extensions: Enable NetBSD specific extensions.
21740         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
21742 2017-08-14  Bruno Haible  <bruno@clisp.org>
21744         open, openat: Update doc about O_CLOEXEC.
21745         * doc/posix-functions/open.texi: More concrete list of platforms.
21746         * doc/posix-functions/openat.texi: Likewise.
21748 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21750         open: support O_CLOEXEC
21751         * NEWS, doc/posix-functions/open.texi:
21752         * doc/posix-functions/openat.texi: Document this.
21753         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
21754         (GNULIB_defined_O_CLOEXEC): New symbol.
21755         * lib/open.c: Include cloexec.h.
21756         (open): Support O_CLOEXEC.
21757         * lib/openat.c: Include cloexec.h.
21758         (rpl_openat): Support O_CLOEXEC.
21759         * lib/popen-safer.c: Do not include cloexec.h.
21760         (open_noinherit): Remove.
21761         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
21762         * lib/save-cwd.c: Do not include cloexec.h.
21763         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
21764         * m4/open-cloexec.m4: New file.
21765         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
21766         Replace 'open' if O_CLOEXEC is not present.
21767         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
21768         Replace 'openat' if O_CLOEXEC is not present.
21769         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
21770         * modules/open (Files): Add m4/open-cloexec.m4.
21771         (Depends-on): Depend on cloexec if replacing 'open'.
21772         * modules/openat (Files): Add m4/open-cloexec.m4.
21773         (Depends-on): Depend on cloexec if replacing openat.
21774         * modules/popen-safer (Depends-on): Remove cloexec.
21775         * modules/save-cwd (Depends-on): Remove cloexec, and add
21776         fd-safer-flag and 'open'.
21778 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21780         reallocarray: minor fixes
21781         * doc/glibc-functions/reallocarray.texi: Update version numbers.
21782         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
21783         * modules/reallocarray (License): Change from GPL to LGPL.
21784         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
21785         Indent properly and don't use tabs.
21787 2017-08-13  Darshit Shah  <darnir@gnu.org>
21789         reallocarray: New module
21790         reallocarray is a new function in glibc 2.26 to safely allocate an array
21791         of memory locations with integer overflow protection.
21792         * MODULES.html.sh: Add reallocarray.
21793         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
21794         * lib/reallocarray.c: New file to implement module reallocarray.
21795         * lib/stdlib.in.h: Add function declarations for reallocarray.
21796         * m4/reallocarray.m4: New file.
21797         * m4/stdlib_h.m4: Declare reallocarray.
21798         * modules/reallocarray: New file.
21799         * modules/reallocarray-test: New file.
21800         * modules/stdlib: Coerce stdlib.h to export reallocarray.
21801         * tests/test-reallocarray.c: New test.
21803 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21805         dirent-safer: fix cloexec race
21806         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
21807         (opendir_safer): Use F_DUPFD_CLOEXEC.
21808         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
21809         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
21810         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
21811         instead of dup_safer.
21813         fts: fix cloexec races
21814         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
21815         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
21816         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
21817         (fd_ring_check): Set cloexec flag on new file descriptors.
21818         (fts_build, fd_ring_check): While we’re at it, make sure the
21819         resulting file descriptor is not 0, 1, or 2, since that is easy.
21821 2017-08-11  Bruno Haible  <bruno@clisp.org>
21823         fts tests: Fix link error.
21824         Reported by Tom G. Christensen in
21825         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
21826         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
21828 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21830         fts: port recent changes to CentOS 6
21831         Problem reported by Tom G. Christensen in:
21832         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
21833         * lib/fts.c (fsword): New type.
21834         (struct dev_type, filesystem_type): Use it.
21835         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
21836         Also, check for f_type only if fstatfs and sys/vfs.h work.
21838 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21840         tempname: do not depend on secure_getenv
21841         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
21842         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
21843         * modules/tempname (Depends-on): Remove secure_getenv.
21845 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21847         extensions: add _OPENBSD_SOURCE
21848         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
21850 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
21851             Bruno Haible  <bruno@clisp.org>
21853         manywarnings: Add support for C++.
21854         * build-aux/g++-warning.spec: New file.
21855         * m4/manywarnings-c++.m4: New file.
21856         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
21857         redirects to manywarnings-c++.m4.
21858         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
21860 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21862         git-version-gen: another fix for tags with "-"
21863         * build-aux/git-version-gen: Improve fix for tags containing "-".
21864         Suggested by Markus Armbruster in:
21865         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
21867 2017-08-06  Bruno Haible  <bruno@clisp.org>
21869         warnings, manywarnings: Add support for multiple languages, not just C.
21870         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
21871         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
21872         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
21873         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
21874         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
21875         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
21876         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
21877         of the current language. If C++ is the current language, modify
21878         WARN_CXXFLAGS instead of WARN_CFLAGS.
21879         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
21880         gl_MANYWARN_ALL_GCC.
21881         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
21883 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
21885         git-version-gen: Fix for tags containing '-'
21887         Really old versions of git-describe (before v1.5.0, Feb 2007)
21888         don't have the number of commits in their long format output,
21889         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
21890         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
21891         recognizes both patterns, and normalizes the old format to the new one.
21893         Unfortunately, this normalization code gets confused when the tag
21894         contains '-'.  Reproducer:
21896             $ git-tag -m test v0.2-rc1
21897             $ build-aux/git-version-gen .tarball-version; echo
21898             build-aux/git-version-gen: WARNING: git rev-list failed
21899             UNKNOWN
21901         We take exact tag "v0.2-rc1" for the old format, extract the presumed
21902         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
21903         commits since tha tag.  Fails, because tag "v0.2" does not exist.
21905         * git-version-gen: We could perhaps drop support for versions from
21906         more than a decade ago.  But tightening the pattern match is easy
21907         enough, so do that.  Still breaks when you use version tags ending in
21908         something matching -g????, but you arguably get what you deserve then.
21910 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21912         valgrind-tests: use ls, and cache
21913         * m4/valgrind-tests.m4: Test ls, not bash.
21914         Problem reported by Reuben Thomas.
21915         Also, cache the result so that it can be overridden.
21917 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21919         manywarnings: port to 64-bit GCC builds of Emacs
21920         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
21921         object size rather than hardwiring 2147483647.  This is needed to
21922         build GNU Emacs, which has one conditional (and used
21923         only-in-theory) call to malloc with a literal greater than
21924         2147483647.
21926 2017-08-04  Bruno Haible  <bruno@clisp.org>
21928         Relax the license of some modules with no runtime code.
21929         * modules/std-gnu11 (License): Set to 'unlimited'.
21930         * modules/c99 (License): Likewise.
21931         Reported by Reuben Thomas <rrt@sc3d.org>.
21932         * modules/d-ino (License): Set to 'LGPL'.
21933         * modules/host-os (License): Likewise.
21934         * modules/longlong (License): Likewise.
21936 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21938         renameat2: port to RHEL 7 + NFS
21939         * lib/renameat2.c (renameat2) [SYS_renameat2]:
21940         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
21941         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
21943 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21945         renameat2: port to non-renameat platforms
21946         Problem reported for MSVC-2015 by Gisle Vanem in:
21947         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
21948         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
21949         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
21951 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21953         manywarnings: port to 32-bit GCC bug
21954         Problem reported by Pino Toscano in:
21955         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
21956         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
21957         not 2**63 - 1, to work around the following GCC bug:
21958         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
21960 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
21962         backupfile: new function to validate backup suffix
21963         * lib/backupfile.c (set_simple_backup_suffix): New function.
21964         (backupfile_internal): Use it.
21966         canonicalize: fix EOVERFLOW commentary
21967         Problem reported by Bruno Haible in:
21968         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
21969         * lib/canonicalize.c (canonicalize_filename_mode):
21970         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
21972         Don't interpret EOVERFLOW to mean nonexistence
21973         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
21974         may be EOVERFLOW; this is likely more useful than reporting the
21975         stat errno.
21976         * lib/glob.c (link_stat): Rename from link_exists2_p and
21977         return -1/0 instead of 0/1.  Caller changed.
21978         * lib/glob.c (link_exists_p):
21979         * lib/renameat2.c (rename_noreplace, renameat2):
21980         * lib/tempname.c (try_nocreate):
21981         If errno == EOVERFLOW then the directory entry exists, so do not
21982         act as if it does not exist.
21984         backup-rename: new module
21985         It is like backupfile, except it avoids some race conditions,
21986         and it does not output to stderr or exit.
21987         * MODULES.html.sh: Add backup-rename.
21988         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
21989         * modules/backup-rename: New files.
21990         * lib/backupfile.c: Turn this into an internals file, which
21991         contains code common to backupfile and backup_rename.  Include
21992         backupfile-internal.h instead of backupfile.h.  Do not include
21993         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
21994         renameat2.h and fcntl.h.
21995         (BACKUP_NOMEM): New constant.
21996         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
21997         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
21998         (backupfile_internal): Rename from find_backup_file_name.
21999         Support new arg RENAME.
22000         (backup_args, backup_types, get_version, xget_version):
22001         Move to lib/backup-find.c.
22002         * lib/backupfile.h (backup_file_rename): New decl.
22003         * modules/backupfile (Files): Add lib/backup-internal.h,
22004         lib/backup-find.c.
22005         (Depends-on): Add dirfd, fcntl, renameat2.
22006         (lib_SOURCES): Add backup-find.c.
22008         renameat2: port better to older Solaris
22009         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
22010         Add goto to use a label, to silence picky compilers.
22012         fts-tests: port to gcc -Wwrite-strings
22013         * tests/test-fts.c (base, base_d): New static vars.
22014         (argv, remove_tree, main): Use them.
22016 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22018         relocatable-lib{,-lgpl}: improve documentation
22019         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
22020         Various other updates.
22022 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
22023             Bruno Haible  <bruno@clisp.org>
22025         relocatable-lib{,-lgpl}: add Valgrind suppressions
22026         * lib/relocatable.valgrind: New file.
22027         * modules/relocatable-lib (Files): Add relocatable.valgrind.
22028         * modules/relocatable-lib-lgpl: Likewise.
22030 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22032         relocatable: Make the license on the sources the GPL.
22033         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
22034         LGPL, which was a special case so that the relocatable source files
22035         could be used without gnulib-tool, to GPL. They can still be used under
22036         the LGPL, using the --lgpl option to gnulib-tool.
22038 2017-07-30  Bruno Haible  <bruno@clisp.org>
22040         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
22041         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
22042         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
22043         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
22044         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
22046 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
22048         faccessat: document AT_SYMLINK_NOFOLLOW issue
22049         * doc/posix-functions/faccessat.texi: Modernize platform list.
22050         Document AT_SYMLINK_NOFOLLOW limitation.
22052         renameat2: port to Solaris 10
22053         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
22054         with AT_SYMLINK_NOFOLLOW (which is not portable).
22055         (renameat): Undef before using, to avoid endless recursion when
22056         the replacement renameat calls renameat2 which calls the
22057         replacement renameat.
22058         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
22059         * modules/renameat2 (Depends-on): Remove faccessat.
22060         * modules/renameat-tests (test_renameat_LDADD):
22061         * modules/renameat2-tests (test_renameat2_LDADD):
22062         Remove $(LIB_EACCESS).
22064         renameat2: new module
22065         Although the Linux syscall renameat2 is not in glibc (yet?), it is
22066         useful to have access to its RENAME_NOREPLACE flag.
22067         * MODULES.html.sh (func_all_modules): Add renameat2.
22068         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
22069         * modules/renameat2-tests, tests/test-renameat2.c: New files.
22070         * lib/renameat.c (renameat): Move most of the implementation
22071         to renameat2, and just call renameat2.
22072         * modules/renameat (Files): Remove lib/at-func2.c.
22073         (Depends-on): Depend only on renameat2.
22074         (Include): Remove <fcntl.h>.
22075         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
22076         since renameat (via renameat2) might use faccessat.
22078 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
22080         vc-list-files: Adjust the script to support git worktrees
22081         * build-aux/vc-list-files: Require existence, not directory.
22083 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22085         doc: bring MODULES.html.sh up to date
22086         Somehow a few months ago we stopped updating MODULES.html.sh.
22087         I don’t recall explicitly deciding this, so I updated it now.
22088         Alternatively I suppose we could remove it.
22089         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
22090         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
22091         truncate, utime, utime-h, windows-stat-inodes,
22092         windows-stat-override, windows-stat-timespec, year2038.  Sort.
22094 2017-07-26  Jim Meyering  <meyering@fb.com>
22096         fprintftime: fix build-break caused by recent renaming
22097         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
22098         "strftime.c".
22099         * modules/fprintftime: Depend directly on nstrftime.
22101 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22103         regex: work with GCC7's -Werror=implicit-fallthrough=
22104         * lib/regex_internal.h (FALLTHROUGH): New macro.
22105         * lib/regcomp.c (peek_token_bracket, parse_expression):
22106         * lib/regexec.c (check_node_accept): Use it.
22108 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22110         fts: simplify fts_build
22111         * lib/fts.c (fts_build): Simplify, and be lazier about
22112         calling leaf_optimization.
22114         fts: three levels of leaf optimization
22115         * lib/fts.c (enum leaf_optimization): New type with three values.
22116         (S_MAGIC_AFS): New macro.  Sort them.
22117         (leaf_optimization): Rename from leaf_optimization_applies, and
22118         return enum leaf_optimization instead of bool.  All uses changed.
22119         Add cases for unknown type and for AFS.
22120         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
22122         fts: cache dirent_inode_sort_may_be_useful too
22123         * lib/fts.c (struct dev_type): New struct.
22124         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
22125         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
22126         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
22127         Now takes FTSENT const *, not int.  All uses changed.  Use
22128         filesystem_type to cache.
22129         (link_count_optimize_ok): Remove.  Caller changed to use
22130         leaf_optimization_applies, which now uses shared cache.
22132         fts: introduce MIN_DIR_NLINK
22133         * lib/fts.c (MIN_DIR_NLINK): New constant.
22134         Use it instead of 2, whenever we are talking about link counts.
22136         fts: nlink_t signedness fixups
22137         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
22138         so that root need not be a special case later.
22139         (fts_read): Remove now-redundant test for fts_level.
22140         Do not assume that nlink_t is signed.
22141         (fts_build): Remove useless decrement of nlinks.
22142         (fts_stat): Avoid unlikely signed integer overflow later, if
22143         nlink_t is signed.
22145         fts-tests: new module
22146         * modules/fts-tests, tests/test-fts.c: New files.
22148 2017-07-23  Bruno Haible  <bruno@clisp.org>
22150         Rename module 'strftime' to 'nstrftime'.
22151         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
22152         * lib/nstrftime.c: Renamed from lib/strftime.c.
22153         * modules/nstrftime: Renamed from modules/strftime.
22154         (Files, Makefile.am): Update.
22155         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
22156         Fix comment.
22157         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
22158         (Files, Makefile.am): Update.
22159         * modules/strftime: New file, an obsolete indirection.
22160         * doc/posix-functions/strftime.texi: Update reference.
22161         * config/srclist.txt: Update info.
22162         * NEWS: Mention the change.
22164 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
22166         malloca: Silence a warning from clang's memory sanitizer.
22167         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
22168         (freea): Use it.
22170 2017-07-18  Bruno Haible  <bruno@clisp.org>
22172         host-cpu-c-abi: Fix detection of MIPS ABI.
22173         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
22174         ABI, not the CPU instruction set.
22176 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
22178         explicit_bzero: new module
22179         The explicit_bzero function has been added to glibc.
22180         This module is intended to supports its use in GNU programs.
22181         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
22182         * m4/explicit_bzero.m4, modules/explicit_bzero:
22183         New files.
22184         * doc/gnulib.texi (Glibc string.h): Link to new doc.
22185         * lib/string.in.h (explicit_bzero): Declare.
22186         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
22187         * modules/string (string.h): Substitute its vars.
22189 2017-07-16  Bruno Haible  <bruno@clisp.org>
22191         threadlib: Support static linking.
22192         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
22193         set gl_cv_have_weak to 'no'.
22195 2017-07-16  Bruno Haible  <bruno@clisp.org>
22197         unicase/locale-language: Fix link dependencies.
22198         * modules/unicase/locale-language (Link): New section.
22199         * modules/unicase/locale-language-tests (Makefile.am): Link
22200         test-locale-language program with $(LIBTHREAD).
22202 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22204         sys_socket: Add support for OpenVMS.
22205         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
22206         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
22208 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22210         sys_resource: Add support for OpenVMS.
22211         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
22212         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
22214 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22215             Bruno Haible  <bruno@clisp.org>
22217         math: Add support for OpenVMS.
22218         * lib/math.in.h [__VMS]: Include <fp.h>.
22219         * doc/posix-headers/math.texi: Mention OpenVMS issues.
22221 2017-07-15  Bruno Haible  <bruno@clisp.org>
22223         getdtablesize: Add minimal support for OpenVMS.
22224         Reported by John E. Malmberg <wb8tyw@qsl.net>.
22225         * modules/getdtablesize (Description): Fix.
22226         * lib/getdtablesize.c: Fix comment.
22227         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
22228         getdtablesize() function, even though the test fails.
22229         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
22230         limitation on OpenVMS.
22232 2017-07-13  Bruno Haible  <bruno@clisp.org>
22234         Revisit cross-compilation guesses.
22235         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
22237 2017-07-13  Bruno Haible  <bruno@clisp.org>
22239         Improve cross-compilation guesses for native Windows.
22240         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
22241         Windows.
22242         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
22243         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
22244         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22245         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
22246         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
22247         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
22248         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22249         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22250         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22251         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22252         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22253         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
22254         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
22255         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
22256         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
22257         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22258         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
22259         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
22260         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22261         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
22262         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
22263         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22264         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
22265         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
22266         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
22267         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
22268         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
22269         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
22270         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22271         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
22272         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22273         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
22274         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
22275         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
22276         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
22277         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
22278         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22279         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22280         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22281         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22282         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22283         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22284         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
22285         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
22286         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
22287         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
22288         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
22289         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
22290         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
22291         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
22292         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
22293         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
22294         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
22295         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
22296         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
22297         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
22298         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
22299         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22300         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
22301         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
22302         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22303         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
22304         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
22305         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
22306         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
22307         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22308         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
22309         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22310         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
22311         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
22312         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
22313         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
22314         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22315         * m4/regex.m4 (gl_REGEX): Likewise.
22316         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
22317         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
22318         gl_FUNC_REMAINDERF_WORKS): Likewise.
22319         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
22320         gl_FUNC_REMAINDERL_WORKS): Likewise.
22321         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22322         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22323         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22324         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22325         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22326         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
22327         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22328         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22329         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
22330         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22331         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
22332         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
22333         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22334         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22335         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22336         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22337         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22338         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22339         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22340         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22341         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22342         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22343         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22344         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22345         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22346         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22347         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22348         Likewise.
22349         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22350         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
22351         Windows. Enable also on Autoconf 2.70.
22352         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22353         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22354         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22355         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
22356         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22357         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
22358         for native Windows.
22359         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22360         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
22362 2017-07-13  Bruno Haible  <bruno@clisp.org>
22364         Improve cross-compilation guesses for native Windows.
22365         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
22366         Windows.
22367         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
22368         memchr.m4.
22369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22371 2017-07-13  Bruno Haible  <bruno@clisp.org>
22373         Improve cross-compilation guesses for native Windows.
22374         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
22375         native Windows.
22376         (gl_FUNC_FFLUSH): Update accordingly.
22377         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
22378         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22380 2017-07-11  Bruno Haible  <bruno@clisp.org>
22382         More systematic m4 quoting and indentation.
22383         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
22384         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22385         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
22386         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22387         * m4/host-os.m4 (gl_HOST_OS): Likewise.
22388         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
22389         gl_WINSIZE_IN_PTEM): Likewise.
22390         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
22391         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
22392         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22393         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
22394         Correct indentation.
22395         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
22396         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22397         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
22398         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22399         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22400         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22402 2017-07-10  Bruno Haible  <bruno@clisp.org>
22404         round, roundf: Avoid compiler warning in configure test.
22405         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
22406         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22408 2017-07-10  Bruno Haible  <bruno@clisp.org>
22410         getlogin tests: Avoid #ifdefs when sharing code between modules.
22411         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
22412         * modules/getlogin-tests (Files): Likewise. Remove
22413         tests/test-getlogin_r.c.
22414         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
22415         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
22416         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
22417         getlogin().
22419 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22421         getlogin: don’t assume one name per uid
22422         Problem reported by Wolfgang F. Muthmann (Bug#27640).
22423         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
22424         (ttyname): Remove test.
22425         * modules/getlogin_r-tests (ttyname): Remove test.
22426         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
22427         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
22428         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
22429         getlogin rather than getlogin_r.  This avoids code duplication.
22430         (main): Use isatty and fstat rather than ttyname and stat.
22431         Use getpwnam instead of getpwuid, to be portable to test platforms
22432         that have multiple login names for the same uid.
22434 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
22435             Bruno Haible  <bruno@clisp.org>
22437         glob: Fix more memory leaks.
22438         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
22439         returning.
22440         Reported by Tim Rühsen.
22442 2017-07-10  Bruno Haible  <bruno@clisp.org>
22444         Make sure $host and $host_os are defined when used.
22445         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
22446         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
22447         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
22448         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22449         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22450         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
22451         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22452         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22453         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22454         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22455         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
22456         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
22457         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22458         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
22459         m4_ifdef block.
22461 2017-07-09  Bruno Haible  <bruno@clisp.org>
22463         *printf: Fix cross-compilation guess for Solaris.
22464         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
22465         2010-12-21.
22467 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
22468             Bruno Haible  <bruno@clisp.org>
22470         vasnprintf: port to macOS 10.13
22471         Problem reported by comex in:
22472         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
22473         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
22475 2017-07-06  Bruno Haible  <bruno@clisp.org>
22477         imaxdiv tests: Fix logic.
22478         * tests/test-imaxdiv.c (main): Use == instead of =.
22479         Reported by Coverity.
22481 2017-07-06  Bruno Haible  <bruno@clisp.org>
22483         uninorm/filter: Fix use-after-free bug.
22484         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
22485         sortbuf == filter->sortbuf invariant.
22486         Reported by Coverity.
22488 2017-07-06  Bruno Haible  <bruno@clisp.org>
22490         glob: Fix more memory leaks.
22491         * lib/glob.c (glob): Free dirname before returning.
22492         Reported by Coverity and Tim Rühsen.
22494 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22496         parse-datetime: fix uninit var bug
22497         Reported by Bruno Haible in:
22498         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
22499         * lib/parse-datetime.y (parse_datetime2): Do not use
22500         uninitialized.
22502 2017-07-05  Bruno Haible  <bruno@clisp.org>
22504         doc: Update for MSVC 14.
22505         * doc/posix-headers/*.texi: Add info about MSVC 14.
22506         * doc/posix-functions/*.texi: Likewise.
22507         * doc/pastposix-functions/*.texi: Likewise.
22508         * doc/glibc-headers/*.texi: Likewise.
22509         * doc/glibc-functions/*.texi: Likewise.
22511 2017-07-05  Bruno Haible  <bruno@clisp.org>
22513         sched: Fix build failure on native Windows (regression from 2017-06-19).
22514         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
22516 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
22518         stdioext: Port to OpenVMS.
22519         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
22520         * lib/fpending.c (fpending): Remove non-working VMS specific code.
22521         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
22522         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
22523         * lib/fpurge.c (fpurge): Likewise.
22524         * lib/freadable.c (freadable): Likewise.
22525         * lib/freadahead.c (freadahead): Likewise.
22526         * lib/freading.c (freading): Likewise.
22527         * lib/freadptr.c (freadptr): Likewise.
22528         * lib/freadseek.c (freadseek): Likewise.
22529         * lib/fseeko.c (fseeko): Likewise.
22530         * lib/fseterr.c (fseterr): Likewise.
22531         * lib/fwritable.c (fwriteable): Likewise.
22532         * lib/fwriting.c (fwriting): Likewise.
22534 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
22536         glob: Declare variables at the very start of their scope.
22537         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
22538         its separate scope, so the functions will compile on Haiku.
22540 2017-07-01  Bruno Haible  <bruno@clisp.org>
22542         logbl: Work around a glibc bug on PowerPC64LE.
22543         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
22544         numbers.
22545         * doc/posix-functions/logbl.texi: Update.
22547 2017-06-29  Bruno Haible  <bruno@clisp.org>
22549         stat, fstat: Compile stat-w32.c only on platforms that need it.
22550         Suggested by Paul Eggert.
22551         * modules/stat (configure.ac): Request stat-w32.o only on native
22552         Windows.
22553         * modules/fstat (configure.ac): Likewise.
22555 2017-06-25  Bruno Haible  <bruno@clisp.org>
22557         stat: Improve last change.
22558         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
22560 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22562         stat: port to xlc 12.01
22563         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
22564         12.01 complains "Compilation unit is empty."
22566 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22568         xalloc-oversized: port to icc
22569         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
22570         __builtin_mul_overflow if ICC is defined, as this results in
22571         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
22572         20170213.
22574 2017-06-19  Bruno Haible  <bruno@clisp.org>
22576         classpath: Avoid including config.h twice, as it produces warnings.
22577         Reported by John E. Malmberg <wb8tyw@gmail.com>.
22578         * lib/classpath.h: Conditionalize the include of config.h.
22580 2017-06-19  Bruno Haible  <bruno@clisp.org>
22581             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
22583         sched: Fix compilation failure on OpenVMS.
22584         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
22585         test whether <pthread.h> exists and defines struct sched_param.
22586         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
22588 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22590         diffseq: port to GCC 7 with --enable-gcc-warnings
22591         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
22592         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
22593         not complain about big_snake being defined but not used.
22595 2017-06-15  Bruno Haible  <bruno@clisp.org>
22597         gettext-h: Update theoretical condition for use of variable size arrays.
22598         Reported by Paul Eggert.
22599         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
22600         to include the theoretical condition for availability of variable size
22601         arrays, if we could trust the value of __STDC_VERSION__.
22603 2017-06-12  Bruno Haible  <bruno@clisp.org>
22605         Relicense some modules under LGPLv2+.
22606         Daiki Ueno's approval is in
22607         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
22608         * modules/uniwidth/base (License): Change to LGPLv2+.
22609         * modules/uniwidth/width (License): Likewise.
22611 2017-06-11  Bruno Haible  <bruno@clisp.org>
22613         localename: Fix test failure on DragonFly BSD.
22614         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
22615         like FreeBSD.
22617 2017-06-11  Bruno Haible  <bruno@clisp.org>
22619         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
22620         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
22621         * lib/float.in.h: Likewise.
22622         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
22624 2017-06-11  Bruno Haible  <bruno@clisp.org>
22626         gnulib-tool: Clean up after autotools.
22627         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
22628         useless directory left over by the Autotools.
22630 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22632         getopt-posix: port to glibc 2.25.90
22633         Problem reported by Daniel P. Berrange in:
22634         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
22635         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
22636         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
22637         #undef if __GETOPT_PREFIX is defined.
22639 2017-06-11  Bruno Haible  <bruno@clisp.org>
22641         strtod-obsolete: Fix license.
22642         * modules/strtod-obsolete (License): Change to LGPL.
22644 2017-06-10  Jim Meyering  <meyering@fb.com>
22646         maint: update to work with GCC7's -Werror=implicit-fallthrough=
22647         * lib/savewd.c (FALLTHROUGH): Define.
22648         (savewd_save, savewd_restore): Use this, rather than a comment,
22649         whenever one switch case falls through into the next.
22651 2017-06-08  Bruno Haible  <bruno@clisp.org>
22653         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
22654         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
22655         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
22656         case.
22658 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
22660         doc: remove robots, add prereqs
22661         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
22662         builds.  Simon's robot site does not seem to be up, so remove
22663         mentions of it for now.
22665 2017-06-08  Bruno Haible  <bruno@clisp.org>
22667         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
22668         * gnulib-tool (func_symlink_target): New function, extracted from
22669         func_symlink.
22670         (func_symlink, func_symlink_if_changed): Use it.
22672 2017-06-08  Bruno Haible  <bruno@clisp.org>
22674         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
22675         * gnulib-tool (func_ln_s): Determine cp_src correctly.
22677 2017-06-07  Bruno Haible  <bruno@clisp.org>
22679         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
22680         Reported by John E. Malmberg <wb8tyw@gmail.com> in
22681         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
22682         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
22683         override, pass 2 arguments to getcwd, not 3.
22685 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22687         same-inode: port better to VMS 8.2 and later
22688         Problem reported by John E. Malmberg in:
22689         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
22690         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
22691         Use the usual POSIX definition.
22692         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
22694 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22696         error: fix POSIX violation for va_end
22697         Problem reported by Bruno Haible in:
22698         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
22699         * lib/error.c (error_tail): Do not call va_end here.
22700         (error, error_at_line): Call it here instead.
22702 2017-05-28  Bruno Haible  <bruno@clisp.org>
22704         c-strtod: Make it usable in C++ mode.
22705         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
22707 2017-05-25  Jim Meyering  <meyering@fb.com>
22709         quotearg: fix compilation failure due to FALLTHROUGH misuse
22710         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
22711         macro back to /* fall through */ comment.  The macro can apply only
22712         to a following case statement.  Reported by Assaf Gordon.
22714 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
22716         intprops: port to recent icc
22717         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
22718         but does not support __builtin_add_overflow etc.
22719         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
22720         Define to 0.
22722 2017-05-23  Karl Berry  <karl@freefriends.org>
22724         * config/srclist.txt (iconv.m4): sync broken, comment out
22725         until (hopefully) the next gettext release.
22727 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
22729         Remove repeated words in comments.
22731 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
22733         fallthrough: reinstate a FALLTHROUGH instance in quotearg
22734         quotearg.c: Reinstate this instance which is significant
22735         when the if branch is not taken.
22737 2017-05-21  Bruno Haible  <bruno@clisp.org>
22739         gnulib-tool: Add options to create hard links.
22740         * gnulib-tool (func_usage): Document options --hardlink,
22741         --local-hardlink, --more-hardlinks.
22742         (func_symlink): Renamed from func_ln.
22743         (func_symlink_if_changed): Renamed from func_ln_if_changed.
22744         (func_hardlink): New function.
22745         (copymode, lcopymode): New variables.
22746         (symbolic, lsymbolic): Remove variables.
22747         (Options): Implement options --hardlink, --local-hardlink,
22748         --more-hardlinks.
22749         (func_should_link): Renamed from func_should_symlink. Set copyaction.
22750         (func_add_file, func_update_file): Update invocation of
22751         func_should_link. Invoke func_hardlink when appropriate.
22752         (func_import): Update comments.
22753         (func_create_testdir): Update invocation of func_should_link. Invoke
22754         func_hardlink when appropriate.
22755         Finally, invoke 'git update-index --refresh' to mitigate the effects of
22756         the hard links on git.
22758 2017-05-20  Bruno Haible  <bruno@clisp.org>
22760         argp: Simplify bit manipulation.
22761         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
22762         on a signed integer type.
22764 2017-05-20  Bruno Haible  <bruno@clisp.org>
22766         Avoid wrong configure results with gcc -fsanitize=address.
22767         This completes the work done on 2016-02-06 on this topic.
22768         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
22769         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22770         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22771         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22772         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
22773         returning.
22774         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22775         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
22776         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22777         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22778         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22779         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22780         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
22781         free allocated memory before returning.
22782         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22783         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
22784         objects before returning.
22785         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
22786         returning.
22788 2017-05-20  Bruno Haible  <bruno@clisp.org>
22790         gnulib-tool: Don't create hard links between gnulib and its testdirs.
22791         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
22793 2017-05-20  Bruno Haible  <bruno@clisp.org>
22795         argp, tsearch tests: Fix file list.
22796         * modules/argp-tests (Files): Add tests/macros.h.
22797         * modules/tsearch-tests (Files): Likewise.
22799 2017-05-20  Bruno Haible  <bruno@clisp.org>
22801         getopt-posix tests: Remove redundant include.
22802         * tests/test-getopt.h: Don't include "macros.h". It's already included
22803         by tests/test-getopt-main.h.
22805 2017-05-19  Jim Meyering  <meyering@fb.com>
22807         dfa: two small simplifications
22808         * lib/dfa.c (build_state): Avoid repeating longer expressions.
22810 2017-05-18  Jim Meyering  <meyering@fb.com>
22812         fallthrough: update for GCC 7/8
22813         * lib/quotearg.c (FALLTHROUGH): New macro.
22814         Use it whenever one switch case falls through into the next,
22815         replacing "/* Fall through */" comments.  This exposed one
22816         instance of an unwarranted "fall through" comment: unwarranted
22817         because it preceded a "goto" label not a case statement.
22818         * lib/freopen-safer.c (freopen_safer): Likewise.
22819         * lib/fts.c (leaf_optimization_applies): Likewise.
22820         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
22821         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
22822         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
22823         tests/macros.h for the definition.
22824         * tests/test-argp.c (group1_parser): Likewise.
22825         * tests/test-getopt.h (getopt_loop): Likewise.
22827 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22829         argp: fix shift bug
22830         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
22831         behavior on shift overflow, caught by gcc -fsanitize=undefined.
22833         argp: fix pointer-subtraction bug
22834         * lib/argp-help.c (hol_append): Don’t subtract pointers to
22835         different arrays, as this can run afoul of -fcheck-pointer-bounds.
22836         See the thread containing Bruno Haible’s report in:
22837         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
22839 2017-05-19  Bruno Haible  <bruno@clisp.org>
22841         printf-posix tests: Avoid test failure with "gcc --coverage".
22842         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22843         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
22844         than 5000000.
22845         * tests/test-fprintf-posix2.c (main): Likewise.
22847 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22849         closeout: don’t close stderr when sanitizing
22850         * NEWS: Document this.
22851         * lib/closeout.c (__has_feature): New macro, if not already defined.
22852         (SANITIZE_ADDRESS): New constant.
22853         (close_stdout): Don’t close stderr if sanitizing addresses.
22855 2017-05-19  Bruno Haible  <bruno@clisp.org>
22857         get-rusage-data tests: Avoid failure on Linux/glibc.
22858         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
22859         on glibc systems.
22861 2017-05-18  Bruno Haible  <bruno@clisp.org>
22863         localename: Include necessary header files on Cygwin.
22864         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
22865         where NL_LOCALE_NAME is defined.
22867 2017-05-18  Bruno Haible  <bruno@clisp.org>
22869         gettext: Update macros from gettext git.
22870         * m4/intldir.m4: Require Autoconf >= 2.60.
22871         * m4/progtest.m4: Fix typos in copyright notice.
22873 2017-05-18  Bruno Haible  <bruno@clisp.org>
22875         copy-file tests: Fix link error (regression from 2017-05-01).
22876         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22877         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
22878         $(LIB_CLOCK_GETTIME).
22880 2017-05-18  Bruno Haible  <bruno@clisp.org>
22882         unicase/special-casing: Fix incompatibility with gperf-3.0.4
22883         (regression from 2017-02-13).
22884         * lib/unicase/special-casing.in.h: Renamed from
22885         lib/unicase/special-casing.h.
22886         * modules/unicase/special-casing (Files): Add
22887         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
22888         (Makefile.am): Add rule for generating unicase/special-casing.h.
22889         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
22890         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
22891         not "special-casing.h".
22892         * lib/unicase/u*.c: Likewise.
22894 2017-05-17  Bruno Haible  <bruno@clisp.org>
22896         README: Don't ask people to read a TeXinfo file.
22897         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22898         * README: Tell people how to read the HTML formatted manual.
22900 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
22902         parse-datetime: Fix memleak
22903         * lib/parse-datetime.y (parse_datetime2): Cleanup on
22904         localtime_rz() failure.
22906 2017-05-16  Bruno Haible  <bruno@clisp.org>
22908         javacomp: Fix handle leak.
22909         Found by Coverity.
22910         * lib/javacomp.c (get_classfile_version): Close fd before returning.
22912 2017-05-16  Bruno Haible  <bruno@clisp.org>
22914         relocate: Make it easier to reclaim allocated memory.
22915         * lib/relocatable.h (relocate2): New declaration/macro.
22916         * lib/relocatable.c (relocate2): New function.
22917         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
22918         relocate2 function.
22919         * lib/localcharset.c (relocate2): Define fallback.
22920         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
22921         allocated memory.
22922         * lib/javaversion.c (relocate2): Define fallback.
22923         (javaexec_version): Invoke relocate2 instead of relocate. Free the
22924         allocated memory.
22926 2017-05-16  Bruno Haible  <bruno@clisp.org>
22928         relocate: Simplify EMX specific code.
22929         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
22930         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
22932 2017-05-16  Bruno Haible  <bruno@clisp.org>
22934         sigpipe tests: Fix file list.
22935         * modules/sigpipe-tests (Files): Add tests/macros.h.
22937 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22939         manywarnings: update for GCC 7
22940         * build-aux/gcc-warning.spec:
22941         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
22942         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
22943         requires a non-comment fallthrough attribute.  This is a bit
22944         cleaner than the comment versions.
22945         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
22946         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
22947         Use it whenever one switch case falls through into the next.
22948         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
22949         Use FALLTHROUGH macro.
22951 2017-05-15  Bruno Haible  <bruno@clisp.org>
22953         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
22954         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
22955         @ALLOCA@, not @LTALLOCA@.
22957 2017-05-15  Bruno Haible  <bruno@clisp.org>
22959         sys_select: Avoid "was expanded before it was required" warning.
22960         * modules/sys_select (configure.ac): Require, not invoke,
22961         gl_HEADER_SYS_SELECT.
22963 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22965         gnulib-tool: improve GNU Make debugging
22966         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
22967         Report autoconf diagnostics when it fails, in the output makefile.
22969 2017-05-14  Bruno Haible  <bruno@clisp.org>
22971         stat-time tests: Improve comment.
22972         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
22974 2017-05-14  Bruno Haible  <bruno@clisp.org>
22976         same-inode: Adapt for windows-stat-inodes.
22977         * lib/same-inode.h: Include <sys/types.h>.
22978         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
22979         * modules/same-inode (Depends-on): Add sys_types.
22981 2017-05-14  Bruno Haible  <bruno@clisp.org>
22983         windows-stat-inodes: New module.
22984         * m4/windows-stat-inodes.m4: New file.
22985         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
22986         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
22987         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
22988         (_GL_WINDOWS_STAT_INODES): New macro.
22989         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
22990         (GetFileInformationByHandleExFunc): New variable.
22991         (initialize): Initialize it.
22992         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
22993         st_ino appropriately.
22994         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
22995         a fallback, because it does not provide st_dev and st_ino values.
22996         * modules/fstat (Depends-on): Add 'verify'.
22997         * modules/windows-stat-inodes: New file.
22998         * doc/windows-stat-inodes.texi: New file.
22999         * doc/gnulib.texi: Include it.
23000         * doc/posix-headers/sys_stat.texi: Mention the new module.
23002 2017-05-14  Bruno Haible  <bruno@clisp.org>
23004         stat-time tests: Workaround for native Windows.
23005         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
23006         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
23007         New variables.
23008         (initialize_filenames): New function.
23009         (main): Invoke it.
23010         (cleanup, prepare_test): Update.
23012 2017-05-14  Bruno Haible  <bruno@clisp.org>
23014         stat-time: Adapt for windows-stat-timespec.
23015         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
23016         entire st_ctim field.
23018 2017-05-13  Jim Meyering  <meyering@fb.com>
23020         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
23021         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
23022         file that uses the assume macro, claiming that verify.h is unused.
23024 2017-05-13  Bruno Haible  <bruno@clisp.org>
23026         Use symbolic values for _WIN32_WINNT.
23027         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
23028         * lib/sethostname.c (_WIN32_WINNT): Likewise.
23030 2017-05-13  Bruno Haible  <bruno@clisp.org>
23032         year2038: New module.
23033         * m4/year2038.m4: New file.
23034         * modules/year2038: New file.
23035         * doc/year2038.texi: New file.
23036         * doc/gnulib.texi: Include it.
23038 2017-05-13  Bruno Haible  <bruno@clisp.org>
23040         largefile: Simplify.
23041         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
23042         of _GL_WINDOWS_64_BIT_ST_SIZE.
23044 2017-05-13  Bruno Haible  <bruno@clisp.org>
23046         largefile: Improve and document.
23047         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
23048         the mingw headers already define 'stat' appropriately.
23049         * modules/largefile (Description): Clarify.
23050         * doc/largefile.texi: New file.
23051         * doc/gnulib.texi: Include it.
23052         * doc/posix-headers/sys_types.texi: Update.
23054 2017-05-13  Bruno Haible  <bruno@clisp.org>
23056         truncate: New module.
23057         * lib/unistd.in.h (truncate): New declaration.
23058         * lib/truncate.c: New file.
23059         * m4/truncate.m4: New file.
23060         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
23061         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
23062         REPLACE_TRUNCATE.
23063         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
23064         HAVE_TRUNCATE, REPLACE_TRUNCATE.
23065         * modules/truncate: New file.
23066         * tests/test-unistd-c++.cc (truncate): Test signature.
23067         * doc/posix-functions/truncate.texi: Mention the new module.
23069         * tests/test-truncate.c: New file.
23070         * modules/truncate-tests: New file.
23072 2017-05-13  Bruno Haible  <bruno@clisp.org>
23074         windows-stat-timespec: New module.
23075         * modules/windows-stat-timespec: New file.
23076         * m4/windows-stat-timespec.m4: New file.
23077         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
23078         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
23079         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
23080         fields st_atim, st_mtim, st_ctim.
23081         (st_atime, st_mtime, st_ctime): Define as macros.
23082         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
23083         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
23084         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
23085         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
23086         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
23087         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
23088         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23089         FILETIME to 'struct timespec', not 'time_t'.
23090         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23091         FILETIME to 'struct timespec', not 'time_t'.
23092         * lib/stat-time.h (STAT_TIMESPEC): Define also if
23093         _GL_WINDOWS_STAT_TIMESPEC.
23094         * doc/windows-stat-timespec.texi: New file.
23095         * doc/gnulib.texi: Include it.
23097 2017-05-13  Bruno Haible  <bruno@clisp.org>
23099         windows-stat-override: New module.
23100         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
23101         definition. Define GNULIB_defined_struct_stat.
23102         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
23103         link error if this symbol is used and the corresponding module is not
23104         in use.
23105         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
23106         GNULIB_OVERRIDES_STRUCT_STAT.
23107         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23108         GNULIB_OVERRIDES_STRUCT_STAT.
23109         * modules/sys_stat (Makefile.am): Substitute
23110         GNULIB_OVERRIDES_STRUCT_STAT.
23111         * modules/windows-stat-override: New file.
23113 2017-05-13  Bruno Haible  <bruno@clisp.org>
23115         fstat: Fix module dependency conditions.
23116         * modules/fstat (Depends-on): Fix typo.
23118 2017-05-13  Bruno Haible  <bruno@clisp.org>
23120         stat, fstat: Complete removal of old native Windows code.
23121         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
23122         * lib/fstat.c: Likewise.
23123         * lib/stat-w32.c: Likewise.
23125 2017-05-13  Bruno Haible  <bruno@clisp.org>
23127         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
23128         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
23130 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23132         getopt-posix: port to mingw
23133         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
23134         Problem reported by Daniel P. Berrage in:
23135         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
23137 2017-05-11  Bruno Haible  <bruno@clisp.org>
23139         gettimeofday: Increase precision on mingw.
23140         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
23141         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
23142         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
23143         GetSystemTimePreciseAsFileTime based implementation always.
23144         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
23145         mingw.
23147 2017-05-11  Bruno Haible  <bruno@clisp.org>
23149         poll: Fix confusion between SOCKETs and FDs on native Windows.
23150         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
23151         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
23153 2017-05-11  Bruno Haible  <bruno@clisp.org>
23155         doc: Clarify doc about socket functions on native Windows.
23156         This reworks doc that was added on 2008-09-29.
23157         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
23158         clearer wording.
23159         * doc/posix-functions/accept.texi: Use clearer wording.
23160         * doc/posix-functions/bind.texi: Likewise.
23161         * doc/posix-functions/connect.texi: Likewise.
23162         * doc/posix-functions/getpeername.texi: Likewise.
23163         * doc/posix-functions/getsockname.texi: Likewise.
23164         * doc/posix-functions/getsockopt.texi: Likewise.
23165         * doc/posix-functions/ioctl.texi: Likewise.
23166         * doc/posix-functions/listen.texi: Likewise.
23167         * doc/posix-functions/recv.texi: Likewise.
23168         * doc/posix-functions/recvfrom.texi: Likewise.
23169         * doc/posix-functions/send.texi: Likewise.
23170         * doc/posix-functions/sendto.texi: Likewise.
23171         * doc/posix-functions/setsockopt.texi: Likewise.
23172         * doc/posix-functions/shutdown.texi: Likewise.
23173         * doc/posix-functions/socket.texi: Likewise.
23175 2017-05-10  Bruno Haible  <bruno@clisp.org>
23177         poll: Fix link error on native Windows.
23178         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
23180 2017-05-10  Bruno Haible  <bruno@clisp.org>
23182         time: Fix missing initialization of HAVE_TIMEZONE_T.
23183         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
23184         here...
23185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
23186         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
23187         gl_HEADER_SYS_TIME_H_DEFAULTS.
23188         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
23189         (configure.ac): Remove useless quoting.
23191 2017-05-10  Bruno Haible  <bruno@clisp.org>
23193         Implement a way to opt out from MSVC support, part 2.
23194         * modules/msvc-inval (Include): Document recommended idiom.
23195         * modules/msvc-nothrow (Include): Likewise.
23197         Implement a way to opt out from MSVC support.
23198         This is useful for Emacs.
23199         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
23200         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
23201         * lib/error.c: Likewise.
23202         * lib/fcntl.c: Likewise.
23203         * lib/flock.c: Likewise.
23204         * lib/fstat.c: Likewise.
23205         * lib/fsync.c: Likewise.
23206         * lib/ioctl.c: Likewise.
23207         * lib/isapipe.c: Likewise.
23208         * lib/lseek.c: Likewise.
23209         * lib/nonblocking.c: Likewise.
23210         * lib/poll.c: Likewise.
23211         * lib/select.c: Likewise.
23212         * lib/sockets.h: Likewise.
23213         * lib/sockets.c: Likewise.
23214         * lib/stdio-read.c: Likewise.
23215         * lib/stdio-write.c: Likewise.
23216         * lib/utimens.c: Likewise.
23217         * lib/w32sock.h: Likewise.
23218         * lib/w32spawn.h: Likewise.
23219         * tests/test-cloexec.c: Likewise.
23220         * tests/test-dup-safer.c: Likewise.
23221         * tests/test-dup2.c: Likewise.
23222         * tests/test-dup3.c: Likewise.
23223         * tests/test-fcntl.c: Likewise.
23224         * tests/test-pipe.c: Likewise.
23225         * tests/test-pipe2.c: Likewise.
23226         * lib/ftruncate.c: Likewise.
23227         (chsize_nothrow): Renamed from chsize.
23228         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
23229         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23230         * lib/close.c: Likewise.
23231         * lib/dup.c: Likewise.
23232         * lib/fclose.c: Likewise.
23233         * lib/raise.c: Likewise.
23234         * tests/test-fgetc.c: Likewise.
23235         * tests/test-fputc.c: Likewise.
23236         * tests/test-fread.c: Likewise.
23237         * tests/test-fwrite.c: Likewise.
23238         * lib/getdtablesize.c: Likewise.
23239         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
23240         * lib/isatty.c: Don't include msvc-inval.h if
23241         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23242         Include <io.h> as an alternative to msvc-nothrow.h.
23243         * lib/read.c: Likewise.
23244         * lib/write.c: Likewise.
23245         * lib/dup2.c: Likewise.
23246         (dup2_nothrow): New function.
23247         (ms_windows_dup2): Use it.
23248         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
23249         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
23250         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23251         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
23252         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
23253         * m4/read.m4 (gl_FUNC_READ): Likewise.
23254         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
23255         * doc/windows-without-msvc.texi: New file.
23256         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
23257         section.
23259 2017-05-10  Bruno Haible  <bruno@clisp.org>
23261         wait-process: Adjust native Windows support.
23262         * lib/wait-process.c: Use the usual condition for recognizing a native
23263         Windows platform.
23265 2017-05-10  Bruno Haible  <bruno@clisp.org>
23267         doc: New chapter "Native Windows Support".
23268         * doc/gnulib.texi (Native Windows Support): New chapter.
23269         * doc/windows-libtool.texi: Small wording changes.
23270         * doc/windows-sockets.texi: Small wording and formatting changes.
23272 2017-05-10  Bruno Haible  <bruno@clisp.org>
23274         doc: Move section "Library version handling".
23275         * doc/gnulib.texi: Move section "Library version handling"
23276         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
23278 2017-05-10  Bruno Haible  <bruno@clisp.org>
23280         doc: Move section "Running self-tests under valgrind".
23281         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
23282         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
23284 2017-05-10  Bruno Haible  <bruno@clisp.org>
23286         doc: New chapter "Build Infrastructure Modules".
23287         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
23289 2017-05-10  Bruno Haible  <bruno@clisp.org>
23291         Prepare for reordering sections in the manual.
23292         * doc/gnulib.texi: Move several sections to separate files. Include
23293         these files.
23294         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
23295         * doc/obsolete.texi: Likewise.
23296         * doc/extra-tests.texi: Likewise.
23297         * doc/transversal.texi: Likewise.
23298         * doc/namespace.texi: Likewise.
23299         * doc/check-version.texi: Likewise.
23300         * doc/windows-sockets.texi: Likewise.
23301         * doc/windows-libtool.texi: Likewise.
23302         * doc/licenses-texi.texi: Likewise.
23303         * doc/build-automation.texi: Likewise.
23304         * doc/c-locale.texi: Likewise.
23306 2017-05-10  Bruno Haible  <bruno@clisp.org>
23308         Fix instructions how to update manual on www.gnu.org.
23309         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
23311 2017-05-09  Bruno Haible  <bruno@clisp.org>
23313         tzset: Expand comment about TZ problem on native Windows.
23314         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
23315         Paul Eggert.
23316         * lib/ctime.c (rpl_ctime): Likewise.
23317         * lib/localtime.c (rpl_localtime): Likewise.
23318         * lib/mktime.c (mktime): Likewise.
23319         * lib/strftime-fixes.c (rpl_strftime): Likewise.
23320         * lib/wcsftime.c (rpl_wcsftime): Likewise.
23322 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23324         intprops: don’t depend on ‘verify’
23325         Problem reported by Ævar Arnfjörð Bjarmason in:
23326         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
23327         * lib/intprops.h: Do not include verify.h, and move compile-time
23328         checks from here ...
23329         * tests/test-intprops.c (main): ... to here, if they’re not here
23330         already.  Check widths of other standard integer types.
23331         * modules/intprops (Depends-on): Remove ‘verify’.
23333 2017-05-07  Bruno Haible  <bruno@clisp.org>
23335         utimens: On native Windows, support 100ns resolution also if fd < 0.
23336         * lib/utime.in.h: Include <time.h>.
23337         (_gl_utimens_windows): New declaration.
23338         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
23339         (utime): Invoke it.
23340         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
23341         instead of utime.
23342         * modules/utime (Depends-on): Add 'time'.
23344 2017-05-07  Bruno Haible  <bruno@clisp.org>
23346         utimens: Improve error code on native Windows.
23347         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
23348         error code EACCES, not EINVAL.
23350 2017-05-07  Bruno Haible  <bruno@clisp.org>
23352         utime: Handle more Windows error codes.
23353         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
23354         Based on explanations by Billy O'Neal.
23356 2017-05-05  Bruno Haible  <bruno@clisp.org>
23358         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
23359         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
23360         union.
23361         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
23362         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
23363         value of cipher->IV.
23365 2017-05-05  Bruno Haible  <bruno@clisp.org>
23367         wctype-h-c++-tests: Update.
23368         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
23370 2017-05-05  Bruno Haible  <bruno@clisp.org>
23372         wchar-c++-tests: Update.
23373         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
23375 2017-05-05  Bruno Haible  <bruno@clisp.org>
23377         utime-h-c++-tests: New module.
23378         * tests/test-utime-h-c++.cc: New file.
23379         (utime): Declare, missing since 2017-04-30.
23380         * modules/utime-h-c++-tests: New file.
23382 2017-05-05  Bruno Haible  <bruno@clisp.org>
23384         unistd-c++-tests: Update.
23385         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
23386         (read): Declare, missing since 2011-04-15.
23387         (sethostname): Declare, missing since 2011-12-03.
23389 2017-05-05  Bruno Haible  <bruno@clisp.org>
23391         time-c++-tests: Update.
23392         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
23393         (localtime, gmtime): Declare, missing since 2017-04-30.
23394         (ctime): Declare, missing since 2017-04-30.
23395         (strftime): Declare, missing since 2017-04-30.
23396         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
23397         2015-07-24.
23399 2017-05-05  Bruno Haible  <bruno@clisp.org>
23401         sys_resource-c++-tests: New module.
23402         * tests/test-sys_resource-c++.cc: New file.
23403         (getrusage): Declare, missing since 2012-04-13.
23404         * modules/sys_resource-c++-tests: New file.
23406 2017-05-05  Bruno Haible  <bruno@clisp.org>
23408         strings-c++-tests: New module.
23409         * tests/test-strings-c++.cc: New file.
23410         (ffs): Declare, missing since 2011-07-12.
23411         * modules/strings-c++-tests: New file.
23413 2017-05-05  Bruno Haible  <bruno@clisp.org>
23415         string-c++-tests: Update.
23416         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
23417         (ffsll): Declare, missing since 2011-07-15.
23419 2017-05-05  Bruno Haible  <bruno@clisp.org>
23421         stdlib-c++-tests: Update.
23422         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
23423         2011-10-18.
23424         (ptsname_r): Declare, missing since 2011-11-07.
23425         (qsort_r): Declare, missing since 2014-08-29.
23426         (random, srandom, initstate, setstate): Declare, missing since
23427         2012-01-14.
23428         (secure_getenv): Declare, missing since 2013-02-05.
23430 2017-05-05  Bruno Haible  <bruno@clisp.org>
23432         stdio-c++-tests: Update.
23433         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
23435 2017-05-05  Bruno Haible  <bruno@clisp.org>
23437         signal-h-c++-tests: Update.
23438         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
23440 2017-05-05  Bruno Haible  <bruno@clisp.org>
23442         math-c++-tests: Update.
23443         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
23444         (fma): Declare, missing since 2011-10-17.
23445         (fmal): Declare, missing since 2011-10-17.
23447 2017-05-05  Bruno Haible  <bruno@clisp.org>
23449         locale-c++-tests: Update.
23450         * tests/test-locale-c++.cc (localeconv): Declare, missing since
23451         2012-03-25.
23453 2017-05-05  Bruno Haible  <bruno@clisp.org>
23455         inttypes-c++-tests: New module.
23456         * tests/test-inttypes-c++.cc: New file.
23457         (strtoimax): Declare, missing since 2012-01-05.
23458         (strtoumax): Declare, missing since 2012-01-05.
23459         * modules/inttypes-c++-tests: New file.
23461 2017-05-05  Bruno Haible  <bruno@clisp.org>
23463         dirent-c++-tests: Update.
23464         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
23465         (rewinddir): Declare, missing since 2011-09-13.
23466         (dirfd): Declare, missing since 2010-03-08.
23468 2017-05-04  Bruno Haible  <bruno@clisp.org>
23470         argp: Fix mistake in 2017-04-23 commit.
23471         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
23472         assume that strerror_r returns 'int', not 'char *'.
23474 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
23476         argp: Fix typo.
23477         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
23479 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23481         utimens: port to Emacs + MS-Windows
23482         Skip the new MS-Windows-specific code if Emacs.
23483         * lib/utimens.c [EMACS_CONFIGUATION]:
23484         Avoid new MS-Windows-specific code.
23485         (USE_SETFILETIME): New macro.
23486         (fdutimens): Use it.
23488 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23490         tzset: update doc for TZ problems on MS-Windows
23491         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
23492         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
23493         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
23494         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
23495         * doc/posix-functions/wcsftime.texi:
23496         Mention some issues with TZ under MS-Windows.
23498 2017-05-01  Bruno Haible  <bruno@clisp.org>
23500         copy-file: Fix build error on mingw.
23501         * modules/copy-file (Depends-on): Add 'close'.
23503 2017-05-01  Bruno Haible  <bruno@clisp.org>
23505         tzset: Work around TZ problem on native Windows.
23506         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
23507         Windows, set REPLACE_TZSET to 1.
23508         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
23509         invoke '_tzset' instead of 'tzset'.
23510         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
23512         * modules/time_rz (Depends-on): Add tzset.
23513         * lib/time_rz.c (tzset): Remove fallback definition.
23514         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
23516 2017-05-01  Bruno Haible  <bruno@clisp.org>
23518         mktime: Fix dependencies.
23519         * modules/mktime (Depends-on): Add 'time'.
23521 2017-05-01  Bruno Haible  <bruno@clisp.org>
23523         New module 'localtime-buffer', split off from module 'gettimeofday'.
23524         * lib/localtime-buffer.h: New file.
23525         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
23526         * lib/time.in.h (tzset): New declaration.
23527         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
23528         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
23529         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
23530         moved to lib/localtime-buffer.c or lib/tzset.c.
23531         * m4/localtime-buffer.m4: New file.
23532         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
23533         HAVE_TZSET, REPLACE_TZSET.
23534         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
23535         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
23536         gl_LOCALTIME_BUFFER_NEEDED.
23537         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
23538         since 2007-01-18.
23539         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
23540         tzset.
23541         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
23542         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
23543         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
23544         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
23545         * modules/localtime-buffer: New file.
23546         * modules/time (Depends-on): Remove 'gettimeofday'.
23547         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
23548         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
23549         * modules/tzset (Description): Enable hyperlink to POSIX spec.
23550         (Files): Add lib/tzset.c.
23551         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
23552         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
23553         gl_TIME_MODULE_INDICATOR.
23554         * modules/gettimeofday (Depends-on): Add localtime-buffer.
23556 2017-05-01  Bruno Haible  <bruno@clisp.org>
23558         copy-file: Preserve sub-second time stamps.
23559         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
23560         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
23561         transport the time stamps from the original file to the destination
23562         file.
23563         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
23564         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
23565         utime-h.
23567 2017-05-01  Bruno Haible  <bruno@clisp.org>
23569         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
23570         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
23571         also on MSVC.
23572         Reported by Eli Zaretskii <eliz@gnu.org>.
23574 2017-05-01  Bruno Haible  <bruno@clisp.org>
23576         wchar: Fix compilation error with the original mingw.org mingw.
23577         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23578         <stddef.h> instead.
23579         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
23580         gl_WCTYPE_H.
23581         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
23582         gl_TYPE_WINT_T_PREREQ instead.
23583         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
23584         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
23585         Reported by Eli Zaretskii <eliz@gnu.org>.
23587 2017-04-30  Bruno Haible  <bruno@clisp.org>
23589         utimecmp: Add support for native Windows.
23590         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
23592 2017-04-30  Bruno Haible  <bruno@clisp.org>
23594         utimens: Add support for native Windows.
23595         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
23596         (fdutimens): Provide a native Windows implementation, like utime.c with
23597         added tv_nsec support.
23598         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
23599         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
23601 2017-04-30  Bruno Haible  <bruno@clisp.org>
23603         wcsftime: New module.
23604         * lib/wchar.in.h (wcsftime): New declaration.
23605         * lib/wcsftime.c: New file.
23606         * m4/wcsftime.m4: New file.
23607         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
23608         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
23609         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
23611         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23612         * modules/wcsftime: New file.
23613         * doc/posix-functions/wcsftime.texi: Mention the new module.
23615 2017-04-30  Bruno Haible  <bruno@clisp.org>
23617         strftime-fixes: New module.
23618         * lib/time.in.h (strftime): New declaration.
23619         * lib/strftime-fixes.c: New file.
23620         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
23621         (gl_FUNC_STRFTIME): Remove macro.
23622         * m4/strftime-fixes.m4: New file.
23623         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
23624         REPLACE_STRFTIME.
23625         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
23626         REPLACE_STRFTIME.
23627         * modules/strftime-fixes: New file.
23628         * doc/posix-functions/strftime.texi: Mention the new module.
23630 2017-04-30  Bruno Haible  <bruno@clisp.org>
23632         mktime: Work around TZ problem on native Windows.
23633         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
23634         from the native Windows workaround.
23635         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
23636         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
23637         'guessing no'.
23638         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
23639         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
23640         NEED_MKTIME_WINDOWS.
23641         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
23642         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
23643         NEED_MKTIME_INTERNAL.
23644         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
23645         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
23646         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
23647         not REPLACE_MKTIME.
23648         * doc/posix-functions/mktime.texi: Mention the native Windows
23649         workaround.
23651 2017-04-30  Bruno Haible  <bruno@clisp.org>
23653         localtime: New module.
23654         * lib/time.in.h (localtime): Declare also if requested by module
23655         'localtime'.
23656         * lib/localtime.c: New file.
23657         * m4/localtime.m4: New file.
23658         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
23659         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
23660         * modules/localtime: New file.
23661         * doc/posix-functions/localtime.texi: Mention the new module.
23663 2017-04-30  Bruno Haible  <bruno@clisp.org>
23665         ctime: New module.
23666         * lib/time.in.h (ctime): New declaration.
23667         * lib/ctime.c: New file.
23668         * m4/ctime.m4: New file.
23669         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
23670         REPLACE_CTIME.
23671         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
23672         * modules/ctime: New file.
23673         * doc/posix-functions/ctime.texi: Mention the new module.
23675 2017-04-30  Bruno Haible  <bruno@clisp.org>
23677         gettimeofday: Provide higher resolution on native Windows.
23678         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
23679         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
23680         (initialize): Initialize it.
23681         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
23682         'struct timeval'. Don't use _ftime().
23683         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
23684         <sys/timeb.h> and _ftime.
23686 2017-04-30  Bruno Haible  <bruno@clisp.org>
23688         Document the problem with the Cygwin environment variable TZ.
23689         * doc/posix-functions/tzset.texi: Add note about TZ.
23690         * doc/posix-functions/ctime.texi: Likewise.
23691         * doc/posix-functions/localtime.texi: Likewise.
23692         * doc/posix-functions/mktime.texi: Likewise.
23693         * doc/posix-functions/strftime.texi: Likewise.
23694         * doc/posix-functions/wcsftime.texi: Likewise.
23695         * doc/pastposix-functions/ftime.texi: Likewise.
23697 2017-04-30  Bruno Haible  <bruno@clisp.org>
23699         utime-tests: New module.
23700         * tests/test-utime.c: New file, based on tests/test-utimens.h.
23701         * tests/test-utimens-common.h: Include <sys/stat.h>.
23702         * modules/utime-tests: New file.
23704 2017-04-29  Bruno Haible  <bruno@clisp.org>
23706         utime: New module.
23707         * lib/utime.in.h: Add comment for snippets.
23708         (utime): New declaration.
23709         * lib/utime.c: New file.
23710         * m4/utime.m4: New file.
23711         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
23712         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
23713         REPLACE_UTIME.
23714         * modules/utime-h (Depends-on): Add snippets.
23715         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
23716         Insert snippets.
23717         * modules/utime: New file.
23718         * doc/posix-functions/utime.texi: Mention the new module.
23720 2017-04-29  Bruno Haible  <bruno@clisp.org>
23722         utime-h: Modernize handling of 'struct utimbuf'.
23723         * lib/utime.in.h: Include next <utime.h> if it exists.
23724         (utimbuf): Define to _utimbuf on native Windows.
23725         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
23726         Set UTIME_H on native Windows.
23727         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
23728         * modules/utime-h (Depends-on): Add include_next.
23729         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
23730         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
23732         * lib/utimens.c (utimbuf): Remove fallback definition.
23733         * m4/utimens.m4 (gl_UTIMENS): Don't require
23734         gl_CHECK_TYPE_STRUCT_UTIMBUF.
23735         * m4/utimbuf.m4: Remove file.
23736         * modules/utimens (Files): Remove m4/utimbuf.m4.
23738 2017-04-29  Bruno Haible  <bruno@clisp.org>
23740         Make use of module 'utime-h'.
23741         * modules/copy-file (Depends-on): Add utime-h.
23742         * lib/copy-file.c: Assume that <utime.h> exists.
23743         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
23745         * modules/utimens (Depends-on): Add utime-h.
23746         * lib/utimens.c: Assume that <utime.h> exists.
23748 2017-04-29  Bruno Haible  <bruno@clisp.org>
23750         utime-h: New module.
23751         * m4/utime_h.m4: New file.
23752         * lib/utime.in.h: New file.
23753         * modules/utime-h: New file.
23754         * doc/posix-headers/utime.texi: Mention the new module.
23756         * tests/test-utime-h.c: New file.
23757         * modules/utime-h-tests: New file.
23759 2017-04-30  Bruno Haible  <bruno@clisp.org>
23761         Fix a few typos.
23762         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
23763         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
23764         * doc/posix-functions/fstat.texi: Fix a plural typo.
23765         * doc/posix-functions/stat.texi: Likewise.
23766         * m4/include_next.m4: Update comments.
23768 2017-04-29  Bruno Haible  <bruno@clisp.org>
23770         error: Fix mistake in 2017-04-23 commit.
23771         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
23772         assume that strerror_r returns 'int', not 'char *'.
23774 2017-04-29  Bruno Haible  <bruno@clisp.org>
23776         stat: Fix time_t values and other problems on native Windows platforms.
23777         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
23778         implementations of stat().
23779         * lib/stat.c: Include filename.h instead of dosname.h. Include
23780         malloca.h, stat-w32.h.
23781         (is_unc_root): New function.
23782         (rpl_stat): New implementation for native Windows. Remove
23783         REPLACE_FUNC_STAT_DIR code.
23784         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
23785         Don't define REPLACE_FUNC_STAT_DIR.
23786         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
23787         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23788         (Depends-on): Remove dosname. Add filename, malloca.
23789         (configure.ac): Also compile lib/stat-w32.c.
23791 2017-04-29  Bruno Haible  <bruno@clisp.org>
23793         fstat: Fix time_t values on native Windows platforms.
23794         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
23795         * lib/stat-w32.h: New file.
23796         * lib/stat-w32.c: New file.
23797         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
23798         stat-w32.h instead.
23799         (fstat_nothrow): Remove function.
23800         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
23801         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
23802         always.
23803         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
23804         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23805         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
23806         (configure.ac): Also compile lib/stat-w32.c.
23808 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23810         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23811         Problem reported by Assaf Gordon and Gavin Smith in:
23812         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
23813         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
23814         #define this, too.
23816 2017-04-29  Bruno Haible  <bruno@clisp.org>
23818         strerror_r-posix: Fixes for MSVC 14.
23819         * lib/strerror_r.c: Include <stdarg.h>.
23820         (strerror_r): Provide error messages for errno values 100...140.
23821         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
23823 2017-04-28  Bruno Haible  <bruno@clisp.org>
23825         noreturn: New module.
23826         * lib/noreturn.h: New file.
23827         * modules/noreturn: New file.
23828         * tests/test-noreturn.c: New file.
23829         * modules/noreturn-tests: New file.
23830         * tests/test-noreturn-c++.cc: New file.
23831         * modules/noreturn-c++-tests: New file.
23833 2017-04-27  Bruno Haible  <bruno@clisp.org>
23835         wctype-h: Fix compilation error with the original mingw.org mingw.
23836         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
23837         HAVE_CRTDEFS_H.
23838         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
23839         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23840         <stddef.h> instead.
23841         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
23843 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23845         nap.h: Fix compilation on non windows platforms
23846         * tests/nap.h: Move misplaced endif.
23848 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23849         and Paul Eggert  <eggert@cs.ucla.edu>
23851         time_rz: fix heap buffer overflow vulnerability
23852         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
23853         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
23854         whether there is enough buffer space available, thus avoiding
23855         the problematic promotion of signed to unsigned causing an invalid
23856         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
23857         the start of the buffer.
23858         * tests/test-parse-datetime.c (main): Add a test case written by
23859         Paul Eggert, which overwrites enough of the heap so that
23860         standard glibc will fail with "free(): invalid pointer"
23861         without the patch applied.
23863 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
23865         xalloc: add missing integer overflow check
23866         * lib/xalloc.h (x2nrealloc): Also check for multiplication
23867         overflow when P is null.
23869 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23871         parse-datetime: make it standalone
23872         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
23873         (_GL_ATTRIBUTE_FORMAT): New macro.
23874         These are needed to get './gnulib-tool --test parse-datetime' to work.
23876 2017-04-23  Bruno Haible  <bruno@clisp.org>
23878         nap.h: Port to native Windows.
23879         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
23880         use nap_fd instead. On native Windows, close and reopen nap_fd.
23881         (nap_works): Don't compare the ctimes, because on native Windows, these
23882         are the creation times.
23883         (nap): Update.
23885 2017-04-23  Bruno Haible  <bruno@clisp.org>
23887         nap.h: Fix logic.
23888         * tests/nap.h (nap): Avoid signed integer overflow in loop.
23890 2017-04-23  Bruno Haible  <bruno@clisp.org>
23892         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
23893         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
23894         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
23895         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
23896         * lib/argp-help.c (__argp_failure): Likewise.
23898 2017-04-23  Bruno Haible  <bruno@clisp.org>
23900         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
23901         * m4/strerror_r.m4: Revert changes since 2016-10-16.
23902         * lib/strerror_r.c: Likewise.
23904 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
23906         Target a C99 subset, not a C89 subset
23907         For many years Gnulib has targeted C89 and has resisted using C99
23908         features, as some Gnulib-using programs still wanted to target
23909         C89.  As this no longer seems to be the case, relax the porting
23910         requirements to allow some C99 features.  This is merely a change
23911         to the documentation, to give other Gnulib developers a chance to
23912         weigh in on the topic.
23913         * doc/extern-inline.texi (extern inline):
23914         * doc/gnulib-readme.texi (Portability guidelines):
23915         * doc/gnulib-tool.texi (Initial import):
23916         * doc/gnulib.texi (Header files):
23917         Modernize to talk about C99 and C11 instead of C89 and C99.
23918         * doc/gnulib-readme.texi (Portability guidelines):
23919         Now a section, not merely a subsection, so that it
23920         can be split up.  Modernize a bit.
23921         (C language versions, C99 features assumed)
23922         (C99 features avoided):
23923         New sections.
23925 2017-04-23  Bruno Haible  <bruno@clisp.org>
23927         doc: New section "Modules that modify the way other modules work".
23928         * doc/gnulib.texi (Modules that modify the way other modules work): New
23929         section.
23931 2017-04-23  Bruno Haible  <bruno@clisp.org>
23933         stat-time: Update comments.
23934         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
23935         * tests/test-utimens-common.h: Add reference regarding st_ctime on
23936         Windows.
23938 2017-04-01  Bruno Haible  <bruno@clisp.org>
23940         glob: Fix more memory leaks.
23941         * lib/glob.c (glob): Free allocated memory before returning.
23942         Reported by Coverity via Tim Rühsen.
23944 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23946         poll: improve fast check for out-of-range NFD
23947         * lib/poll.c: Do not include intprops.h.
23948         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
23949         * modules/poll (Depends-on): Remove intprops.
23951         ftoastr: cite a newer paper
23952         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
23953         instead of Loitsch 2010.
23955 2017-04-22  Bruno Haible  <bruno@clisp.org>
23957         poll: Enable argument check also in the Windows implementation.
23958         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
23959         Reported by Paul Eggert.
23961 2017-04-22  Bruno Haible  <bruno@clisp.org>
23963         getlogin_r: Work around bug in Mac OS X 10.12.
23964         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
23965         bug.
23966         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
23967         given size minus 1, call getlogin_r a second time, on a larger buffer.
23968         * modules/getlogin_r (Depends-on): Add malloca.
23969         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
23971 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23973         parse-datetime: fix %z and prefer signed int
23974         %z problem reported by Pádraig Brady in:
23975         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
23976         While fixing it, I decided to prefer signed ints to size_t, as
23977         they are less error-prone (e.g., ubsan catches overflow).
23978         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
23979         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
23980         counts, since signed integers make for better debugging.
23981         (date): Don’t assume %z works in printf formats.
23982         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
23983         sizes of buffers known to be small, e.g., because we’re using snprintf.
23984         (parse_datetime2): Simplify call to debug_mktime_not_ok.
23986 2017-04-22  Bruno Haible  <bruno@clisp.org>
23988         *printf: Work around rounding bug on Mac OS X.
23989         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
23990         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
23991         Mac OS X and FreeBSD.
23992         * doc/glibc-functions/*printf.texi: Likewise.
23994 2017-04-22  Bruno Haible  <bruno@clisp.org>
23996         vasnprintf tests: Avoid warnings.
23997         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
23998         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
23999         test.
24001 2017-04-22  Bruno Haible  <bruno@clisp.org>
24003         sys_file tests: Avoid warning.
24004         * tests/test-sys_file.c (main): Add a default clause to the switch
24005         statement.
24007 2017-04-22  Bruno Haible  <bruno@clisp.org>
24009         sethostname: Update doc.
24010         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
24011         Mac OS X.
24013 2017-04-22  Bruno Haible  <bruno@clisp.org>
24015         quotearg tests: Avoid warnings.
24016         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
24017         false.
24019 2017-04-22  Bruno Haible  <bruno@clisp.org>
24021         poll: Enable argument check.
24022         * lib/poll.c: Include intprops.h.
24023         (poll): Check value of nfd correctly.
24024         * modules/poll (Depends-on): Add intprops.
24026 2017-04-22  Bruno Haible  <bruno@clisp.org>
24028         get-rusage-data: Avoid warnings on Mac OS X.
24029         * lib/get-rusage-data.c: On Mac OS X, don't define
24030         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
24031         (get_rusage_data) [Mac OS X]: Just return 0.
24033 2017-04-22  Bruno Haible  <bruno@clisp.org>
24035         xbinary-io: Fix build error.
24036         * modules/xbinary-io (Depends-on): Add gettext-h.
24037         * lib/xbinary-io.c: Include gettext.h and define _().
24038         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
24039         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
24041 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24043         parse-datetime: overflow and debug cleanups
24044         This long patch was triggered by this bug report from Ruediger Meier:
24045         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
24046         I fixed the bug he noted, then found some others nearby, and then
24047         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
24048         up some of the code to follow GNU standards while I was at it.
24049         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
24050         use c_isdigit.
24051         (EPOCH_YEAR): Remove; unused.
24052         (TM_YEAR_BASE): Now an enum rather than a macro.
24053         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
24054         time zone offset, since timezones now are in terms of seconds and
24055         not minutes.
24056         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
24057         appropriate.  Verify that intmax_t is wide enough.
24058         (time_overflow, time_zone_str): New functions, used to deal
24059         more reliably with overflow.
24060         (dbg_printf): Add printf attribute, to help catch integer width errors.
24061         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
24062         (%union, to_hour, yylex, parse_datetime2):
24063         Use intmax_t instead of long int and/or long_time_t.
24064         All uses changed.
24065         (DBGBUFSIZE): Move earlier.
24066         (relative_time, set_hhmmss, parser_control):
24067         Just use int for nanoseconds and for time zones; that’s wide enough.
24068         (parser_control): Use bool for members like year_seen that can
24069         be booleans instead of counters.  All uses changed.
24070         Remove debug_default_input_timezone; no longer needed.
24071         All uses removed.
24072         (apply_relative_time): Return a bool overflow flag.
24073         All uses changed to check for overflow.
24074         (apply_relative_time, zone, date, relunit, relunit_snumber)
24075         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
24076         Check for integer overflow portably.
24077         (str_days): Use just int for N, as it’s wide enough.
24078         Prefer 2D char arrays to arrays of char * when it looks like
24079         2D is a win on typical platforms.
24080         Prefer snprintf to strncpy/strncat, for simplicity;
24081         all buffers are smaller than INT_MAX so this is safe.
24082         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
24083         (debug_print_current_time): Don’t assume tv_nsec is of type long,
24084         as this is not true on x32.  Output "." before any nanoseconds.
24085         (debug_print_current_time, parse_datetime2):
24086         Output local zones using a more-consistent format.
24087         (debug_print_current_time, date, parse_datetime2):
24088         (main) [TEST]:
24089         Don’t assume time_t is the same width as long.
24090         (print_rel_part): New function, replacing ...
24091         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
24092         (debug_print_relative_time): Use bool for boolean.
24093         (local_zone): dsts_seen now counts only tDST instances.
24094         (date): Fix printf of size_t to use %z.  Do not assume numeric
24095         tokens have negative values merely because the context suggests
24096         a syntax with "-" separating tokens.
24097         (time_zone_hhmm): Return bool success indicator, which checks for
24098         overflow.  Store result into PC->time_zone instead.  All callers
24099         changed.
24100         (tm_year_str): New function.  Return a bool success indicator and
24101         store the result into a buffer.  All callers changed.  Output the
24102         numerically correct string even if adding 1900 to the year would
24103         overflow.
24104         (to_tm_year): New function, replacing the old to_year.  All
24105         callers changed.
24106         (tm_diff): Sync with glibc.
24107         (lookup_word): Use to_uchar instead of doing it by hand.
24108         (TZBUFSIZE): Now local to the only function that needs it.
24109         (debug_strfdatetime): Simplify now that time zones are int seconds.
24110         (debug_strfdate): Work even if tm_year + 1900 would overflow.
24111         (get_effective_timezone): Remove.  All uses removed.
24112         (parse_datetime2): Use fprintf in pieces instead of snprintfing
24113         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
24114         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
24115         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
24116         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
24117         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
24118         * modules/parse-datetime (Depends-on): Add inttypes.
24120 2017-04-21  Bruno Haible  <bruno@clisp.org>
24122         gettext-h: Avoid -Wundef warning.
24123         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
24124         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
24125         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
24127 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
24129         error: Avoid "function declaration isn't a prototype" warning.
24130         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
24132 2017-04-21  Bruno Haible  <bruno@clisp.org>
24134         vasnprintf: Fix for MSVC 14.
24135         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
24136         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
24137         of !HAVE_SNPRINTF_RETVAL_C99.
24139 2017-04-21  Bruno Haible  <bruno@clisp.org>
24141         mbrtowc tests: Fix test failures on MSVC 14.
24142         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
24143         behaviour for invalid input.
24145 2017-04-21  Bruno Haible  <bruno@clisp.org>
24147         mbsinit: Fix for MSVC 14.
24148         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
24149         implementation that is in sync with mbrtowc.c. On other platforms, use
24150         an adequate ad-hoc implementation.
24152 2017-04-21  Bruno Haible  <bruno@clisp.org>
24154         Fix test-mbrtowc5.sh failure on native Windows.
24155         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
24156         "C".
24158 2017-04-21  Bruno Haible  <bruno@clisp.org>
24160         Avoid accidental use of native Windows APIs on Cygwin.
24161         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
24162         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
24163         * lib/localename.c (WINDOWS_NATIVE): Likewise.
24165 2017-04-20  Bruno Haible  <bruno@clisp.org>
24167         Remove red warnings from the generated MODULES.html.
24168         * modules/fcntl (Description): Disambiguate function references.
24169         * modules/getcwd-lgpl (Description): Likewise.
24170         * modules/hostent (Description): Likewise.
24171         * modules/servent (Description): Likewise.
24172         * modules/tempname (Description): Likewise.
24174 2017-04-20  Bruno Haible  <bruno@clisp.org>
24176         verify tests: Fix spurious failure with parallel make.
24177         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
24178         EXTRA_PROGRAMS.
24179         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
24180         * tests/test-verify-try.c: New file.
24181         * modules/verify-tests (Files): Add it.
24182         (EXTRA_PROGRAMS): Add test-verify-try.
24183         (MOSTLYCLEANFILES): Update accordingly.
24184         Reported by Adam James Stewart <ajstewart@anl.gov>.
24186 2017-04-18  Bruno Haible  <bruno@clisp.org>
24188         vma-iter: Fix compilation error on Solaris 7.
24189         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
24190         like on IRIX, OSF/1.
24191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24193 2017-04-18  Bruno Haible  <bruno@clisp.org>
24195         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
24196         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
24197         included.
24198         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
24199         <sys/procfs.h>.
24200         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
24201         <sys/procfs.h> cannot be included.
24202         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24204 2017-04-18  Bruno Haible  <bruno@clisp.org>
24206         getopt-gnu: Add comments.
24207         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
24208         * modules/getopt-gnu (configure.ac): Likewise.
24210 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24212         regex: port better to Solaris 10
24213         Solaris 10 <locale.h> includes <libintl.h>, which #defines
24214         gettext, and this causes a double #define.
24215         Problem reported by Gavin Smith in:
24216         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
24217         * lib/regex_internal.h (gettext): #undef before #defining.
24219 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24221         intprops: improve comments
24222         * lib/intprops.h: Improve and shorten commentary.
24223         For the record, if we ever run into a pedantic compiler that
24224         behaves differently from GCC when converting an out-of-range value
24225         to a signed integer, we can work around the problem with something
24226         like the following code, where UCT is the signed counterpart of T
24227         (UCT is sometimes narrower than UT) and all callers are changed
24228         accordingly:
24229         #if __SUNPRO_C <= 0x5120
24230         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24231            ((t) ((ut) (a) op (ut) (b)))
24232         #else
24233         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24234            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
24235             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
24236                + TYPE_MINIMUM (t)) \
24237             : (t) (uct) ((ut) (a) op (ut) (b)))
24238         #endif
24240 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24242         intprops: try to avoid tickling similar bugs
24243         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
24244         needs to be the same width as T; it can be wider.
24245         Change callers so that UT is at least as wide as unsigned int,
24246         as I suspect that this is less likely to run into compiler bugs.
24248         intprops: port to Oracle Studio 12.3 x86
24249         Problem reported by Gavin Smith in:
24250         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
24251         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
24252         Convert unsigned to signed via the usual rather than the standard way,
24253         to avoid a compiler bug in Oracle Studio 12.3 x86.
24255 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24257         getopt: prefer - to _ in new file names
24258         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
24259         * lib/getopt-core.h: Rename from lib/getopt_core.h.
24260         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
24261         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
24262         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
24263         All uses changed.
24265         getopt: port recent getopt changes to macOS
24266         Problem reported by Harald Maier (Bug#26398).
24267         The macOS C compiler uses __nonnull for its own purposes and that
24268         clashes with glibc's __nonnull.
24269         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
24270         * lib/getopt_cdefs.in.h (__nonnull): Remove.
24271         * lib/getopt_core.h (getopt):
24272         * lib/getopt_ext.h (getopt_long, getopt_long_only):
24273         Use _GL_ARG_NONNULL, not __nonnull.
24274         * lib/unistd.in.h: Move snippet hooks to before where the getopt
24275         .h files are included, so that _GL_ARG_NONNULL is defined in time.
24276         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
24277         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
24279 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
24281         getopt-gnu: omit some duplicate code
24282         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
24283         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
24284         gnulib-tool already does this.
24285         * modules/getopt-gnu (configure.ac): Omit code duplicated from
24286         getopt-posix, which we depend on.
24288         getopt-posix: use angle-bracket include
24289         * lib/getopt1.c: Include <config.h>, not "config.h".
24291 2017-04-06  Zack Weinberg  <zackw@panix.com>
24293         getopt: annotate files with relationship to glibc
24295         As the final act in this patchset, adjust the message at the top of
24296         each file to indicate which files are synced with glibc.  (This has
24297         already been done for most of the headers.)
24299         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
24300         Mention in top-of-file boilerplate that these files are shared
24301         between glibc and gnulib.
24304         getopt: split up getopt.in.h and eliminate __need_getopt
24306         Over in glibc, all of the __need macros are being phased out in favor
24307         of small headers that declare only the necessary components, as this
24308         is much simpler and less prone to bugs.  As getopt is shared with
24309         glibc, gnulib needs to do the same for __need_getopt.
24311         __need_getopt is misnamed; what it really means is "we want only the
24312         getopt features specified in POSIX, not the GNU extensions".  glibc
24313         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
24314         these files can be shared verbatim with gnulib.  The portability
24315         wrapper, on the other hand, they have renounced altogether; glibc's
24316         getopt.h will no longer be shared with gnulib at all.  In exchange,
24317         certain glibc-specific quirks (having to do with __posix_getopt) no
24318         longer need appear in gnulib's headers at all.
24320         This patch merges getopt_core.h and getopt_ext.h from glibc, and
24321         splits up the current gnulib-side portability wrapper into three
24322         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
24323         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
24324         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
24325         unistd.in.h just use them.  All new files are clearly marked with
24326         whether they are shared with glibc.
24328         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
24329         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
24330         with glibc, and ...
24331         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
24332         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
24333         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
24334         instead of defining __need_getopt and including the full getopt.h.
24336         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
24337         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
24338         * modules/getopt-posix (Files): Add new headers and sort list.
24339         (Depends-on): No longer need snippet/arg-nonnull.
24340         (Makefile.am): Generate getopt_cdefs.h.
24343         getopt: better handling of ambiguous options
24345         glibc's getopt uses alloca to construct a linked list of possibilities
24346         for an "ambiguous" long option.  In gnulib, malloc should be used
24347         instead.  Providing for both cases complicates things a fair bit.
24349         This patch rewrites ambiguous-option handling to use a boolean vector
24350         instead of a linked list.  There is then only one allocation that
24351         might need freeing; in glibc it can honor __libc_use_alloca as usual,
24352         and in gnulib we define __libc_use_alloca to always be false, so we
24353         don't need ifdefs in the middle of the function.  This should also be
24354         slightly more efficient in the normal case of long options being fully
24355         spelled out -- I think most people aren't even aware they _can_
24356         sometimes abbreviate long options.
24358         One interesting consequence is that the list of possibilities is now
24359         printed in exactly the order they appear in the list of long options,
24360         instead of the first possibility being shuffled to the end.
24362         (The patch looks bigger than it really is because there's a fair bit
24363         of reindentation and code rearrangement.)
24365         * lib/getopt.c: When used standalone, define __libc_use_alloca
24366         as always false and alloca to abort if called.
24367         (process_long_option): Rewrite handling of ambiguous long options
24368         to use a single boolean vector, not a linked list; use
24369         __libc_use_alloca to decide whether to allocate this using alloca.
24372         getopt: refactor long-option handling
24374         There were two copies of the bulk of the code to handle long options.
24375         Now there is only one.
24377         This change temporarily removes the logic to avoid using alloca when
24378         standalone; the next patch in the series will restore it.
24380         * lib/getopt.c (process_long_option): New function split out
24381         from _getopt_internal_r.
24382         (_getopt_internal_r): Replace both copies of the long-option
24383         processing code with calls to process_long_option.
24386         getopt: tidy up _getopt_initialize a bit
24388         _getopt_data.__posixly_correct is completely redundant to
24389         _getopt_data.__ordering, and some work that logically belongs in
24390         _getopt_initialize was being done by _getopt_internal_r, making the
24391         code harder to understand.
24393         As a side effect, getenv will no longer be called if the first
24394         character of the options string is '+' or '-', which is probably a
24395         Good Thing.  (Perhaps we should have a flag character that
24396         specifically asks for the permutation behavior?)
24398         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
24399         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
24400         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
24403         getopt: merge from glibc: repetition reduction
24405         The definitions of the entry point functions 'getopt' and
24406         '__posix_getopt' can be made substantially less repetitive with a
24407         helper macro.
24409         While I was merging the const-correctness changes from gnulib into
24410         glibc I noticed there are still some unnecessary casts in
24411         _getopt_internal_r.
24413         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
24414         a macro.  Consistently cast 'argv' to 'char **' when calling
24415         _getopt_internal.
24416         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
24419         getopt: clean up error reporting
24421         getopt can print a whole bunch of error messages, and when used
24422         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
24423         cancellation point and getopt isn't, and also applying fprintf to a
24424         stream in wide-character mode is not allowed.  So every single error
24425         reporting case has an #ifdef _LIBC block in which it calls internal
24426         libc functions instead.  The counterpart patch series in glibc makes
24427         it possible to simplify all of that down to a set of #defines at the
24428         top of the file; core code is written as if it is safe to just call
24429         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
24430         call any *other* stdio functions.)
24432         * lib/getopt.c: When _LIBC is defined, define fprintf to
24433         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
24434         to _IO_funlockfile.  When neither _LIBC nor
24435         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
24436         funlockfile as no-ops.
24437         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
24438         standalone error-printing code can now be used for libc as well.
24439         Add an flockfile/funlockfile pair around one case where the error
24440         message is printed in several chunks.  Don't use fputc.
24443         getopt: fix fencepost error in ambiguous-W-option handling
24445         getopt_long contains an undocumented (AFAICT) feature in which, if you
24446         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
24447         treated as equivalent to '--foo'.  This is implemented with a partial
24448         second copy of the code for handling long options, and that code
24449         increments optind one too many times when recovering from an ambiguous
24450         abbreviated option, which can cause the main loop to walk past the end
24451         of argv and crash.
24453         I discovered this while writing a test case that tries to exercise all
24454         of getopt's error reporting paths; I wouldn't be surprised to learn
24455         that this feature is never used by real applications.
24457         * lib/getopt.c (_getopt_internal_r): Don't increment
24458         d->optind a second time when reporting ambiguous -W options.
24461         getopt: clean up getopt.c and getopt1.c file headers
24463         In getopt.c, there is no need to include wchar.h at all, and it is
24464         safe nowadays to assume that stdlib.h does declare getenv (several
24465         other gnulib modules make this assumption).
24467         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
24468         by using "" inclusions consistently, and there is no actual need to
24469         include stdlib.h (except in the #ifdef TEST block, where it should be
24470         unconditional), nor to provide a backup definition of NULL at all.
24472         * lib/getopt1.c: Simplify #ifdeffage at top of file.
24473         Move inclusion of stdlib.h to #ifdef TEST block and make
24474         unconditional.  Do not define NULL.
24475         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
24476         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
24477         * modules/getopt-gnu, modules/getopt-posix: Don't call
24478         gl_PREREQ_GETENV.
24481         getopt: harmonize comments with glibc
24483         The comments explaining how the behavior of 'getopt' varies depending
24484         on whether it's the standalone version and whether there are special
24485         characters at the beginning of the options string were inconsistent
24486         between gnulib and glibc, and also out of sync with the code.
24488         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
24491         getopt: remove USE_NONOPTION_FLAGS
24493         getopt includes code to parse an environment variable named
24494         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
24495         in decimal); but all of it has been #ifdefed out since 2001, with no
24496         official way to turn it back on.
24498         According to commentary in glibc's config.h.in, bash version 2.0
24499         set this environment variable to indicate argv elements that were
24500         the result of glob expansion and therefore should not be treated
24501         as options, but the feature was "disabled later" because "it
24502         caused problems".  According to bash's CHANGES file, "later" was
24503         release 2.01; it gives no more detail about what the problems
24504         were.
24506         Version 2.0 of bash was released on the last day of 1996, and version
24507         2.01 in June of 1997.  Twenty years later, I think it is safe to
24508         assume that this environment variable isn't coming back.
24510         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
24511         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
24512         __libc_argc and __libc_argv externs, which were only used by
24513         #ifdef USE_NONOPTION_FLAGS blocks.
24516         getopt: tabify, in preparation for merge with glibc
24518         glibc sticks to the GNU default of indenting with a mix of
24519         8-column tabs and spaces; make the gnulib copy match.
24521         getopt.h is not included because it is *not* going to be merged in its
24522         present form.
24524         * getopt.c, getopt1.c, getopt_int.h: Tabify.
24526 2017-04-02  Bruno Haible  <bruno@clisp.org>
24528         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
24529         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
24530         like it was done in modules/relocatable-lib on 2011-05-21 and in
24531         modules/relocatable-prog on 2011-08-15.
24532         Reported by Reuben Thomas <rrt@sc3d.org>.
24534 2017-03-31  Bruno Haible  <bruno@clisp.org>
24536         glob: Fix invalid free() call.
24537         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
24538         static storage to home_dir.
24539         Reported by Coverity via Tim Rühsen.
24541 2017-03-31  Bruno Haible  <bruno@clisp.org>
24543         glob: Fix memory leaks.
24544         * lib/glob.c (glob): Free allocated memory before returning.
24545         Reported by Coverity via Tim Rühsen.
24547 2017-03-31  Bruno Haible  <bruno@clisp.org>
24549         md5, sha1, sha256, sha512: Add comments regarding correctness.
24550         * lib/md5.h (buflen): Add comments regarding range.
24551         * lib/sha1.h (buflen): Likewise.
24552         * lib/sha256.h (buflen): Likewise.
24553         * lib/sha512.h (buflen): Likewise.
24554         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
24555         * lib/sha1.c (sha1_process_bytes): Likewise.
24556         * lib/sha256.c (sha256_process_bytes): Likewise.
24557         * lib/sha512.c (sha512_process_bytes): Likewise.
24558         Reported by Coverity via Tim Rühsen.
24560 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24562         getopt: merge from glibc
24563         This does not change anything substantial; it merely simplifies
24564         hypothetical merges back to glibc.
24565         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
24566         Change copyright notice to match what is in glibc.
24567         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
24568         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
24569         __open_memstream rather than open_memstream and __glibc_likely
24570         instead of __builtin_expect.
24571         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
24573 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24575         dfa: make [0-9] faster in non-C locales
24576         Problem reported by John P. Linderman (Bug#26193).
24577         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
24578         If both ends of the range are ASCII digits, do not worry about
24579         multi-character collating sequences and the like.  Be consistent
24580         about using isalpha as a precondition for setbit_case_fold_c.
24582 2017-03-19  Bruno Haible  <bruno@clisp.org>
24584         lock: Fix compilation error with HP-UX IA64 cc.
24585         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
24586         weak on non-glibc platforms.
24588 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24590         stdalign: tweak version# and test for HP-UX IA64
24591         Problems reported by Bruno Haible in:
24592         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
24593         * lib/stdalign.in.h (_Alignas):
24594         * m4/stdalign.m4 (gl_STDALIGN_H):
24595         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
24596         used octal (as that is how they document it), but it is decimal in
24597         practice now and the ancient implementations no longer matter.
24598         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
24600 2017-03-19  Bruno Haible  <bruno@clisp.org>
24602         vma-iter: Add support for Solaris.
24603         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
24604         approach.
24605         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
24606         * lib/get-rusage-as.c: Update comment about Solaris.
24607         * lib/get-rusage-data.c: Likewise.
24609 2017-03-19  Bruno Haible  <bruno@clisp.org>
24611         vma-iter: Prefer HP-UX specific API on HP-UX.
24612         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
24613         * lib/vma-iter.h: Update.
24614         Just in case HP-UX ever implements mquery().
24616 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24618         stdalign: restore previous behavior for HP-UX IA64
24619         See Bruno Haible's email in:
24620         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24621         which cites p 150 of a manual saying that 'aligned' works on Itanium.
24622         * lib/stdalign.in.h (_Alignas):
24623         Assume the '061200' applies to Itanium, not to PA-RISC.
24624         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
24626 2017-03-17  Bruno Haible  <bruno@clisp.org>
24628         stat-time, timespec: Support use of the header files in C++ mode.
24629         * lib/stat-time.h: Add "C" linkage declaration.
24630         * lib/timespec.h: Likewise.
24632 2017-03-17  Bruno Haible  <bruno@clisp.org>
24634         stdalign: Make it work with HP-UX cc.
24635         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
24636         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
24637         for HP-UX cc.
24639 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24641         flexmember: try to detect HP-UX 11.31 cc bug
24642         Problem reported by Bruno Haible in:
24643         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24644         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
24645         Attempt to detect bug in HP-UX 11.31 cc.
24647 2017-03-16  Bruno Haible  <bruno@clisp.org>
24649         stdint: Fix test compilation failure with HP-UX 11 cc.
24650         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
24651         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
24652         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
24653         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
24655 2017-03-14  Bruno Haible  <bruno@clisp.org>
24657         gnulib-tool: Don't produce a tests directory with only snippet .h files.
24658         * gnulib-tool (func_modules_transitive_closure_separately): If
24659         testsrelated_modules ends up with no "real" modules, aside from
24660         modules with applicability 'all', set it to empty.
24662 2017-03-14  Bruno Haible  <bruno@clisp.org>
24664         vma-iter: Add support for HP-UX.
24665         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
24666         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
24667         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
24668         * lib/get-rusage-as.c: Update comment about HP-UX.
24669         * lib/get-rusage-data.c: Likewise.
24670         (get_rusage_data): Use get_rusage_data_via_setrlimit.
24672 2017-03-14  Bruno Haible  <bruno@clisp.org>
24674         limits-h: Make it work with HP-UX cc.
24675         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
24676         defined.
24678 2017-03-14  Bruno Haible  <bruno@clisp.org>
24680         Fix test failures on DragonFlyBSD.
24681         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
24682         * tests/test-select.h (test_bad_fd): Likewise.
24683         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
24685 2017-03-14  Bruno Haible  <bruno@clisp.org>
24687         freadahead: Silence warning on DragonFlyBSD.
24688         * lib/freadahead.c (__sreadahead): Declare ourselves.
24690 2017-03-14  Bruno Haible  <bruno@clisp.org>
24692         vma-iter: Add comment about AIX.
24693         * lib/vma-iter.c: Add comment about why this module is not implemented
24694         on AIX.
24696 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24698         snippets: move unadjusted snippet sources to lib
24699         Problem reported by Michal Privoznik in:
24700         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
24701         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24702         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24703         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24704         * lib/unused-parameter.h: Rename from
24705         build-aux/snippet/unused-parameter.h.
24706         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24707         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
24708         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
24709         * modules/snippet/c++defs (Files:, CXXDEFS_H):
24710         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
24711         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
24712         Adjust to file renamings.
24714 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
24716         gnulib-tool: don't automatically distribute files from top/
24717         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
24718         not distribute top/README-release by default, don't distribute files
24719         from top/ unconditionally.
24720         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
24721         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
24723 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24725         gnulib-tool: fix typo in comment output
24726         * gnulib-tool (func_import): Fix typo with previous change.
24728         snippets: work around GNU Make 3.82 VPATH
24729         When using 'gnulib-tool --gnu-make' on Emacs, and building
24730         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
24731         an out-of-source (VPATH) build failed because the sans-copyright
24732         snippet file was not built before the file that used it.
24733         Presumably this is some sort of VPATH thing.  Work around the
24734         problem by using the original snippet, i.e., don’t bother to
24735         remove its copyright notice.
24736         * modules/snippet/_Noreturn, modules/snippet/link-warning:
24737         Don’t assume Automake in comments.  Omit long-incorrect comment.
24738         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
24739         (MOSTLYCLEANFILES):
24740         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
24741         (MOSTLYCLEANFILES):
24742         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
24743         (MOSTLYCLEANFILES):
24744         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
24745         (MOSTLYCLEANFILES):
24746         Remove.
24747         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
24748         * modules/snippet/c++defs (CXXDEFS_H):
24749         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
24750         * modules/snippet/warn-on-use (WARN_ON_USE_H):
24751         Don’t bother to remove the copyright notice; just use the
24752         original snippet as-is.
24754 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24756         gnulib-tool: minor --gnu-make fixups
24757         * gnulib-tool (func_emit_lib_Makefile_am):
24758         Remove useless code that was a blind alley during implementation.
24759         Problem reported by Thien-Thi Nguyen in:
24760         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
24761         (func_import): Note the "--gnu-make" option in the output comment.
24763 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24765         gnulib-tool: new option --gnu-make
24766         This is for applications like GNU Emacs that use GNU Make
24767         features instead of Automake.
24768         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
24769         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
24770         Do not assume Automake.
24771         * gnulib-tool (func_determine_path_separator)
24772         (func_modules_transitive_closure, func_update_file)
24773         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
24774         (func_import): Add support for --gnu-make.
24776 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
24778         gnulib-common.m4: avoid aclocal.m4 bloat
24779         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
24780         Hide AM_PROG_AR from aclocal, so that aclocal does not
24781         install irrelevant macro definitions into aclocal.m4.
24783 2017-03-10  Bruno Haible  <bruno@clisp.org>
24785         vma-iter: Let callers know about error.
24786         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
24787         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
24789 2017-03-05  Bruno Haible  <bruno@clisp.org>
24791         Fix value of LD for 64-bit compilers on AIX.
24792         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
24793         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
24795 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
24797         dtotimespec: simplify
24798         * lib/dtotimespec.c (dtotimespec): Simplify.
24800 2017-03-04  Bruno Haible  <bruno@clisp.org>
24802         test-calloc-gnu: Reenable test also for GCC 7.
24803         * tests/test-calloc-gnu.c (eight): New function.
24804         (main): Don't skip test; use eight() instead.
24806 2017-03-04  Jim Meyering  <meyering@fb.com>
24808         test-calloc-gnu: port to GCC7
24809         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
24810         that attempts to calloc more than SIZE_MAX bytes, because GCC7
24811         and newer would detect that at compilation time.
24813 2017-03-04  Bruno Haible  <bruno@clisp.org>
24815         tests: Avoid compiler warning about uses of null_ptr.
24816         * tests/null-ptr.h: New file.
24817         * tests/test-canonicalize.c: Include null-ptr.h.
24818         (null_ptr): Remove function.
24819         * tests/test-canonicalize-lgpl.c: Likewise.
24820         * tests/test-memmem.c: Likewise.
24821         * tests/test-ptsname_r.c: Likewise.
24822         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
24823         * modules/canonicalize-lgpl-tests: Likewise.
24824         * modules/memmem-tests: Likewise.
24825         * modules/ptsname_r-tests: Likewise.
24826         Reported by Jim Meyering.
24828 2017-03-03  Bruno Haible  <bruno@clisp.org>
24830         doc: Mention Mac OS X deficiencies regarding semaphores.
24831         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
24832         * doc/posix-functions/sem_destroy.texi: Likewise.
24833         * doc/posix-functions/sem_getvalue.texi: Likewise.
24835 2017-03-03  Bruno Haible  <bruno@clisp.org>
24837         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
24838         Reported by Assaf Gordon <assafgordon@gmail.com> via
24839         Pádraig Brady <P@draigBrady.com>.
24840         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
24841         semaphores.
24842         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
24843         (atomic_int_semaphore): New macro.
24845 2017-02-28  Bruno Haible  <bruno@clisp.org>
24847         perror tests: Tweak for z/OS.
24848         Reported by Daniel Richard G. <skunk@iskunk.org>.
24849         * tests/test-perror.sh: Don't fail z/OS style perror output.
24851 2017-02-26  Bruno Haible  <bruno@clisp.org>
24853         nproc: Refactor large function.
24854         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
24855         from num_processors.
24856         (num_processors): In this function, only deal with OMP.
24858 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24860         nproc: adjust handling of OpenMP environment variables
24861         to match the return value from omp_get_num_threads(), i.e.:
24862          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
24863          - Treat 0 as an invalid value and ignore
24864         Also remove the call to omp_get_num_threads() because
24865         it's ineffective without the omp pragmas in place.
24866         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
24867         so that it can be ignored.
24868         (num_processors): Honor OMP_THREAD_LIMIT even without
24869         OMP_NUM_THREADS being set.  Also fix a typo in the environment
24870         variable being checked, from the previous recent commit.
24872 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24874         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
24875         * lib/nproc.c (parse_omp_threads): A new function refactored
24876         from num_processors() to support parsing both of the
24877         above environment variables.
24878         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
24879         to accurately reflect the current OpenMP nesting level.
24880         Also support the OMP_THREAD_LIMIT environment variable
24881         to limit the max value determined from OMP_NUM_THREADS.
24882         * modules/nproc: Depend on minmax header.
24883         Suggested by Oliver Heimlich.
24885 2017-02-25  Bruno Haible  <bruno@clisp.org>
24887         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
24888         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
24890 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24892         ftoastr: port to -Wdouble-promotion
24893         Work around -Wdouble-promotion false alarm in recent GCCs.
24894         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
24895         (ftoastr_snprintf, FTOASTR): Use it.
24897 2017-02-21  Bruno Haible  <bruno@clisp.org>
24899         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
24900         Reported by Rene Saavedra <rennes@openmailbox.org> in
24901         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
24902         * lib/glthread/lock.h: On glibc systems without
24903         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
24904         implementation of rwlocks.
24905         * lib/glthread/lock.c: Likewise.
24907 2017-02-20  Bruno Haible  <bruno@clisp.org>
24909         lock tests: Fix build failure on z/OS.
24910         Reported by Daniel Richard G. <skunk@iskunk.org>.
24911         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
24912         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
24913         exist.
24915 2017-02-19  Bruno Haible  <bruno@clisp.org>
24917         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
24918         This helps when CC=clang.
24919         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
24920         of /usr/bin/gcc.
24922         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
24923         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
24925 2017-02-19  Bruno Haible  <bruno@clisp.org>
24927         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
24928         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
24929         --with-tests --single-configure is specified.
24931 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24933         users.txt: Update links, use HTTPS where possible
24934         * users.txt: Updated to HTTPS where possible,
24935         fixed some links to new locations.
24937 2017-02-16  Bruno Haible  <bruno@clisp.org>
24939         xbinary-io: Fix inlining.
24940         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
24942 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24944         xbinary-io: rename from xsetmode
24945         This patch is taken from suggestions by Bruno Haible in:
24946         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
24947         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
24948         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
24949         not ENOTTY, when it is an inappropriate device.
24950         * lib/binary-io.h (SET_BINARY): Resurrect.
24951         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
24952         (xset_binary_mode_error): Rename from xsetmode_error.
24953         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
24954         (xset_binary_mode): Rename from xsetmode.
24955         All uses changed.
24956         * modules/xbinary-io: Rename from modules/xsetmode.
24957         Update file names.
24958         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
24959         * NEWS: Update to match revised behavior.
24961 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24963         tests: Adjust to recent SET_BINARY change
24964         * tests/test-binary-io.c (main):
24965         * tests/test-binary-io.sh: Remove test for SET_BINARY.
24966         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
24967         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
24968         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
24970         xsetmode: new module
24971         This is to fix a problem noted by Eric Blake.
24972         Code was using xfreopen to change files to binary mode, but this
24973         fails for stdout when in append mode.  Such code should use
24974         xsetmode instead.
24975         * NEWS: Document incompatible changes to binary-io module.
24976         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
24977         New function.
24978         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
24979         (set_binary_mode): New function, which also checks for tty.
24980         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
24982 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
24984         headers: fix begin-end typos
24985         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
24986         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
24988         selinux-h: port to PGI 16.10
24989         * lib/se-selinux.in.h: Don't assume that include_next skips over
24990         duplicate -I DIR options.
24992         argp: port to PGI 16.10
24993         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
24995 2017-02-13  Darshit Shah  <darnir@gnu.org>
24997         unicase: Update function protoype to match definition.
24998         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
24999         uses 'size_t' as the datatype for the 'len' parameter in the functions
25000         it generates. Update the prototype specified here to match the newly
25001         generated function.
25003 2017-02-12  Bruno Haible  <bruno@clisp.org>
25005         times test: Avoid gcc warnings on Linux/x32.
25006         * tests/test-times.c (main): Really cast printf arguments from clock_t
25007         to 'long int'.
25009 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25011         glob: port better to emscripten
25012         Problem reported by Bruno Haible in:
25013         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
25014         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
25016 2017-02-11  Bruno Haible  <bruno@clisp.org>
25018         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
25019         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
25020         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
25021         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
25022         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
25023         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
25024         Distinguish hppa64 from hppa.
25026 2017-02-10  Bruno Haible  <bruno@clisp.org>
25028         search: Don't assume that tsearch() exists if 'VISIT' is defined.
25029         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
25030         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
25031         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
25033 2017-02-09  Bruno Haible  <bruno@clisp.org>
25035         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
25036         * doc/gnulib.texi (Libtool and Windows): Recommend
25037         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
25038         Reported by Reuben Thomas <rrt@sc3d.org>.
25040 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25042         stddef-tests: port to SIZE_MAX <= INT_MAX
25043         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
25044         Do not assume that INT_MAX < SIZE_MAX.
25046 2017-02-01  Bruno Haible  <bruno@clisp.org>
25048         lock tests: Fix link error.
25049         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
25050         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25052 2017-01-31  Bruno Haible  <bruno@clisp.org>
25054         lock: Fix link error (regression from 2017-01-05).
25055         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
25056         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
25057         pthread_rwlockattr_destroy weak.
25058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25060 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25062         Port to PGI 16.10 x86-64
25063         This patch fixes one real bug in gl_anylinked_list2.h, along with
25064         some minor glitches that are not bugs.  It does not silence PGI’s
25065         thousands of bogus warnings when compiling test-intprops.c.
25066         Fortunately, the warnings do not cause a failure.
25067         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
25068         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
25069         My goodness, PGI goes back a long ways - this predates C89!
25070         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
25071         For example, ASYNCSAFE (const void *) should expand to
25072         ‘const void *volatile’, not to ‘volatile const void *’.
25073         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
25074         * lib/verify.h (verify) [!__GNUC__]:
25075         Use shorter albeit meaningless string to bypass silly compiler limits.
25076         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
25077         * tests/nan.h (NaNf, NaNd, NaNl):
25078         Use static functions to avoid misguided compiler diagnostics.
25079         Is there some reason we don’t use static functions on all platforms?
25081 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25083         parse-datetime: handle timezones reentrantly
25084         This API change was prompted by a report by Pádraig Brady in:
25085         https://bug.debian.org/851934#10
25086         To help fix the bug, make parse_datetime2 more reentrant.
25087         * NEWS: Document this incompatible change.
25088         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
25089         Add two arguments, the timezone and the timezone name.
25090         All callers changed.  If TZ="..." is specified, use it for
25091         calculating defaults.
25092         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
25093         this code should be usable in a library.
25094         (mktime_ok, get_effective_timezone):
25095         Accept timezone arg too.  All callers changed.
25096         (get_tz): Remove.
25097         (get_effective_timezone): Check for failures.
25099 2017-01-20  Eric Blake  <eblake@redhat.com>
25101         localename: port to cygwin 2.6
25102         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
25103         Cygwin.
25104         * modules/localename (Depends-on): Add extensions, since
25105         NL_LOCALE_NAME() is not visible without it.
25107 2017-01-17  Pádraig Brady  <P@draigBrady.com>
25109         parse-datetime: fix dependence on AC_PROG_SED
25110         * modules/parse-datetime: Use `sed` directly like all other modules.
25111         Reported by J William Piggott
25113 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
25115         intprops: update doc URLs
25116         * doc/intprops.texi (Integer Range Overflow): Update URLs.
25118 2017-01-16  Bruno Haible  <bruno@clisp.org>
25120         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
25121         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
25122         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
25123         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
25124         distinguish s390 and s390x.
25125         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
25126         * NEWS: Mention the change regarding 'armel'.
25128 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25130         localeinfo: case_folded_counterparts and WEOF
25131         * NEWS: Document this.
25132         * lib/localeinfo.c (case_folded_counterparts):
25133         First arg is now wint_t, not wchar_t.  This generalizes the
25134         function to also work on WEOF, where it returns 0.
25136         dfa: port to gcc -fsanitize=undefined
25137         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
25138         as this runs afoul of gcc -fsanitize=undefined.
25140 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
25142         strftime: %z is -00 if unknown
25143         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
25144         the caller's responsibility to set 'negative_number'.  All uses changed.
25145         (__strftime_internal): Put '-' before a zero UTC offset if the time
25146         zone abbreviation starts with "-", which is the recently-introduced
25147         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
25148         * tests/test-strftime.c: Test for this.
25150 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25152         dfa: port to older GCC
25153         Problem reported by Assaf Gordon in:
25154         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
25155         * modules/c99: New module.  This merely attempts to use the latest
25156         C version, which should be enough to solve this particular problem.
25157         The idea is to document which Gnulib modules assume C99 or later.
25158         * modules/dfa (Depends-on): Add it.
25160 2017-01-10  Bruno Haible  <bruno@clisp.org>
25162         Update DEPENDENCIES.
25163         * DEPENDENCIES: List only https URLs. Update recommended version for
25164         autoconf, automake, gperf.
25166 2017-01-10  Jim Meyering  <meyering@fb.com>
25168         maint.mk: enforce spelling of "timestamp" (i.e., no space)
25169         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
25170         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
25172 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25174         dfa: minor simplification with emptyset
25175         * lib/dfa.c (build_state): Simplify by using emptyset.
25177 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25179         dfa: shrink constraints from 4 bits to 3
25180         * lib/dfa.c (newline_constraint, letter_constraint)
25181         (other_constraint, prev_newline_dependent)
25182         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
25183         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
25184         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
25185         Constraints need only 3 bits, not 4.  Using smaller integers
25186         shrinks the code a bit and makes grep a tad faster on x86-64.
25188         dfa: omit unnecessary ptrdiff_t check
25189         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
25190         overflow, since xnmalloc does that now.
25192         dfa: omit unnecessary allocation
25193         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
25194         an all-zero follow set works just fine.
25196         dfa: omit unused local
25197         * lib/dfa.c (build_state): Fix up recent change.
25199         maint: remove stray .texi files
25200         Although these were superseded by other files like
25201         doc/posix-functions/ctime.texi, the old files were not removed.
25202         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
25204 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25206         getprogname: fix port to IRIX
25207         * lib/getprogname.c (getprogname) [__sgi]:
25208         Don't dump core if malloc returns NULL.
25210         dfa: fix reallocation bug when matching newlines
25211         Problem reported for sed by S. Gilles (Bug#25390).
25212         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
25213         (dfastate): Reallocate before moving any newline transition ...
25214         (build_state): ... instead of reallocating here, where it is too late.
25216 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25218         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
25219         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
25221 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25223         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
25224         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
25226 2017-01-07  Bruno Haible  <bruno@clisp.org>
25228         stdioext: Port to Minix 3.2 and newer.
25229         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
25230         * lib/fseeko.c (fseeko): Likewise.
25231         Reported by Nelson Beebe via Paul Eggert.
25233 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25235         getprogname: port to IRIX
25236         * lib/getprogname.c (getprogname): Port to IRIX.
25237         Based on an idea by Bastien Roucariès at:
25238         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
25239         via code from Bruno Haible at:
25240         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
25242         localename-tests: port to NetBSD 7
25243         Problem reported by Nelson H. F. Beebe.
25244         * tests/test-localename.c:
25245         Test newlocale and uselocale only if both exist.
25247         glob, intprops, xalloc: work around Clang bug
25248         Work around LLVM bug 16404, which is still not fixed.
25249         https://llvm.org/bugs/show_bug.cgi?id=16404
25250         Problem reported by Nelson H. F. Beebe.
25251         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
25252         Remove.
25253         * lib/glob.c (size_add_wrapv):
25254         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
25255         * lib/xalloc-oversized.h (xalloc_oversized):
25256         Do not use overflow builtins if Clang.
25258         dfa: fix 'return' typo
25259         Problem reported by Nelson H. F. Beebe.
25260         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
25262 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25264         parse-datetime: fix generated paths for coverage files
25265         * modules/parse-datetime: Adjust the paths for parse-datetime.y
25266         within parse-datetime.c, so that gcc generates appropriate .gcno
25267         files, allowing lcov to proceed without error.  Previously it
25268         would error trying to find "lib/lib/parse-datetime.y".
25270 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25272         maint.mk: support parallel execution of coverage
25273         * top/maint.mk (coverage): Run dependencies serially,
25274         thus supporting parallel processing of each one,
25275         particularly build-coverage, which builds and runs tests.
25277 2017-01-05  Bruno Haible  <bruno@clisp.org>
25279         lock tests: Prefer semaphore over mutex.
25280         * tests/test-lock.c (USE_SEMAPHORE): New constant.
25281         (struct atomic_int, init_atomic_int, get_atomic_int_value,
25282         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
25283         Suggested by Torvald Riegel <triegel@redhat.com>.
25285 2017-01-05  Bruno Haible  <bruno@clisp.org>
25287         lock: Provide guarantee to avoid writer starvation for rwlocks.
25288         The rationale is: 1) Read-preferring read-write locks are prone to
25289         writer starvation if the number of reader threads multiplied by the
25290         percentage of time they have the lock held is too high. 2) Write-
25291         preferring read-write locks are the only reliable way to avoid this.
25292         3) There have been reports of 'test-lock' hanging on glibc systems
25293         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
25294         and glibc indeed implements read-preferring rwlocks by default, see
25295         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
25296         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
25297         * m4/pthread_rwlock_rdlock.m4: New file.
25298         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25299         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
25300         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25301         of rwlock initialization on glibc systems without
25302         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25303         of rwlocks altogether on non-glibc systems without
25304         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25305         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
25306         * lib/glthread/lock.c [USE_POSIX_THREADS]
25307         (glthread_rwlock_init_for_glibc): New function.
25308         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
25309         comment.
25310         [USE_PTH_THREADS]: New implementation of rwlocks.
25311         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
25312         readers.
25313         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
25314         (Depends-on): Add 'extensions'.
25315         * tests/test-rwlock1.c: New file.
25316         * lock-tests (Files): Add it.
25317         (Depends-on): Add usleep.
25318         (Makefile.am): Add test-rwlock1 to the tests.
25320 2017-01-05  Bruno Haible  <bruno@clisp.org>
25322         thread: Fix pth port.
25323         * lib/glthread/thread.h (pth_init): Declare weak.
25324         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
25325         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
25326         function.
25328 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
25330         parse-datetime: fix debug message on lone year number
25331         Input dates such as
25332           date -d "Apr 11 22:59:00 2011"
25333         are parsed as date (Apr 11, with default year 2016), then time, then a
25334         number (2011). Based on the combination of previously seen tokens,
25335         'digits_to_date_time' determines 2011 to be a year value.
25336         This fixes the debug messages to correctly show the updated year.
25337         Before:
25338             $ date --debug -d 'Apr 11 22:59:00 2011'
25339             date: parsed date part: (Y-M-D) 2016-04-11
25340             date: parsed time part: 22:59:00
25341             date: parsed number part: today/this/now
25342         After:
25343             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
25344             date: parsed date part: (Y-M-D) 2016-04-11
25345             date: parsed time part: 22:59:00
25346             date: parsed number part: year: 2011
25347         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
25348         'debug_year_seen' member fields.
25349         (digits_to_date_time): Update 'year_seen' as needed.
25350         (debug_print_current_time): Inform about year updates.
25351         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
25353         parse-datetime: fix local timezone debug messages
25354         "Local timezones" are strings that affect only DST relative to the
25355         default timezone. The debug messages in parse-datetime.y printed
25356         wrong information when encountering local timezones.
25357         Examples:
25358         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
25359              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
25360              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
25361         When the default timezone relates to the zone strings, EET/EEST are
25362         parsed as local timezones (tLOCAL_ZONE), and only change the DST
25363         value (0/1, respectively):
25364              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
25365              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
25366         * lib/parse-datetime.y (debug_print_current_time): If local timezone
25367         was seen, inform about DST change, don't print actual timezone.
25368         (debug_strfdatetime): If local timezone was seen, use default timezone
25369         (and adjust as needed) instead of using incorrect timezone.
25370         (parse_datetime2): Use correct time-zone source string, and adjust
25371         default timezone as needed.
25373         parse-datetime: add debug warning about DST changes
25374         Incorrect date arithmetic due to daylight saving time (DST) are a
25375         common (false) bug report in coreutils.
25376         Detect two such cases and print a warning:
25377         1. year/month/day adjustments (performed on 'struct tm'),
25378            where 'mktime' returns a different isdst value.
25379         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
25380            where the result of 'localtime(3)' on the value will return a
25381            different isdst value.
25382         Note: DST changes could be harmless or unnoticeable.
25383         Examples (with 'TZ=America/New_York'):
25384         Unnoticeable: result is 2016-Dec-14
25385            $ date -d '2016-06-15 EDT + 6 months' +%b
25386            Dec
25387         Unnoticeable: result is 2016-Dec-15 11:00:00
25388            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
25389            2016-12-15
25390         This is unexpected:
25391            $ date -d '2016-06-01 EDT + 6 months' +%F
25392            2016-11-30
25393         The new debug warnings will show:
25394            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
25395            ...
25396            date: warning: daylight saving time changed after date adjustment
25397            ...
25398         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
25399         print an appropriate warning message.
25401         parse-datetime: add debug warning about date arithmetic
25402         Date arithmetic are done directly on the fields of 'struct tm',
25403         which can result in invalid dates. Normalization with 'mktime(3)'
25404         will then produce a different date - which might cause unexpected
25405         results.
25406         Examples:
25407           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
25408           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
25409         Note that date normalization is not inherently wrong and not rejected,
25410         as it has legitimate uses:
25411           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
25412         If the user asked to adjust months but 'mday' changed,
25413         or user asked to adjust years but 'month' changed - warn about it.
25414             $ ./src/date --debug -d '2016-10-31 - 1 month'
25415             ...
25416             date: warning: when adding relative months/years, \
25417                            it is recommended to specify the 15th of the month
25418             ...
25419             date: warning: month/year adjustment resulted in shifted dates:
25420             date:      adjusted Y M D: 2016 09 31
25421             date:    normalized Y M D: 2010 10 01
25422             ...
25423         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
25424         a warning message. Improve recommendation of when to use 15 of the
25425         month or noon for date arithmetic.
25427         parse-datetime: fix debug message of relative part after timezone
25428         Relative part (e.g '+8 days') after a timezone string was not
25429         reported (was only reported after a timezone number). Due to the
25430         parser's structure, timezone strings with numbers were handled
25431         separately.
25432         before:
25433              # Timezone number + relative part: OK
25434              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
25435              ...
25436              date: parsed relative part: -8 day(s)
25437              # Timezone string + relative part: missing
25438              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
25439              [ missing message ]
25440         After: messages are printed in both cases.
25441         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
25443         parse-datetime: fix incorrect debug message on lone number
25444         A lone number is an absolute value, not a relative time part.
25445         before:
25446            $ date --debug -d '20130101'
25447            date: parsed number part: today/this/now
25448         After:
25449            $ ./src/date --debug -d '20130101'
25450            date: parsed number part: (Y-M-D) 2013-01-01
25451         * lib/parse-datetime.y ('item'/'number' tokens): Call
25452         'debug_print_current_time' instead of 'debug_print_relative_time'.
25454 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25456         doc: modernize for C11 etc.
25457         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
25458         for C11, MinGW, etc.  This responds to Paul Smith's question in:
25459         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
25461         dfa: prefer functions to FETCH_WC macro
25462         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
25463         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
25464         wint_t result into DFA->lex.wctok instead of to a separate arg.
25465         All callers changed.  Move more local decls closer to where
25466         they're used.
25468         dfa: narrow more local var scopes
25469         * lib/dfa.c: Move more local decls to be more local.
25471         dfa: remove duplicate assignment
25472         Problem reported by Bruno Haible in:
25473         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
25474         * lib/dfa.c (parse_bracket_exp): Simplify.
25476 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25478         dfa: simplify constraint-dependency checking
25479         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
25480         (prev_other_constraint): Remove.
25481         (prev_newline_dependent, prev_letter_dependent):
25482         Simplify, to avoid an unnecessary bitwise AND operation.
25484         dfa: prefer functions and constants to macros
25485         * lib/dfa.c: Prefer constants to macros where either will do.
25486         (streq, isasciidigit, newline_constraint)
25487         (letter_constraint, other_constraint, succeeds_in_context)
25488         (prev_newline_constraint, prev_letter_constraint)
25489         (prev_other_constraint, prev_newline_dependent)
25490         (prev_letter_dependent, accepting, accepts_in_context):
25491         Now static functions instead of function-like macros.
25492         Use lower-case names accordingly.  All uses changed.
25494         dfa: narrow more local var scopes
25495         * lib/dfa.c: Move some more local decls down to nearer where
25496         they're needed.
25498 2016-12-31  Jim Meyering  <meyering@fb.com>
25500         dfa: narrow the scope of many local variables
25501         * lib/dfa.c: Now that we are no longer constrained to c89, move
25502         declarations of many variables (often indices) "down" into the
25503         scope(s) where used or to the point of definition.  This is a
25504         no-semantic-change diff.
25506 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25508         version-etc: new year
25509         * build-aux/gendocs.sh (version):
25510         * doc/gendocs_template:
25511         * doc/gendocs_template_min:
25512         * doc/gnulib.texi:
25513         * lib/version-etc.c (COPYRIGHT_YEAR):
25514         Update copyright dates by hand in templates and the like.
25515         * all files: Run 'make update-copyright'.
25517 2016-12-31  Eric Blake  <eblake@redhat.com>
25519         do-release-commit-and-tag: avoid shell syntax error
25520         * build-aux/do-release-commit-and-tag (curr_br): $branch can
25521         contain spaces when rebasing.
25523         maint.mk: hoist gnulib_dir definition earlier
25524         * top/maint.mk (gnulib_dir): Move near top of file.
25526 2016-12-31  Jim Meyering  <meyering@fb.com>
25528         maint.mk: do not always evaluate intprops-related shell
25529         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
25530         using gnulib_dir undefined (gnulib_dir is defined later in the
25531         file, which will be fixed separately), and besides, there is no
25532         need to incur the cost of this shell invocation for every single
25533         use of this .mk file.  Reported by Eric Blake in
25534         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
25536 2016-12-30  Jim Meyering  <meyering@fb.com>
25538         maint.mk: improve sc_prohibit_intprops_without_use
25539         * top/maint.mk (_intprops_names): Don't hard-code the list of
25540         symbol names.  Instead, derive it on the fly.
25542 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25544         dfa: shorten sbit, success
25545         * lib/dfa.c (struct regex_syntax.sbit):
25546         (struct dfa.success): Use char, not int, for array elements, since
25547         they are all in the range 0..7.
25549         dfa: simplify multibyte_prop etc.
25550         This follows up on a change made when dfa.c was in grep, namely grep
25551         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
25552         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
25553         That earlier simplification allows for some more simplification
25554         and trimming down here.
25555         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
25556         (struct lexer_state): New mamber brack.
25557         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
25558         since they must be in the range 0..3 now.
25559         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
25560         the brack member now supersedes them.
25561         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
25562         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
25563         (dfaparse): Remove unnecessary initializations of already-0 storage.
25564         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
25565         (dfassbuild): No need to clear sup->mbcsets.
25567         dfa: minor performance tweak
25568         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
25570         dfa: wrap charclass inside a struct
25571         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
25572         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
25573         about 5% faster, where list.txt is generated by 'aspell dump
25574         master | head -n 100000 >list.txt'.  See Bug#22239.
25575         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
25576         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
25577         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
25578         Adjust to this, e.g., by using charclass * rather than charclass.
25579         All callers changed as needed.
25580         (copyset): Remove.  All uses changed to simple assignment.
25581         (parse_bracket_exp): Use zeroset instead of memset.
25583 2016-12-30  Jim Meyering  <meyering@fb.com>
25585         maint.mk: update list of intprops.h symbol names
25586         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
25587         This avoids a false failure of the sc_prohibit_intprops_without_use
25588         rule in grep.
25590 2016-12-29  Eric Blake  <eblake@redhat.com>
25592         getopt: fix parallel test failure
25593         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
25594         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
25595         * tests/test-getopt-main.h (main): Use different file names
25596         in case test-getopt-gnu and test-getopt-posix run in parallel.
25598 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25600         xalloc: x2nrealloc check for ptrdiff_t overflow
25601         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
25602         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
25604 2016-12-24  Bruno Haible  <bruno@clisp.org>
25606         lock test: Fix performance problem on multi-core machines.
25607         * tests/test-lock.c (USE_VOLATILE): New macro.
25608         (struct atomic_int): New type.
25609         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
25610         functions.
25611         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
25612         as 'struct atomic_int'.
25613         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
25614         reclock_checker_thread, test_recursive_lock): Use the new functions.
25615         Reported by Eric Blake in
25616         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
25617         and by Pádraig Brady in
25618         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
25620 2016-12-19  Bruno Haible  <bruno@clisp.org>
25622         vma-iter: Fix endless loop on 64-bit Windows.
25623         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
25624         'unsigned long'.
25626 2016-12-19  Bruno Haible  <bruno@clisp.org>
25628         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
25629         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
25630         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
25631         Invoke gt_TYPE_WINT_T instead.
25632         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
25633         * modules/stdint (Files): Add m4/wint_t.m4.
25634         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25635         * modules/wctype-h (Makefile.am): Likewise.
25636         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
25637         not only on MSVC.
25638         * lib/wctype.in.h (wint_t): Likewise.
25640 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25642         getopt-posix-tests: fix Makefile typo
25643         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
25644         Fix typo: the last ‘_’ was missing in the name.
25645         I suspect that the typo explains this build failure:
25646         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
25647         although I can’t reproduce the problem on Solaris 10 sparc.
25649 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25651         dfa: improve worst-case 'replace' performance
25652         See my note in Bug#22357#71.
25653         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
25654         (merge_constrained): New function, which is like
25655         the old 'merge' function, except with a new argument C2.
25656         Simplify the body by avoiding the need for different sections
25657         of code depending on whether one input is exhausted.
25658         (merge): Use the new function.
25659         (delete): Return the constraint of the deleted position,
25660         not the entire position.  Caller changed.
25661         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
25663 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25665         dfa: performance improvement for removal of epsilon closure
25666         See Bug#22357#32.
25667         * lib/dfa.c (delete): Use binary search to find deleted index.
25668         (replace): New function.  It replaces a position with the followed set.
25669         (epsclosure): Replace it with a new algorithm.  Update caller.
25671 2016-12-18  Bruno Haible  <bruno@clisp.org>
25673         Split tests for getopt-posix and getopt-gnu.
25674         * tests/test-getopt-posix.c: New file.
25675         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
25676         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
25677         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
25678         GNULIB_TEST_GETOPT_GNU.
25679         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
25680         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
25681         (Makefile.am): Test test-getopt-posix instead of test-getopt.
25682         * modules/getopt-gnu-tests: New file.
25683         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
25685 2016-12-18  Bruno Haible  <bruno@clisp.org>
25687         posix-modules: Add options for specific platforms.
25688         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
25689         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
25690         Invoke func_tmpdir. Filter out the excludes.
25692 2016-12-18  Bruno Haible  <bruno@clisp.org>
25694         getopt: Fix link error for users of getopt() in <unistd.h>.
25695         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
25696         __need_getopt is defined. Undefine all macros before defining them.
25697         * modules/getopt (Include): Clarify that including <unistd.h> is also
25698         OK.
25699         * tests/test-getopt.c: Add comment.
25701 2016-12-17  Bruno Haible  <bruno@clisp.org>
25703         getaddrinfo tests: Avoid compilation error on MSVC.
25704         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
25705         getaddrinfo on native Windows.
25707 2016-12-17  Bruno Haible  <bruno@clisp.org>
25709         getlogin, getlogin_r: Fix link errors on MSVC.
25710         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
25711         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
25712         (Link): New section.
25713         * modules/getlogin_r (Files): Add m4/getlogin.m4.
25714         (configure.ac): Require gl_LIB_GETLOGIN.
25715         (Link): New section.
25716         * NEWS: Mention the new link requirements.
25717         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
25718         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
25720 2016-12-17  Bruno Haible  <bruno@clisp.org>
25722         Un-deprecate the 'progname' module.
25723         * NEWS: Describe the appropriate use-cases of 'progname' versus
25724         'getprogname'. Based on discussion summary at
25725         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
25727 2016-12-17  Bruno Haible  <bruno@clisp.org>
25729         Reorganize NEWS a bit.
25730         * NEWS: Move some not so important changes away from section
25731         "Important Notes".
25733 2016-12-17  Bruno Haible  <bruno@clisp.org>
25735         tanhf: Avoid redefinition error on MSVC.
25736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
25737         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
25738         may be defined as an inline function.
25739         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
25740         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
25742 2016-12-17  Bruno Haible  <bruno@clisp.org>
25744         tanf: Avoid redefinition error on MSVC.
25745         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
25746         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
25747         may be defined as an inline function.
25748         * modules/math (Makefile.am): Substitute REPLACE_TANF.
25749         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
25751 2016-12-17  Bruno Haible  <bruno@clisp.org>
25753         sqrtf: Avoid redefinition error on MSVC.
25754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
25755         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
25756         may be defined as an inline function.
25757         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
25758         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
25760 2016-12-17  Bruno Haible  <bruno@clisp.org>
25762         sinhf: Avoid redefinition error on MSVC.
25763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
25764         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
25765         may be defined as an inline function.
25766         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
25767         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
25769 2016-12-17  Bruno Haible  <bruno@clisp.org>
25771         sinf: Avoid redefinition error on MSVC.
25772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
25773         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
25774         may be defined as an inline function.
25775         * modules/math (Makefile.am): Substitute REPLACE_SINF.
25776         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
25778 2016-12-17  Bruno Haible  <bruno@clisp.org>
25780         logf: Avoid redefinition error on MSVC.
25781         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
25782         may be defined as an inline function.
25784 2016-12-17  Bruno Haible  <bruno@clisp.org>
25786         log10l: Avoid redefinition error on MSVC.
25787         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
25788         may be defined as an inline function.
25790 2016-12-17  Bruno Haible  <bruno@clisp.org>
25792         log10f: Avoid redefinition error on MSVC.
25793         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
25794         may be defined as an inline function.
25796 2016-12-17  Bruno Haible  <bruno@clisp.org>
25798         hypotl: Avoid redefinition error on MSVC.
25799         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
25800         may be defined as an inline function.
25802 2016-12-17  Bruno Haible  <bruno@clisp.org>
25804         hypotf: Avoid redefinition error on MSVC.
25805         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
25806         may be defined as an inline function.
25808 2016-12-17  Bruno Haible  <bruno@clisp.org>
25810         fmodl: Avoid redefinition error on MSVC.
25811         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
25812         may be defined as an inline function.
25814 2016-12-17  Bruno Haible  <bruno@clisp.org>
25816         fmodf: Avoid redefinition error on MSVC.
25817         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
25818         may be defined as an inline function.
25820 2016-12-17  Bruno Haible  <bruno@clisp.org>
25822         expf: Avoid redefinition error on MSVC.
25823         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
25824         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
25825         may be defined as an inline function.
25826         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
25827         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
25829 2016-12-17  Bruno Haible  <bruno@clisp.org>
25831         coshf: Avoid redefinition error on MSVC.
25832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
25833         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
25834         may be defined as an inline function.
25835         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
25836         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
25838 2016-12-17  Bruno Haible  <bruno@clisp.org>
25840         cosf: Avoid redefinition error on MSVC.
25841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
25842         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
25843         may be defined as an inline function.
25844         * modules/math (Makefile.am): Substitute REPLACE_COSF.
25845         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
25847 2016-12-17  Bruno Haible  <bruno@clisp.org>
25849         atan2f: Avoid redefinition error on MSVC.
25850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
25851         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
25852         may be defined as an inline function.
25853         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
25854         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
25856 2016-12-17  Bruno Haible  <bruno@clisp.org>
25858         atanf: Avoid redefinition error on MSVC.
25859         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
25860         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
25861         may be defined as an inline function.
25862         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
25863         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
25865 2016-12-17  Bruno Haible  <bruno@clisp.org>
25867         asinf: Avoid redefinition error on MSVC.
25868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
25869         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
25870         may be defined as an inline function.
25871         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
25872         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
25874 2016-12-17  Bruno Haible  <bruno@clisp.org>
25876         acosf: Avoid redefinition error on MSVC.
25877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
25878         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
25879         may be defined as an inline function.
25880         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
25881         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
25883 2016-12-17  Bruno Haible  <bruno@clisp.org>
25885         Avoid redefinition errors on MSVC.
25886         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
25887         the function may be defined as an inline function.
25888         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
25889         the function may be defined as an inline function.
25891 2016-12-17  Bruno Haible  <bruno@clisp.org>
25893         Avoid redefinition errors on MSVC.
25894         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
25895         * lib/unistd.in.h: Include <stdio.h> when necessary.
25897 2016-12-17  Bruno Haible  <bruno@clisp.org>
25899         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
25900         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
25901         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25902         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
25903         WINT_MAX.
25905 2016-12-17  Bruno Haible  <bruno@clisp.org>
25907         Avoid autoconf warning.
25908         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
25909         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
25911 2016-12-17  Bruno Haible  <bruno@clisp.org>
25913         fpending: Revert workaround against Emacs bug.
25914         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
25915         The Emacs bug is fixed by Eli Zaretskii in
25916         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
25918 2016-12-17  Bruno Haible  <bruno@clisp.org>
25920         getlogin_r tests: Port to mingw.
25921         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
25922         regression introduced on 2014-05-19.
25924 2016-12-17  Bruno Haible  <bruno@clisp.org>
25926         getlogin: Port to newer mingw.
25927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
25928         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
25929         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
25930         HAVE_GETLOGIN.
25931         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
25932         HAVE_GETLOGIN.
25933         * doc/posix-functions/getlogin.texi: Mention the issue.
25934         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
25935         regression introduced on 2014-05-14.
25937 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25939         builtin-expect: improve port to IBM XL C
25940         Problem reported for z/OS by Daniel Richard G. in:
25941         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
25942         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25943         Test for <builtins.h> directly.
25945         builtin-expect: port to IBM XL C
25946         Problem reported for z/OS by Daniel Richard G. in:
25947         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
25948         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25949         Also allow __builtin_expect defined via a standard include file.
25951         regex: fix dependency
25952         Problem reported by Bruno Haible in:
25953         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
25954         * modules/regex: Depend on builtin-expect.
25956         builtin-expect: new module
25957         Fix fnmatch to use it.
25958         Problem reported for z/OS by Daniel Richard G.
25959         * lib/fnmatch.c (__builtin_expect):
25960         * lib/glob.c (__builtin_expect):
25961         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
25962         * lib/memmem.c (__builtin_expect) [!_LIBC]:
25963         * lib/scandir.c (__builtin_expect):
25964         * lib/strstr.c (__builtin_expect) [!_LIBC]:
25965         Remove macro; config.h now does this.
25966         * lib/gl_anytreehash_list1.h (add_to_bucket):
25967         * lib/regex_internal.h (BE):
25968         Assume __builtin_expect.
25969         * m4/builtin-expect.m4, modules/builtin-expect: New files.
25970         * modules/avltreehash-list, modules/fnmatch, modules/glob:
25971         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
25972         * modules/scandir, modules/strstr-simple:
25973         Depend on builtin-expect.
25975 2016-12-15  Bruno Haible  <bruno@clisp.org>
25977         init.sh: Add possibility to not delete temporary files.
25978         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
25979         to yes, don't erase the temporary directory.
25981 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25983         regex: fix integer-overflow bug in never-used code
25984         Problem reported by Clément Pit–Claudel in:
25985         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
25986         * lib/regex_internal.h: Include intprops.h.
25987         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
25988         behavior on integer overflow.
25989         * modules/regex (Depends-on): Add intprops.
25991         fpending: fix port to MinGW on Emacs
25992         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
25993         Problem reported by Eli Zaretskii in:
25994         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
25995         Is Plan 9 still a valid porting target, anyway?
25997 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
25999         safe-alloc: use xalloc-oversized
26000         * lib/safe-alloc.c: Include xalloc-oversized.h.
26001         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
26002         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
26004         xalloc: do not exceed PTRDIFF_MAX
26005         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
26006         xalloc_oversized check, since objects larger than PTRDIFF_MAX
26007         bytes have pointer-subtraction problems.
26009         malloca: do not exceed PTRDIFF_MAX
26010         * lib/malloca.h: Include xalloc-oversized.
26011         (nmalloca): Use xalloc_oversized instead of rolling our own.
26012         * modules/malloca (Depends-on):
26013         * modules/relocatable-prog-wrapper (Depends-on):
26014         Add xalloc-oversized.
26016         quotearg: pacify GCC better
26017         * modules/quotearg (Depends-on): Add minmax, stdint.
26018         * lib/quotearg.c: Include minmax.h, stdint.h.
26019         (nslots): Now int, as there seems little point to going to extra
26020         work merely to support the INT_MAX slot, which nobody ever uses.
26021         (quotearg_n_options): Redo size-overflow checks to pacify GCC
26022         and to catch (mostly-theoretical) ptrdiff_t problems too.
26023         This can be done via one comparison.
26025 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26027         xalloc-oversized: check for PTRDIFF_MAX too
26028         This avoids undefined behavior when subtracting pointers to
26029         objects containing more than PTRDIFF_MAX bytes.
26030         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
26031         Also return 1 if the result would exceed PTRDIFF_MAX>
26032         * modules/xalloc-oversized (Depends-on):
26033         Add stdint.
26035         dfa: fix glitches in previous commit
26036         Sorry, I don't know how I managed to commit the wrong version.
26037         * lib/dfa.c (MIN): Move up.
26038         (xpalloc): Now static.
26040         dfa: fix some unlikely integer overflows
26041         I found these while reviewing the recent Coverity-related fix.
26042         This patch changes part of dfa.c to prefer ptrdiff_t instead of
26043         size_t for object counts.  Using ptrdiff_t is the style typically
26044         used in Emacs; although it wastes a sign bit as sizes can never be
26045         negative, it makes -fsanitize=undefined more likely to catch
26046         integer overflows in index calculation, and nowadays the upside is
26047         typically more important than the downside.  Although perhaps the
26048         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
26049         of dfa.c already does, since it uses state_num which is signed),
26050         that is a bigger change and is not needed to fix the bugs I found.
26051         * lib/dfa.c: Include stdint.h and intprops.h.
26052         (TOKEN_MAX): New macro.
26053         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
26054         (charclass_index, parse_bracket_exp, addtok, insert, merge)
26055         (realloc_trans_if_necessary, free_mbdata):
26056         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
26057         This is safe because xpalloc checks that the sizes do not exceed
26058         either SIZE_MAX or PTRDIFF_MAX.
26059         (xpalloc): New function, mostly taken from Emacs.
26060         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
26061         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
26062         (charclass_index): Check for integer overflow in computing
26063         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
26064         added to it later.
26065         (alloc_position_set): Check for integer overflow.  On typical
26066         platforms this check has zero overhead, since the constant
26067         expression is false.
26068         (realloc_trans_if_necessary):
26069         Remove assertion, which I hope Coverity no longer needs.
26071         * modules/dfa (Depends-on): Add intprops, stdint.
26073 2016-12-12  Jim Meyering  <meyering@fb.com>
26075         dfa: add an assertion to avoid coverity false positive
26076         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
26077         warned that "newalloc1 - 2" could overflow.
26079 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
26081         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
26082         * dfa.h (DFA_CASE_FOLD): Remove.
26083         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
26085 2016-12-13  John W. Eaton  <gnu@jweaton.org>
26087         link: fix test to declare use of rename()
26088         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
26089         -Werror=implicit-function-declaration
26091 2016-12-12  Bruno Haible  <bruno@clisp.org>
26093         fpending: Port to native Windows with MSVC.
26094         * lib/fpending.c: Include stdio-impl.h.
26095         (__fpending): Include all known implementations. Err out if it's not
26096         ported.
26097         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
26098         * modules/fpending (Files): Add lib/stdio-impl.h.
26099         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
26101 2016-12-12  Bruno Haible  <bruno@clisp.org>
26103         stdioext: Port to native Windows with MSVC.
26104         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
26105         (struct _gl_real_FILE): New type.
26106         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
26107         Windows.
26108         * lib/fbufmode.c (fbufmode): Add code for native Windows.
26109         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
26110         other SystemV derived implementations.
26111         * lib/fpurge.c (fpurge): Likewise.
26112         * lib/freadable.c (freadable): Likewise.
26113         * lib/freadahead.c (freadahead): Likewise.
26114         * lib/freading.c (freading): Likewise.
26115         * lib/freadptr.c (freadptr): Likewise.
26116         * lib/freadseek.c (freadptrinc): Likewise.
26117         * lib/fseeko.c (fseeko): Likewise.
26118         * lib/fseterr.c (fseterr): Likewise.
26119         * lib/fwritable.c (fwritable): Likewise.
26120         * lib/fwriting.c (fwriting): Likewise.
26121         Reported by Gisle Vanem <gvanem@yahoo.no>.
26123 2016-12-11  Jim Meyering  <meyering@fb.com>
26125         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
26126         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
26127         to work with most shells, but not with the one provided by many
26128         Solaris 10 systems, so running configure with such a /bin/sh evokes
26129         e.g., "./configure: syntax error at line 33602: `(' unexpected".
26130         Reported by Assaf Gordon in
26131         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
26133 2016-12-10  Bruno Haible  <bruno@clisp.org>
26135         threadlib: Optimize out runtime test on Solaris >= 10.
26136         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
26137         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
26138         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
26140 2016-12-10  Bruno Haible  <bruno@clisp.org>
26142         stdint: Update doc about Solaris 9.
26143         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
26145 2016-12-09  Bruno Haible  <bruno@clisp.org>
26147         c-ctype tests: Fix link error on Solaris 9.
26148         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
26149         Reported at <https://savannah.gnu.org/bugs/?46827>.
26151 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
26153         dfa: fix performance bug that recomputes trans
26154         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
26155         25 on-demand changes.  The bug caused build_state to reset all
26156         d->trans elements to -2 even when d->trans was already non-null.
26157         Use C99 style decls after statements in this function.
26159         same-inode: port to MinGW
26160         Here st_ino is always 0, so change the definition of SAME_INODE so
26161         that 1 means the two files are the same, 0 with st_ino != 0 means
26162         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
26163         reported by Bruno Haible (Bug#25146).
26164         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
26165         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
26167 2016-12-04  Bruno Haible  <bruno@clisp.org>
26169         javacomp-script: Support Java 7 and 8.
26170         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
26171         target-version 1.7, 1.8.
26173 2016-12-02  Daiki Ueno  <ueno@gnu.org>
26175         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
26176         GPLv2" rewriting.
26178 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
26180         * gnulib-tool (func_import): Adhere to the license guideline when
26181         rewriting the license text to "LGPLv3+ or GPLv2":
26182         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
26184 2016-12-02  Bruno Haible  <bruno@clisp.org>
26186         localcharset: Avoid theoretical buffer overrun.
26187         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
26188         return value from setlocale if it would lead to a buffer overrun.
26190 2016-12-01  Bruno Haible  <bruno@clisp.org>
26192         Relicense some modules under LGPLv2+.
26193         Kevin Cernekee's approval is in
26194         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
26195         * modules/fseterr (License): Change to LGPLv2+.
26196         * modules/mbchar (License): Likewise.
26197         * modules/mbiter (License): Likewise.
26198         * modules/mbsnlen (License): Likewise.
26199         * modules/wcwidth (License): Likewise.
26201 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26203         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
26204         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
26205         OS/2 kLIBC.
26207 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26209         alphasort, scandir: Port to OS/2 kLIBC
26210         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
26211         declaration.
26212         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
26214 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26216         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
26217         * lib/relocatable.c (relocate): Do not touch pathname if it is started
26218         with '/@unixroot'.
26220 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26222         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
26223         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
26224         OS/2 kLIBC unless TCPV40HDRS is defined.
26226 2016-11-29  Jim Meyering  <meyering@fb.com>
26228         dfa: avoid new infinite loop
26229         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
26230         * lib/dfa.c (dfastate): When constructing a new state table, we could
26231         initially declare that we had found a match, and later find that
26232         constraints eliminate that possibility, yet continue to use the
26233         now stale "matched" indicator.  That would lead to an infinite loop.
26234         The solution is to update "matched" when necessary.
26235         Introduced by commit v0.1-983-g403adf1.
26237 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26239         dfa: avoid match middle in multibyte character
26240         * lib/dfa.c (transit_state): If fails in matching single byte characters
26241         on a state including period expression in non-UTF8 multibyte locales,
26242         skip trailing bytes.
26243         (dfa_supported): Revert previous change.
26245 2016-11-27  Jim Meyering  <meyering@fb.com>
26247         dfa: avoid false match in non-UTF8 multibyte locales
26248         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
26249         as "not supported" so that callers will resort to using regex-based
26250         matcher.  This will surely hurt performance, but correctness trumps
26251         performance here, and the affected locales are less and less relevant,
26252         these days.  See grep's bug report https://bugs.gnu.org/24975.
26254 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
26256         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
26257         * lib/ptsname_r.c: Include the appropriate headers.
26258         [__sun]: Delete sys/sysmacros.h include.
26259         [_AIX || __osf__]: Likewise.
26260         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
26262 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26264         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
26265         * lib/md4.c (md4_process_bytes): The existing define is made internal
26266         in recent versions of glibc, so also use this new public define.
26267         * lib/md5.c (md5_process_bytes): Likewise.
26268         * lib/sha1.c (sha1_process_bytes): Likewise.
26269         * lib/sha256.c (sha256_process_bytes): Likewise.
26270         * lib/sha512.c (sha512_process_bytes): Likewise.
26272 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26274         maint: use a more standard return from mbrtowc test
26275         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
26276         from the test program as this often indicates an
26277         unhandled case in the test program.
26278         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
26279         (gl_MBRTOWC_SANITYCHECK): Likewise.
26280         (gl_MBRTOWC_NULL_ARG2): Likewise.
26281         (gl_MBRTOWC_NUL_RETVAL): Likewise.
26283 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26285         freopen: work around glibc bug with closed fd
26286         Work around glibc bug#15589, where freopen mishandles the case
26287         where stdin etc. are already closed.
26288         * doc/posix-functions/freopen.texi (freopen): Document the bug.
26289         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
26290         instead of __need_FILE, as the latter does not work with glibc.
26291         Include <fcntl.h>, for open flags.
26292         (rpl_freopen): Work around glibc bug.
26293         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
26294         * modules/freopen (Depends-on): Add fcntl-h.
26295         * tests/test-freopen.c (main): Test for bug.
26297 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26299         fnmatch: fix typo introduced on 2016-08-17
26300         This fixes the port to non-GCC compilers that lack __builtin_expect.
26301         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
26303         dfa: simplify with new function fillset
26304         * lib/dfa.c (fillset): New function.
26305         Use it for clarity when applicable.
26307         dfa: fix glitches with on-demand states
26308         Also, adjust commentary to better match new code.
26309         Some of these glitches predate the recent change.
26310         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
26311         only non-initial states.
26312         (dfastate): Rename locals to better match new roles.
26313         Move them into nested scopes if this is easy.
26314         Omit unnecessary calls to zeroset.
26315         Simplify test for whether to throw in the positions of state 0.
26316         Omit C99-ism (decl after statement) since Gawk still wants C89.
26317         (build_state): Omit unnecessary test and assignment.
26318         Fix some confusion that counted transition tables inaccurately
26319         and could cause a memory leak.
26320         (dfaexec_main): Redo to make it clearer to the compiler that
26321         -1 and -2 are the only negative state numbers here.
26323 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26325         dfa: addition of new state on demand
26326         * src/dfa.c (dfastate): Add argument UC, the current input character.
26327         Fill only a group including the character in transition table.
26328         (realloc_trans_if_necessary): Add the dummy state which means that a
26329         transition table is assigned but the next state is not assigned.
26330         (build_state): Return the next state.  All callers updated.
26331         (transit_state_singlebyte): If we get the dummy state,
26332         fill the transition table.
26333         (dfaexec_main): Handle the dummy state.
26334         (free_mbdata, dfafree): Consider the dummy state.
26336 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26338         srclist: sync with released gettext
26339         * config/srclist.txt: Set "release" option to the files under
26340         $GETTEXT.
26342 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26344         srclist: add "release" option
26345         * config/srclist.txt: Change the format so that the first column
26346         of each line points to the top-level directory of the source
26347         archive.
26348         * config/srclist-update: Accept "release" option that checks files
26349         from the most recently tagged revision in the source archive.
26351 2016-11-21  Bruno Haible  <bruno@clisp.org>
26353         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
26354         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26355         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
26356         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
26357         Inline and remove member function 'rpl ()' of the wrapper struct.
26359 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26361         dfa: fix logic typo
26362         Problem reported by Stephane Chazelas (Bug#24973).
26363         * lib/dfa.c (using_simple_locale): Fix typo that caused some
26364         non-simple locales like fr_FR to be treated as simple.
26366 2016-11-20  Jim Meyering  <meyering@fb.com>
26368         fix test driver leaks: exclude, malloc, realloc
26369         * tests/test-exclude.c (main): Fix trivial leak.
26370         * tests/test-malloc-gnu.c (main): Likewise.
26371         * tests/test-realloc-gnu.c (main): Likewise.
26372         With these changes, grep's tests are now leak free.
26373         I.e., running them with ASAN elicits no failure:
26374           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
26375             AM_LDFLAGS='-fsanitize=address -static-libasan' check
26377 2016-11-11  Bruno Haible  <bruno@clisp.org>
26379         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
26380         * modules/libunistring: (License): Change from LGPL to
26381         "LGPLv3+ or GPLv2".
26382         * modules/libunistring-optional: Likewise.
26383         * modules/unicase/*: Likewise.
26384         * modules/uniconv/*: Likewise.
26385         * modules/unictype/*: Likewise.
26386         * modules/unigbrk/*: Likewise.
26387         * modules/unilbrk/*: Likewise.
26388         * modules/uniname/*: Likewise.
26389         * modules/uninorm/*: Likewise.
26390         * modules/unistdio/*: Likewise.
26391         * modules/unistr/*: Likewise.
26392         * modules/uniwbrk/*: Likewise.
26393         * modules/uniwidth/*: Likewise.
26395 2016-11-12  Bruno Haible  <bruno@clisp.org>
26397         Relicense some modules under LGPLv2+.
26398         Paul Eggert's approval is in
26399         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
26400         Eric Blake's approval is in
26401         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
26402         Ludovic Courtès's approval is in
26403         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
26404         * modules/isnand-nolibm (License): Change to LGPLv2+.
26405         * modules/isnanf-nolibm (License): Likewise.
26406         * modules/isnanl-nolibm (License): Likewise.
26408 2016-11-19  Bruno Haible  <bruno@clisp.org>
26410         Relicense some modules under LGPLv2+.
26411         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
26412         modules/vasnprintf.
26413         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
26414         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
26415         All other significant changes to the files in lib/ of these modules
26416         are from me.
26417         * modules/memcmp2 (License): Change to LGPLv2+.
26418         * modules/amemxfrm (License): Likewise.
26419         * modules/fpieee (License): Likewise.
26420         * modules/fpucw (License): Likewise.
26421         * modules/frexp-nolibm (License): Likewise.
26422         * modules/frexpl-nolibm (License): Likewise.
26423         * modules/printf-frexp (License): Likewise.
26424         * modules/printf-frexpl (License): Likewise.
26425         * modules/printf-safe (License): Likewise.
26426         * modules/signbit (License): Likewise.
26428 2016-11-17  Bruno Haible  <bruno@clisp.org>
26430         Enable Unicode decoder safety unconditionally.
26431         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
26432         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
26433         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26434         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26435         * lib/unistr/u8-prev.c (u8_prev): Likewise.
26436         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
26437         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
26438         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
26439         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
26440         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
26441         * lib/unistr/u16-prev.c (u16_prev): Likewise.
26442         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
26443         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
26444         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
26445         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
26446         * lib/unistr/u32-prev.c (u32_prev): Likewise.
26447         * lib/unistr/u32-next.c (u32_next): Likewise.
26448         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
26449         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
26450         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26451         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26452         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
26453         CONFIG_UNICODE_SAFETY tests unconditionally.
26454         * tests/unistr/test-u32-mblen.c (main): Likewise.
26455         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
26456         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
26457         * tests/unistr/test-u32-next.c (main): Likewise.
26458         * tests/unistr/test-u32-strmblen.c (main): Likewise.
26459         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
26460         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
26461         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
26462         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
26463         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26464         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
26465         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
26466         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
26467         * lib/unistr/u16-check.c (u16_check): Update comment.
26468         * NEWS: Mention the changes that callers should be aware of.
26470 2016-11-19  Bruno Haible  <bruno@clisp.org>
26472         relocatable-prog-wrapper: Fix breakage on Cygwin.
26473         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
26474         (Depends-on): Remove intprops.
26475         * lib/relocwrapper.c: Update dependency tree.
26476         (strerror): Undefine.
26477         * build-aux/install-reloc (func_create_wrapper): Do not compile
26478         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
26480 2016-11-19  Bruno Haible  <bruno@clisp.org>
26482         strerror: Make it compile in C++ mode.
26483         * lib/strerror.c (strerror): Ignore the return value of memcpy().
26485 2016-11-15  Pedro Alves  <palves@redhat.com>
26487         sys_time: add gnulib::timeval for C++
26488         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
26489         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
26490         timeval macro.
26492 2016-11-14  Pedro Alves  <palves@redhat.com>
26494         snippet/c++defs: fix real-floating arg functions in C++ mode
26495         Also, define isfinite, isinf, isnan, signbit in the gnulib
26496         namespace instead of in the global namespace.
26497         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
26498         (_GL_END_NAMESPACE): New.
26499         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
26500         (isfinite, isinf, isnan, signbit) [__cplusplus &&
26501         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
26502         instead of in the global namespace.
26503         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
26504         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
26505         of in the global namespace.
26507 2016-11-13  Jim Meyering  <meyering@fb.com>
26509         strftime: don't use __THROW
26510         Each use of __THROW would provoke this from gcc-7-to-be:
26512           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
26513             on unit local functions [-Wattributes]
26514           static int iso_week_days (int, int) __THROW;
26515           ^~~~~~
26516         * lib/strftime.c (__THROW): Don't define.
26517         Remove each use of __THROW.
26518         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
26519         (tm_diff, iso_week_days, __strftime_internal): Likewise.
26521 2016-11-14  Paul Eggert  <eggert@union>
26523         obstack: port to gcc -fcheck-pointer-bounds
26524         Problem found by 'make check' failure on bleeding-edge coreutils
26525         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
26526         6.2.0-5ubuntu12), configured via "./configure
26527         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
26528         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
26529         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
26530         New macro, copied from fts_.h.
26531         (struct _obstack_chunk.contents): Use it.
26533 2016-11-14  Eric Blake  <eblake@redhat.com>
26535         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
26536         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
26537         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
26539 2016-11-14  Pádraig Brady  <P@draigBrady.com>
26541         strptime: fix compile error in recent change
26542         * lib/strptime.c (__strptime_internal): Fix ported code.
26544 2016-11-11  Bruno Haible  <bruno@clisp.org>
26546         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
26547         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
26548         (func_import): Extend determination of license_incompatibilities.
26549         (func_create_testdir): Extend table of license compatibility. Handle
26550         also the licenses GPLv3+, GPL, LGPLv3+.
26552 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26554         strftime: tune %q
26555         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
26557         Merge strftime.c changes from glibc
26558         This incorporates:
26559         2007-10-16 [BZ #5184] Add tzset_called argument
26560         2008-06-13 [BZ #6612] pass reference to tzset_called around
26561         2009-10-30 Implement Burmese language locale for Myanmar
26562         2010-01-09 Add support for XPG7 testing
26563         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
26564         2015-10-20 Convert miscellaneous function definitions to prototype style
26565         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
26566         it anyway and this lessens the difference between gnulib and glibc.
26567         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
26568         (__THROW): Define if standard headers do not.
26569         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
26570         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
26571         Declare with __THROW.
26572         (__strftime_internal): Rename from strftime_case_. Add arg for
26573         whether tzset is called.  All uses changed.  Call tzset at most
26574         once.  Allow %OC, for Burmese.
26575         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
26576         Don't assume values are in range.
26578 2016-11-12  Eric Blake  <eblake@redhat.com>
26580         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
26581         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
26582         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
26583         different value.
26585 2006-11-12  Pedro Alves  <palves@redhat.com>
26587         Fix gnulib C++ namespace support and std::frexp
26588         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
26589         _GL_CXXALIASWARN.
26591 2006-11-12  Pedro Alves  <palves@redhat.com>
26593         GNULIB_NAMESPACE::func need not pull in rpl_func
26594         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26595         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
26596         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
26597         struct instead of a function pointer.
26599 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
26601         manywarnings: fix -Wno-missing-field-initializers detection
26602         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
26603         to be independent of -Wunused-variable.  I.E. ensure the latter
26604         warning doesn't occur so that detection of the former is accurate.
26606 2016-11-05  Pádraig Brady  <pbrady@fb.com>
26608         strftime,strptime: support %q to represent the quarter
26609         * lib/strftime.c (strftime_case_): Add %q case.
26610         * lib/strptime.c (__strptime_internal): Likewise.
26611         * tests/test-strftime.c (quarter_test): A new test case.
26613 2016-11-03  Eric Blake  <eblake@redhat.com>
26615         bootstrap: Fix get_version() for AIX 5.3
26616         * build-aux/bootstrap (get_version): Factor out sed script, since
26617         indented comments choke AIX 5.3 sed.
26618         Reported-by: Michael Felt <aixtools@gmail.com>
26620 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26622         intprops: port to older XL C
26623         Problem reported by Alexander Samoilov in:
26624         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
26625         http://savannah.nongnu.org/bugs/?49448
26626         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
26627         Define to 1 only for XL C 12.1 or later, since this bug
26628         occurs in XL C for AIX 6.0 but not in 12.1.
26630 2016-11-02  Pádraig Brady  <P@draigBrady.com>
26632         backupfile: initialize default suffix within the implementation
26633         * lib/backupfile.c (find_backup_file_name): Initialize the
26634         global variable here, to simplify usage, and to only call
26635         getenv() when needed.
26637 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26639         futimens: remove FIXME for old Linux kernels
26640         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
26641         this in 2012" FIXME, like that for utimensat.
26643         utimensat: remove FIXME for old Linux kernels
26644         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
26645         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
26646         this in 2012" FIXME, by assuming the file system bug is absent
26647         unless demonstrated to be present.  We no longer need to worry
26648         about Linux kernel 2.6.32 when building with newer kernels.
26650 2016-10-16  Bruno Haible  <bruno@clisp.org>
26652         qsort_r: Fix macrology for platforms that lack the function.
26653         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
26654         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
26655         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
26656         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
26657         not exist.
26658         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
26659         the function exists.
26660         * modules/qsort_r: Add comments.
26662 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26664         sys_types: fix Texinfo typos
26665         * doc/glibc-functions/gnu_dev_major.texi:
26666         * doc/glibc-functions/gnu_dev_makedev.texi:
26667         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
26669 2016-10-26  John David Anglin  <dave.anglin@bell.net>
26671         getprogname: port to HP-UX
26672         See Bug#24805.
26673         * lib/getprogname.c (getprogname) [__hpux]: Port.
26674         * tests/test-getprogname.c (STREQ) [__hpux]:
26675         Special-case for HP-UX limitations on program name length.
26677 2016-10-20  Bruno Haible  <bruno@clisp.org>
26679         Update doc about target platforms.
26680         * doc/gnulib-intro.texi (Target Platforms): Update list.
26682 2016-10-15  Bruno Haible  <bruno@clisp.org>
26684         opendir, readdir, closedir: Relicense under LGPLv2+.
26685         * modules/opendir (License): Change to LGPLv2+.
26686         * modules/readdir (License): Likewise.
26687         * modules/closedir (License): Likewise.
26689 2016-10-16  Bruno Haible  <bruno@clisp.org>
26691         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
26692         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
26693         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
26694         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
26695         HAVE_DECL_STRERROR_R.
26697 2016-10-16  Bruno Haible  <bruno@clisp.org>
26699         Make the 'argp' module work without the 'error' module.
26700         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
26702 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
26704         diffseq: restore TOO_EXPENSIVE heuristic
26705         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
26706         (Bug#24715).  The simplest solution is to restore the
26707         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
26708         using a higher threshold to avoid Bug#16848 on smaller files.
26709         * lib/diffseq.h (struct context): Restore member too_expensive.
26710         (struct partition): Restore members lo_minimal, hi_minimal.
26711         (diag, compareseq): Restore arg find_minimal.  All uses changed.
26712         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
26713         1993 to make 'diff' run faster (but not as well) on large inputs,
26714         but use a threshold of 4096 instead of the old 256.
26715         * lib/fstrcmp.c (strcmp_bounded):
26716         * lib/git-merge-changelog.c (compute_differences):
26717         Adjust to diffseq.h changes.
26719 2016-10-22  Bruno Haible  <bruno@clisp.org>
26721         iconv: Avoid compilation error when bootstrapping GNU libiconv.
26722         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
26723         declaration yet, define ICONV_CONST to empty.
26725 2016-10-15  Bruno Haible  <bruno@clisp.org>
26727         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
26728         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
26729         module.
26731 2016-10-16  Bruno Haible  <bruno@clisp.org>
26733         system-quote tests: Avoid compiler warning on AIX.
26734         * tests/test-system-quote-child.c (fopen): Redefine like the system's
26735         <stdio.h> does.
26737 2016-10-16  Bruno Haible  <bruno@clisp.org>
26739         Fix some "gcc -Wall" warnings.
26740         * tests/test-ffsl.c (main): Use variable x, not i.
26741         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
26742         freopen.
26743         * tests/test-sethostname1.c (main): Explicitly ignore the return value
26744         of sethostname.
26746 2016-10-16  Bruno Haible  <bruno@clisp.org>
26748         gnulib-tool: Make --create-testdir on all modules work again.
26749         * gnulib-tool (func_create_testdir): Don't include the
26750         non-recursive-gnulib-prefix-hack module.
26752 2016-10-21  Daiki Ueno  <ueno@gnu.org>
26754         libunistring: change the maintainer to 'all'
26755         * modules/gen-uni-tables, modules/libunistring:
26756         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
26757         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
26758         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
26759         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
26760         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
26761         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
26762         * modules/uniwidth/*: Change the maintainer to 'all'.
26764 2016-10-16  Bruno Haible  <bruno@clisp.org>
26766         Simplify "configure: checking ..." messages.
26767         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
26768         AC_MSG_NOTICE.
26769         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26771 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
26773         quotearg-tests: pacify gcc -Wall
26774         Problem reported by Bruno Haible in:
26775         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
26776         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
26777         * tests/test-quotearg.h: ... from here.
26779 2016-10-20  Pádraig Brady  <P@draigBrady.com>
26781         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
26782         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
26783         Needed on Centos <= 4.
26785 2016-10-20  Jim Meyering  <meyering@fb.com>
26787         printf.m4: fix a bug in detecting printf %j support
26788         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
26789         uintmax_t is defined in neither stdint.h nor inttypes.h.
26790         Before, this macro might have mistakenly set
26791         gl_cv_func_printf_sizes_c99=yes on such a system.
26792         Spotted by Zev Weiss.
26794 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
26796         sched: substitute HAVE_SYS_CDEFS_H too
26797         Problem reported by Tom G. Christensen in:
26798         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
26799         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
26800         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
26802 2016-10-19  Pádraig Brady  <P@draigBrady.com>
26804         quotearg: never write beyond the returned length
26805         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
26806         scan of the string when we initially encounter a single quote when
26807         shell quoting, so that if we then switch to a more concise quoting method
26808         we will not have written beyond that returned length.
26809         This is significant for sh-quote, which has separate routines
26810         to determine the length and do the actual quoting.
26811         * tests/test-quotearg.h: Reinstate the buffer bounds checking
26812         now that we never write more than the returned length.
26814 2016-10-18  Bruno Haible  <bruno@clisp.org>
26816         getprogname tests: Avoid failure in packages that use libtool.
26817         * tests/test-getprogname.c (main): Strip "lt-" prefix.
26818         Based on a patch by Jim Meyering.
26820 2016-10-16  Bruno Haible  <bruno@clisp.org>
26822         getprogname: Fix test failure on Cygwin. Comments.
26823         * lib/getprogname.h: Add comments.
26824         * lib/getprogname.c: Add comments. Fix #elif indentation.
26825         * tests/test-getprogname.c (main): On Cygwin, expect a result without
26826         ".exe" suffix.
26828 2016-10-16  Bruno Haible  <bruno@clisp.org>
26830         Make sure the libunistring detection rejects older versions with a
26831         known bug.
26832         * modules/unistr/u8-strtok (configure.ac): Bump required version.
26833         * modules/unistr/u16-strtok (configure.ac): Likewise.
26834         * modules/unistr/u32-strtok (configure.ac): Likewise.
26836 2016-10-18  Bruno Haible  <bruno@clisp.org>
26838         sh-quote, system-quote: revert regression of unit test.
26839         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
26840         * tests/test-system-quote-main.c (check_one): Likewise.
26842 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26844         quotearg: fix stale tests
26845         * tests/test-quotearg.c [locale_results]: Add the missing str7
26846         entries to the expected results.
26847         * tests/test-system-quote-main.c (check_one): Don't enforce that we
26848         don't write beyond the returned length, since that's no longer the
26849         case if we switch to a more concise quoting style.
26850         * tests/test-sh-quote.c (check_one): Likewise.
26851         (main): Adjust for the new more concise quoting style.
26852         Reported by Bruno Haible.
26854 2016-10-16  Jim Meyering  <meyering@fb.com>
26856         non-recursive-gnulib-prefix-hack: fix inconsequential typo
26857         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
26858         to "$1".  This macro is always invoked with $1 == lib.
26859         Spotted by Bruno Haible
26861 2016-10-16  Bruno Haible  <bruno@clisp.org>
26863         Fix a test crash.
26864         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
26865         fails.
26867 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26869         test-limits-h: suppress -Woverlength-strings
26870         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
26872 2016-10-15  Bruno Haible  <bruno@clisp.org>
26874         gettime, timespec, utimens: Relicense under LGPL.
26875         * modules/gettime (License): Change to LGPL.
26876         * modules/timespec (License): Likewise.
26877         * modules/utimens (License): Likewise.
26879 2016-10-14  Bruno Haible  <bruno@clisp.org>
26880             Pádraig Brady  <P@draigBrady.com>
26882         canonicalize-lgpl: Support the case path_max > INT_MAX.
26883         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
26884         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
26886 2016-10-13  Jim Meyering  <meyering@fb.com>
26888         getprogname: IBM z/OS: avoid NULL-dereference
26889         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
26890         upon strdup failure.
26892 2016-10-12  Jim Meyering  <meyering@fb.com>
26894         test-stdint: use _GL_VERIFY rather than "verify" for some tests
26895         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
26896         and an abbreviated diagnostic rather than verify with the full one,
26897         because the full-length strings would evoke warnings from gcc with
26898         -Woverlength-strings.
26900 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26902         stdint: port SIZE_MAX to glibc s390
26903         Problem reported by Eric Blake in:
26904         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
26905         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
26906         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
26907         correct type, if possible.
26909 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
26911         getprogname: port to IBM z/OS
26912         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
26914 2016-10-11  Jim Meyering  <meyering@fb.com>
26916         maint: remove stray space after "." in AC_DEFINE comment.
26917         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
26918         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26920 2016-10-05  Jim Meyering  <meyering@fb.com>
26922         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26923         * lib/long-options.c (parse_long_options): Add a break statement
26924         to avoid this new warning/failure:
26925         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26926           --create-testdir --dir=/t/x --with-tests --test long-options
26927         ../../gllib/long-options.c: In function 'parse_long_options':
26928         ../../gllib/long-options.c:66:12: error: this statement may \
26929           fall through [-Werror=implicit-fallthrough]
26930                    (*usage_func) (EXIT_SUCCESS);
26931                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26933 2016-10-05  Jim Meyering  <meyering@fb.com>
26935         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26936         Testing this module would fail when using GCC 7 like this:
26937         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26938           --dir=/tmp/x --with-tests --test utimecmp
26939         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26940         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26941           [-Werror=bool-operation]
26942                          time_t s = src_s & ~ (res == 2 * BILLION);
26943                                             ^
26944         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26945           [-Werror=bool-operation]
26946                src_s &= ~ (res == 2 * BILLION);
26947                         ^
26948         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26949         Instead, make it explicit that we intend to apply it to 0 or 1.
26951 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26953         dfa: save memory for states
26954         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
26955         states if dfa has a lot of caches.
26957 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
26959         wchar, wctype-h: fix for MinGW 3.22.2
26960         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
26961         special invocation, to fix issues with MinGW 3.22.2 wchar.h
26962         when included from <string.h>.
26963         * lib/wctype.in.h [__MINGW32__]: Add special invocation
26964         convention for MinGW 3.22.2, to solve issues with their
26965         wctype.h when included from <ctype.h>.
26967 2016-10-05  Jim Meyering  <meyering@fb.com>
26969         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26970         * lib/long-options.c (parse_long_options): Add a break statement
26971         to avoid this new warning/failure:
26972         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26973           --create-testdir --dir=/t/x --with-tests --test long-options
26974         ../../gllib/long-options.c: In function ‘parse_long_options’:
26975         ../../gllib/long-options.c:66:12: error: this statement may \
26976           fall through [-Werror=implicit-fallthrough]
26977                    (*usage_func) (EXIT_SUCCESS);
26978                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26980         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26981         Testing this module would fail when using GCC 7 like this:
26982         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26983           --dir=/tmp/x --with-tests --test utimecmp
26984         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26985         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26986           [-Werror=bool-operation]
26987                          time_t s = src_s & ~ (res == 2 * BILLION);
26988                                             ^
26989         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26990           [-Werror=bool-operation]
26991                src_s &= ~ (res == 2 * BILLION);
26992                         ^
26993         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26994         Instead, make it explicit that we intend to apply it to 0 or 1.
26996 2016-10-03  Pádraig Brady  <P@draigBrady.com>
26998         quotearg: minimize shell quoting using double quotes
26999         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
27000         quote in encountered then use double quotes (c style quoting)
27001         when possible, as it simplifies the quoting.
27002         * tests/test-quotearg-simple.c: Add test cases.
27003         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
27004         for the fact we now may write beyond the returned length.
27006 2016-10-02  Jim Meyering  <meyering@fb.com>
27008         vasnprintf.c: avoid spurious warning from GCC 7
27009         The presence of cpp directives renders this "FALLTHROUGH" comment
27010         ineffective, so does not suppress the -Wimplicit-fallthrough warning
27011         from GCC 7 built from git on 2016-10-02.
27012         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
27013         directives, so that it takes effect once again.  This is clearly
27014         not a proper change, and I will revert it once this bug is fixed:
27015         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
27017 2016-10-01  Jim Meyering  <meyering@fb.com>
27019         getprogname: correct the test for a __progname variable
27020         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
27021         and AC_LINK_IFELSE to check for a global __progname.  If found,
27022         define HAVE_VAR___PROGNAME.
27023         * lib/getprogname.c (getprogname): Reflect the new name of the
27024         feature- checked preprocessor symbol:
27025         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
27027 2016-09-28  Jim Meyering  <meyering@fb.com>
27029         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
27030         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
27031         fall-through case with a /* fallthrough */ comment.
27033         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
27034         * lib/dfa.c (dfassbuild): Mark the end of this case with a
27035         /* fallthrough */ comment.
27037         getprogname: avoid __progname vs program_invocation_short_name pitfall
27038         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
27039         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
27040         not with Fedora 24's glibc-2.23.1-10.
27041         * lib/getprogname.c (__progname): Move this declaration down...
27042         (getprogname): ... into the #elif block where used, and make it
27043         explicitly "extern".
27045         getprogname: port to OpenBSD 5.1
27046         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
27047         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
27048         * modules/getprogname (configure.ac): Move most of this code...
27049         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
27050         increment serial number, and add a test for __progname.
27051         https://bugs.gnu.org/24562
27052         Reported by Nelson H. F. Beebe.
27054 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27056         sched: port to GCC 6.2.1 on macOS Sierra
27057         Problem reported by Denis Davydov in:
27058         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
27059         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
27060         Include <sys/cdefs.h> before <sched.h>.
27061         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
27062         so that we needn’t worry about the sched.h include bug here.
27063         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
27064         and include it before <sched.h> if it exists, when
27065         checking for <sched.h>.
27067         tests/init.sh: port Alpine fix to AIX 7.1
27068         * tests/init.sh (compare_): When attempting to use diff -U3,
27069         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
27070         diff -u not outputting a space after leading '+', as the users
27071         of 'compare' should not be that picky about its output format.
27072         In the AIX 7.1 case, return with diff exit status (or with 2 if
27073         trouble), instead of some random nonzero exit status.
27074         * tests/test-init.sh (test_compare): Remove space after leading
27075         '+', so that AIX 7.1 'diff' passes the test.
27077 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27079         nl_langinfo: pacify GCC
27080         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
27081         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
27083         stdint: also set GL_GENERATE_LIMITS_H
27084         Problem reported by Jim Meyering in:
27085         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
27086         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
27088         limits-h, stdint: Don't assume extensions, fix typo
27089         * m4/limits-h.m4 (gl_LIMITS_H):
27090         * m4/stdint.m4 (gl_STDINT_H):
27091         Don't assume AC_USE_SYSTEM_EXTENSIONS.
27092         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
27093         reported by Jim Meyering in:
27094         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
27096 2016-09-21  Jim Meyering  <meyering@fb.com>
27098         getprogname: port to AIX
27099         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
27100         and strdup to obtain a short program name string.  Using code from
27101         Bruno Haible and an idea from Bastien ROUCARIÈS, in
27102         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
27103         Assaf Gordon reported that this new file would fail to compile on
27104         AIX-7.1 32bit.
27106 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
27108         extensions: fix typo in comment
27109         * m4/extensions.m4: Sync from Autoconf master.
27111         stdint: support new _WIDTH macros
27112         * doc/posix-headers/stdint.texi: Document this.
27113         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
27114         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
27115         support for INTMAX_WIDTH, etc. as well as for support for just C99.
27116         * modules/stdint (Depends-on): Add limits-h.
27117         (Makefile.am): Substitute HAVE_C99_STDINT_H.
27118         * modules/stdint-tests (Depends-on): Add extensions, so that
27119         INTMAX_MAX etc. are defined.
27120         * tests/test-stdint.c: Verify the new macros.
27122         limits-h: new module
27123         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
27124         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
27125         * doc/posix-headers/limits.texi: Document new module.
27126         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
27127         * modules/limit-h-tests, tests/test-limits-h.c: New files.
27129         stdio: don't redefine __USE_MINGW_ANSI_STDIO
27130         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
27131         if it is already defined.  Apparently GNU Emacs relies on this.  See:
27132         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
27134 2016-09-15  Eric Blake  <eblake@redhat.com>
27136         sys_types: avoid glibc 2.25 warnings about major()
27137         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
27138         older autoconf.
27139         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
27140         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
27141         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
27142         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
27144         mountlist: include sysmacros.h for glibc
27145         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
27146         AC_HEADER_MAJOR.
27147         * lib/mountlist.c (includes): Use correct headers.
27149 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
27151         extensions: port to more ISO C TSes
27152         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
27153         master, to add support for more recent ISO C TRs and TSes.
27155 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27157         intprops: new macro TYPE_WIDTH
27158         * lib/intprops.h (TYPE_WIDTH): New macro.
27159         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
27160         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
27161         * lib/parse-datetime.y (parse_datetime2):
27162         Use it.
27164         extensions: port to recent ISO C TRs
27165         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27166         Sync from Autoconf master, to add support for recent ISO C TRs.
27167         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
27168         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
27169         the MinGW option is not an extension.
27171 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27173         dfa: port to Solaris 9
27174         Problems reported by Tom G. Christensen in:
27175         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
27176         * modules/dfa (Depends-on): Add isblank.
27177         * modules/dfa-tests (dfa_match_aux_LDADD):
27178         Rename from test_stat_LDADD, to fix typo.
27179         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
27181 2016-09-10  Jim Meyering  <meyering@fb.com>
27183         strverscmp: avoid link failure on OS X
27184         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
27185         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
27187 2016-08-16  Jim Meyering  <meyering@fb.com>
27189         dfa: new module, importing grep's DFA matcher
27190         Since grep's DFA matcher is now being used by two gnulib-enabled
27191         projects, grep and sed, it makes sense to version-control its
27192         sources and unit tests in one place: here.
27193         * modules/dfa: New module.
27194         * modules/dfa-tests: New file.
27195         * lib/dfa.c: New file, from grep.
27196         * lib/dfa.h: Likewise.
27197         * lib/localeinfo.c: Likewise.
27198         * lib/localeinfo.h: Likewise.
27199         * tests/dfa-match-aux.c: Likewise.
27200         * tests/dfa-invalid-char-class.sh: Likewise.
27201         * tests/dfa-match.sh: Likewise, with minor changes.
27202         * MODULES.html.sh (Misc): Add "dfa" to this list.
27204 2016-09-09  Jim Meyering  <meyering@fb.com>
27206         getprogname-tests: don't depend on assert-h
27207         * modules/getprogname-tests (Depends-on): Remove assert-h.
27208         It was not needed, and in fact would cause build failure for
27209         coreutils on some systems.  Reported by Assaf Gordon in https:
27210         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
27212 2016-09-07  Jim Meyering  <meyering@fb.com>
27214         getprogname-tests: work also when EXEEXT is nonempty
27215         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
27216         * tests/test-getprogname.c (main): Use it.
27217         Suggested by Gisle Vanem.
27219 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
27221         getprogname: fix errors in previous change
27222         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
27223         s/program_invocation_name/base/
27224         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
27226 2016-09-08  Pádraig Brady  <P@draigBrady.com>
27228         parse-datetime: restrict debug output to input string
27229         * lib/parse-datetime.y (parse_datetime2): If we parse
27230         all of the input but determine it's invalid, ensure
27231         we don't output the now invalid input pointer.
27232         This issue was seen with `date -d 'now +1'`.
27234 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27236         flexmember: new macro FLEXALIGNOF
27237         * lib/flexmember.h: Include <stddef.h>, for offsetof.
27238         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
27239         this macro.  Update comments.
27241 2016-09-07  Jim Meyering  <meyering@fb.com>
27243         getprogname: port to systems with __argv (mingw, msvc)
27244         * lib/getprogname.c (getprogname): Include "dirname.h" and use
27245         last_component: more general than open coding it with hard-coded "/".
27246         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
27247         * modules/getprogname (Depends-on): Add dirname-lgpl.
27248         (configure.ac): Check for __argv in <stdlib.h>.
27249         * modules/getprogname-tests: New file.
27250         * tests/test-getprogname.c: New file.
27251         Suggested by Gisle Vanem in
27252         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
27254 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27256         flexmember: port better to GCC + valgrind
27257         With a char[] flexible array member in a struct with nontrivial
27258         alignment, GCC-generated code can access past the end of the
27259         array, because GCC assumes there are padding bytes to get the
27260         struct aligned.  So the common idiom of malloc (offsetof (struct
27261         s, m), n) does not properly allocate an n-byte trailing member, as
27262         malloc’s argument should be the next multiple of alignof (struct s).
27263         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
27264         Although C11 apparently permits this GCC optimization (i.e., there
27265         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
27266         See the thread containing:
27267         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
27268         * lib/flexmember.h: New file.
27269         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
27270         * lib/localename.c, lib/time_rz.c:
27271         Include flexmember.h.
27272         * lib/fnmatch_loop.c (struct patternlist):
27273         * lib/localename.c (struct hash_node):
27274         Use FLEXIBLE_ARRAY_MEMBER.
27275         * lib/fnmatch_loop.c (EXT):
27276         * lib/fts.c (fts_alloc):
27277         * lib/glob.c (glob_in_dir):
27278         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
27279         * lib/localename.c (gl_lock_define_initialized):
27280         * lib/time_rz.c (tzalloc):
27281         Use FLEXSIZEOF instead of offsetof.
27282         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27283         Check that the size of the struct can be taken.
27284         * modules/flexmember (Files): Add lib/flexmember.h.
27285         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
27286         Add flexmember.
27288 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27290         getprogname: port to Solaris 10
27291         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
27292         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
27293         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
27295         stdalign: correct mistake in alignof doc
27296         Problem reported by Joseph Myers in:
27297         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
27298         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
27299         alignof(S) where S is a structure containing a flexible array
27300         member.  The Gnulib substitute does not support this, but C11 does.
27302 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27304         main.mk: remove sc_program_name, since there is no more need to
27305         use set_program_name in tools (getprogname is enough for most
27306         of the cases).
27307         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
27308         * top/maint.mk (sc_program_name): Remove.
27310 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27312         Port tests away from progname, since modules that need the
27313         program name already depend on getprogname.
27314         * modules/acl-tests (Depends-on): Remove progname.
27315         * modules/argmatch (Depends-on): Likewise.
27316         * modules/argmatch-tests (Depends-on): Likewise.
27317         * modules/argp-tests (Depends-on): Likewise.
27318         * modules/argp-version-etc-tests (Depends-on): Likewise.
27319         * modules/array-list-tests (Depends-on): Likewise.
27320         * modules/array-oset-tests (Depends-on): Likewise.
27321         * modules/avltree-list-tests (Depends-on): Likewise.
27322         * modules/avltree-oset-tests (Depends-on): Likewise.
27323         * modules/avltreehash-list-tests (Depends-on): Likewise.
27324         * modules/carray-list-tests (Depends-on): Likewise.
27325         * modules/copy-file-tests (Depends-on): Likewise.
27326         * modules/exclude-tests (Depends-on): Likewise.
27327         * modules/fchownat-tests (Depends-on): Likewise.
27328         * modules/fdopendir-tests (Depends-on): Likewise.
27329         * modules/filenamecat-tests (Depends-on): Likewise.
27330         * modules/fstatat-tests (Depends-on): Likewise.
27331         * modules/fstrcmp-tests (Depends-on): Likewise.
27332         * modules/linked-list-tests (Depends-on): Likewise.
27333         * modules/linkedhash-list-tests (Depends-on): Likewise.
27334         * modules/mkdirat-tests (Depends-on): Likewise.
27335         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
27336         * modules/nonblocking-socket-tests (Depends-on): Likewise.
27337         * modules/obstack-printf-tests (Depends-on): Likewise.
27338         * modules/openat-tests (Depends-on): Likewise.
27339         * modules/parse-datetime-tests (Depends-on): Likewise.
27340         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
27341         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
27342         * modules/quotearg-simple-tests (Depends-on): Likewise.
27343         * modules/quotearg-tests (Depends-on): Likewise.
27344         * modules/rbtree-list-tests (Depends-on): Likewise.
27345         * modules/rbtree-oset-tests (Depends-on): Likewise.
27346         * modules/rbtreehash-list-tests (Depends-on): Likewise.
27347         * modules/spawn-pipe-tests (Depends-on): Likewise.
27348         * modules/system-quote-tests (Depends-on): Likewise.
27349         * modules/uniname/uniname-tests (Depends-on): Likewise.
27350         * modules/uninorm/nfc-tests (Depends-on): Likewise.
27351         * modules/uninorm/nfd-tests (Depends-on): Likewise.
27352         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
27353         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
27354         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
27355         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
27356         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
27357         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
27358         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
27359         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
27360         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
27361         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
27362         * modules/unlinkat-tests (Depends-on): Likewise.
27363         * modules/version-etc-tests (Depends-on): Likewise.
27364         * modules/xalloc-die-tests (Depends-on): Likewise.
27365         * modules/xmemdup0-tests (Depends-on): Likewise.
27366         * modules/xprintf-posix-tests (Depends-on): Likewise.
27367         * modules/xvasprintf-tests (Depends-on): Likewise.
27368         * tests/test-argmatch.c: Do not include progname.h.
27369         (main) Stop calling set_program_name.
27370         * tests/test-argp-version-etc.c: Likewise.
27371         * tests/test-argp.c: Likewise.
27372         * tests/test-argv-iter.c: Likewise.
27373         * tests/test-array_list.c: Likewise.
27374         * tests/test-array_oset.c: Likewise.
27375         * tests/test-avltree_list.c: Likewise.
27376         * tests/test-avltree_oset.c: Likewise.
27377         * tests/test-avltreehash_list.c: Likewise.
27378         * tests/test-carray_list.c: Likewise.
27379         * tests/test-copy-acl.c: Likewise.
27380         * tests/test-copy-file.c: Likewise.
27381         * tests/test-exclude.c: Likewise.
27382         * tests/test-fchownat.c: Likewise.
27383         * tests/test-fdopendir.c: Likewise.
27384         * tests/test-filenamecat.c: Likewise.
27385         * tests/test-fstatat.c: Likewise.
27386         * tests/test-fstrcmp.c: Likewise.
27387         * tests/test-linked_list.c: Likewise.
27388         * tests/test-linkedhash_list.c: Likewise.
27389         * tests/test-mkdirat.c: Likewise.
27390         * tests/test-nonblocking-pipe-main.c: Likewise.
27391         * tests/test-nonblocking-socket-main.c: Likewise.
27392         * tests/test-obstack-printf.c: Likewise.
27393         * tests/test-openat.c: Likewise.
27394         * tests/test-parse-datetime.c: Likewise.
27395         * tests/test-pipe-filter-gi1.c: Likewise.
27396         * tests/test-pipe-filter-gi2-main.c: Likewise.
27397         * tests/test-pipe-filter-ii1.c: Likewise.
27398         * tests/test-pipe-filter-ii2-main.c: Likewise.
27399         * tests/test-quotearg-simple.c: Likewise.
27400         * tests/test-quotearg.c: Likewise.
27401         * tests/test-rbtree_list.c: Likewise.
27402         * tests/test-rbtree_oset.c: Likewise.
27403         * tests/test-rbtreehash_list.c: Likewise.
27404         * tests/test-sameacls.c: Likewise.
27405         * tests/test-set-mode-acl.c: Likewise.
27406         * tests/test-spawn-pipe-main.c: Likewise.
27407         * tests/test-system-quote-main.c: Likewise.
27408         * tests/test-unlinkat.c: Likewise.
27409         * tests/test-version-etc.c: Likewise.
27410         * tests/test-xalloc-die.c: Likewise.
27411         * tests/test-xfprintf-posix.c: Likewise.
27412         * tests/test-xmemdup0.c: Likewise.
27413         * tests/test-xprintf-posix.c: Likewise.
27414         * tests/test-xvasprintf.c: Likewise.
27415         * tests/uniname/test-uninames.c: Likewise.
27416         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27417         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27418         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27419         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27420         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27421         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27422         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27423         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27424         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27425         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27426         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27427         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27428         * tests/test-c-stack.c: (program_name): Do not define.
27429         (main): Do not set program_name.
27430         * tests/test-closein.c: Likewise.
27431         * tests/test-xstrtol.c: Likewise.
27432         * tests/test-yesno.c: Likewise.
27434 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27436         Port modules to use getprogname explicitly, instead of requiring
27437         progname to be used (or program_name to be provided).
27438         * lib/argmatch.c: Do not include progname.h.
27439         [TEST] (program_name): Do not define.
27440         [TEST] (main): Call getprogname instead of using program_name.
27441         * lib/c-stack.c: Do not include progname.h.
27442         (program_name): Do not define.
27443         (die): Call getprogname instead of using program_name.
27444         * lib/chdir-long.c: Do not include progname.h.
27445         [TEST_CHDIR] (main): Do not set program_name.
27446         * lib/error.c [!_LIBC]: Include progname.h.
27447         [!_LIBC] (program_name): Define using getprogname.
27448         * lib/euidaccess.c: Do not include progname.h.
27449         [TEST] (main): Do not set program_name.
27450         * lib/git-merge-changelog.c: Include getprogname.h instead of
27451         progname.h.
27452         (usage): Call getprogname instead of using program_name.
27453         (main): Likewise.  Stop calling set_program_name.
27454         * lib/group-member.c: Do not include progname.h.
27455         [TEST] (main): Do not set program_name.
27456         * modules/argmatch (Depends-on): Add getprogname.
27457         * modules/c-stack (Depends-on): Likewise.
27458         * modules/error (Depends-on): Likewise.
27459         * modules/git-merge-changelog (Depends-on): Likewise.
27460         Also remove progname.
27462 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
27464         * NEWS: Document the deprecation of the 'progname' module.
27466 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27468         getprogname: new module
27469         This provides a LGPL module for getting the name of the current
27470         program, using the same API found on *BSD systems.
27471         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
27472         * modules/getprogname: New files.
27473         * MODULES.html.sh (Misc): Add getprogname.
27475 2016-09-02  Jim Meyering  <meyering@fb.com>
27477         manywarnings: add -fno-common
27478         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
27479         to the list.  Quoting the manual, "Compiling with -fno-common is
27480         useful on targets for which it provides better performance, or if
27481         you wish to verify that the program will work on other systems that
27482         always treat uninitialized variable declarations this way [putting
27483         it in the data section]."  If diffutils had been using this sooner,
27484         it would have prevented this duplicate declaration issue:
27485         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
27487 2016-08-31  Simon Josefsson  <simon@josefsson.org>
27489         parse-datetime: Fix typo.
27490         * lib/parse-datetime.y (parse_datetime2): Fix typo.
27492 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
27494         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
27495         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
27496         GCC 5 and 6 that have __builtin_sub_overflow but not
27497         __builtin_sub_overflow_p.  With the recent changes, these
27498         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
27499         implementation than with INT_SUBTRACT_OVERFLOW implementation,
27500         since the former needs just one runtime comparison whereas the
27501         latter needs two.
27503         strverscmp: sync with glibc
27504         Although this doesn't exactly synchronize with glibc
27505         byte-for-byte, it makes the code behave the same as glibc.
27506         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
27507         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
27508         difference shouldn't matter in practical use.  All uses changed
27509         back to isdigit.
27510         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
27511         (next_state): Now unsigned char array; redo elements.
27512         (result_type): Now signed char array; redo elements.
27513         (__strverscmp): Fix glibc bug 9913 by using new states.
27514         * tests/test-strverscmp.c (main): Test glibc bug 9913.
27516 2016-08-29  Jim Meyering  <meyering@fb.com>
27518         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
27519         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
27520         similarly to how it was done to intprops.h.
27522 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
27524         intprops.h: port recent changes to GCC 6.2.0
27525         * lib/intprops.h (__has_builtin): Move earlier.
27526         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
27527         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
27528         the last argument can be null.  All uses changed.
27529         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
27530         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27531         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
27532         and it's not clear which GCC versions it works for.
27533         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
27534         its definiens.
27536         intprops.h: use __typeof__ with GCC 7
27537         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
27538         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
27539         This avoids computing the expression's value (which might overflow!).
27541 2016-08-29  Jim Meyering  <meyering@fb.com>
27543         intprops.h, xalloc-oversized.h: work with gcc 7
27544         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
27545         __builtin_mul_overflow each accept a NULL pointer as the third
27546         argument.  However in gcc 7, that is no longer accepted.
27547         Instead, one must use the "_p"-suffixed names, with which, the
27548         third parameter is no longer a pointer.
27549         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
27550         the definition: not true for gcc 7 and subsequent.
27551         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
27552         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27553         Provide new definitions for gcc 7 and subsequent.
27554         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
27555         that works with gcc-7.
27557         intprops.h: fix missing-backslash problems
27558         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
27559         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
27561 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27563         intprops: fix paren typo on old platforms
27564         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
27565         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
27566         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
27567         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
27568         && !defined LLONG_MAX]:
27569         Remove stray paren.
27571         intprops: port to OpenVMS
27572         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
27573         * doc/posix-headers/limits.texi: Document the problem.
27574         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
27575         Define if not already defined.
27577 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
27579         parse-datetime: improve debug implementation
27580         Follow-up to commit 12ad79069 ("add optional debug printing").
27581         Improve parse-datetime's debug implementation: remove macros,
27582         replace global debug flag variable with a function parameter,
27583         use nstrftime for formatting.
27584         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
27585         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
27586         (parse_datetime2): New function, accepts 'flags' parameter, supporting
27587         debug flag. Existing interface 'parse_datetime' left unmodified.
27588         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
27589         (struct parser_control): add 'parse_datetime_debug' member variable.
27590         (parse_datetime): Call new function 'parse_datetime2' without debug.
27591         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
27592         pc.parse_datetime_debug variable as needed.
27593         (to_year): Accept new flags parameter, instead of using global variable.
27594         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
27595         use struct 'debug' variable instead of global variable.
27596         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
27597         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
27598         correspnding functions directly instead of using macros.
27599         * modules/parse-datetime: Add gnulib's strftime module.
27601 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
27603         c-strcase-tests: port to EBCDIC
27604         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
27605         which assume ASCII encoding semantics to run only in ASCII
27606         mode, as they fail in EBCDIC.
27608         sigpipe-tests: fix typo
27609         * tests/test-sigpipe.sh: C, not B.
27611 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
27613         canonicalize-lgpl: fix errno after malloca fails
27614         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
27615         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
27616         * lib/canonicalize-lgpl.c (__realpath):
27617         Don't assume malloca sets errno on failure.
27619 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27621         strtod: port errno handling to z/OS
27622         * lib/strtod.c (strtod): Save and restore errno more reliably.
27624 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27626         strtod: port to z/OS
27627         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27628         implementation.
27630 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27632         strtod: port to z/OS
27633         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27634         implementation.
27636         regex, string: rename to avoid '__string'
27637         * lib/regex.h, lib/string.in.h: Do not use the identifier
27638         '__string', as it is effectively reserved by string.h on z/OS.
27640         c-strcase-tests, wcwidth-tests: depend on c-ctype
27641         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
27642         Add c-ctype.
27644 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27646         thread: port to z/OS
27647         * lib/glthread/thread.c, lib/glthread/thread.h:
27648         Rudimentary gl_thread support for z/OS.
27650         maint: port tests to z/OS errno behavior
27651         * tests/test-nonblocking-reader.h:
27652         * tests/test-nonblocking-writer.h:
27653         Accommodate z/OS errno code preferences. (I believe this should
27654         still be within spec; IBM is good at following the letter if not
27655         the spirit of such things.)
27657         maint: preprocessor changes to support z/OS
27658         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
27659         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
27660         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
27661         * tests/test-nonblocking-pipe.h:
27663         fclose, strstr-simple, wchar: port to z/OS
27664         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
27665         Changes to the Autoconf M4 code to support z/OS.  Note that
27666         fclose() is broken in a different way on z/OS than it is on other
27667         systems, thus the special-case in fclose.m4.
27669         iconv_open-utf-tests, iconv-tests: port to EBCDIC
27670         * tests/test-iconv-utf.c, tests/test-iconv.c:
27671         Added appropriately conditional #pragmas so that the test strings
27672         in test-iconv-utf.c are correctly interpreted in ASCII instead of
27673         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
27674         addressed in a more portable way by simply rewriting all the ASCII
27675         literal characters as octal escapes, but then you would lose the
27676         partial readability that the strings have now. Also, iconv_open()
27677         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
27679         c-strcase-tests, wcwidth-tests: port to EBCDIC
27680         * tests/test-c-strcasecmp.c: Include c-ctype.h.
27681         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
27682         * tests/test-wcwidth.c: Likewise.
27684 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27686         stdbool: don't require _Bool for C++
27687         Problem reported by David Seifert in:
27688         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
27689         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
27690         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
27691         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
27692         stricter about checking that bool and _Bool are compatible in C.
27694 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
27696         getdelim: remove dependency on realloc-posix
27697         * lib/canonicalize-lgpl.c (alloc_failed)
27698         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
27699         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
27700         Use __set_errno where needed, for consistency.
27701         * lib/getdelim.c (alloc_failed): New function.
27702         (getdelim): Use it.
27704 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
27706         parse-datetime: add optional debug printing
27707         Print parsing information, warnings, and errors to stderr.
27708         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
27709         * lib/parse-datetime.y:
27710         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
27711         (PROGRESS*): Same as DEBUG, for progress reporting.
27712         (dbg_printf): Print message to stderr, with 'date' prefix.
27713         (struct parser_control): Add 'debug_*_seen' variables.
27714         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
27715         (debug_print_current_time, debug_print_relateive_time): Prints the
27716         current/relative date/time value of parser_control.
27717         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
27718         (to_year): Warn about 2-digit year parsing.
27719         (yylex):   Warn about unrecognized words.
27720         (get_effective_timezone): Returns current timezone in minutes.
27721         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
27722         clearly and unambigiously as possible.
27723         (debug_mktime_not_ok): Print detailed information about failed
27724         date/time values.
27725         (parse_datetime): Add DEBUG messages for failures, warnings. Add
27726         PROGRESS messages for status messages.
27727         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
27729 2016-08-06  Jim Meyering  <meyering@fb.com>
27731         tests/init.sh: exclude dash with bad "local" semantics
27732         * tests/init.sh (gl_shell_test_script_): Add a function to
27733         eliminate a shell like "dash" (unlike bash, zsh) that has
27734         surprising/risky "local var='...'" semantics.  Inspired by
27735         the problem and discussion in https://bugs.gnu.org/24116#11.
27737 2016-08-02  Ján Tomko  <jtomko@redhat.com>
27739         maint.mk: expand the prohibit_doubled_word regex
27740         This check has a static list of words that are checked for
27741         repetitions.  Expand it before running the perl script to
27742         avoid using expensive captures.  This decreases the cost
27743         for libvirt from 1.66s to 0.66s.
27744         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
27745         (sc_prohibit_doubled_word): Use it.
27747 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27749         useless-if-before-free: skip non-matching lines early
27750         * build-aux/useless-if-before-free: First match each line with the
27751         simple/quick /\bif\b/ and reject if there is no match. This often
27752         saves the cost of the much more involved regular expression.
27753         For libvirt, this decreases the cost from 1.44s to 1.02s.
27755 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27757         maint.mk: speed up sc_po_check
27758         sc_po_check would skip files based on their names, or on the
27759         existence of files with derived names. Rewrite it to use perl
27760         instead of shell to make the check faster.
27761         * top/maint.mk (perl_translatable_files_list_): Define.
27762         (sc_po_check): Use it.
27764 2016-07-30  Ján Tomko  <jtomko@redhat.com>
27766         maint.mk: speed up require_config_h_first
27767         Instead of spawning three processes per file,
27768         rewrite the check in perl and run it once for all the files.
27769         * top/maint.mk (perl_config_h_first_): Define.
27770         (sc_require_config_h_first): Use it in place of shell code.
27772 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27774         maint.mk: speed up sc_po_check
27775         sc_po_check would skip files based on their names, or on the
27776         existence of files with derived names. Rewrite it to use perl
27777         instead of shell to make the check faster.
27778         * top/maint.mk (perl_translatable_files_list_): Define.
27779         (sc_po_check): Use it.
27781 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
27783         obstack: pacify GCC 6 with -Wnull-dereference
27784         Problem reported by Assaf Gordon in:
27785         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
27786         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
27787         Declare with __attribute_noreturn__.
27788         * lib/obstack.h (__attribute_noreturn__): New macro.
27790 2016-07-13  Eric Blake  <eblake@redhat.com>
27792         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
27793         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
27794         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
27796 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
27798         doc: mention glibc SSIZE_MAX buglet
27799         * doc/posix-headers/limits.texi (limits.h): Document the bug.
27801 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
27803         printf-posix: Fix mingw build
27804         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
27805         expression for detecting C symbol prefixes but forgot to qoute square
27806         brackets in the command line arguments for grep.  That way when
27807         building with mingw the condition was false although it ought to be
27808         true instead.  In particular scenarios this led to the following
27809         compile error:
27811             Cannot export rpl_printf: symbol not found
27812             Cannot export rpl_scanf: symbol not found
27813             collect2: error: ld returned 1 exit status
27815         Fix this by properly quoting square brackets.
27817 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
27819         mktime: call tzset as per POSIX
27820         Problem reported by Ludovic Courtès in:
27821         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
27822         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
27823         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
27825 2016-06-26  Pádraig Brady  <P@draigBrady.com>
27827         fts: handle readdir() errors
27828         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
27829         but also upon error when it will also set errno.  Therefore
27830         flag the error case from readdir().  We treat the case where
27831         no items are read the same as if the dir can't be accessed,
27832         i.e. by setting fts_errno to FTS_DNR.
27834 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
27836         intprops: port better to GCC 7
27837         GCC 7 __builtin_add_overflow supports a new usage form, where the
27838         last argument is a null pointer, and which merely returns 1 if an
27839         overflow would occur.  This is a constant expression if all
27840         arguments are constants, and should generate faster code when code
27841         needs to be generated.
27842         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
27843         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27844         Use builtin operations if available.
27845         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
27846         operations are available, as it's almost surely faster.
27848 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
27850         intprops-test: port to GCC 6
27851         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
27852         since the bug is not fixed in GCC 6.1.
27854 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
27856         xalloc-oversized: port to GCC 7; fewer warnings
27857         GCC 7 will have a better way to deal with integer overflow.
27858         Plus, fix a warnings problem reported by Tim Ruehsen in:
27859         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
27860         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
27861         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
27862         For GCC 5, use __xalloc_oversized if both args are constants,
27863         or if pedantic.
27865 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
27867         regex: port to Sun C
27868         Reported by Daiki Ueno.
27869         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
27870         __restrict, in prototype.  This fixes a problem I introduced in
27871         the 2016-02-19 merge from glibc.
27873 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27875         stdbool: Restore __bool_true_false_are_defined check
27876         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
27877         __bool_true_false_are_defined is still defined, even with C++11.
27879 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
27881         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
27882         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
27884 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27886         Use GCC_LINT, not lint
27887         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
27888         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
27889         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
27890         Document problem with lint and _Noreturn.
27891         * lib/diffseq.h (IF_LINT, IF_LINT2):
27892         * lib/fts.c (sccsid):
27893         * lib/getndelim2.c (IF_LINT):
27894         * lib/gl_anylinked_list2.h (gl_linked_iterator)
27895         (gl_linked_iterator_from_to):
27896         * lib/gl_anytree_list2.h (gl_tree_iterator)
27897         (gl_tree_iterator_from_to):
27898         * lib/gl_anytree_oset.h (gl_tree_iterator):
27899         * lib/gl_array_list.c (gl_array_iterator)
27900         (gl_array_iterator_from_to):
27901         * lib/gl_array_oset.c (gl_array_iterator):
27902         * lib/gl_carray_list.c (gl_carray_iterator)
27903         (gl_carray_iterator_from_to):
27904         * lib/idcache.c:
27905         * lib/inet_ntop.c (IF_LINT):
27906         * lib/regcomp.c (build_charclass_op, create_tree):
27907         * lib/regex_internal.c (re_acquire_state)
27908         (re_acquire_state_context):
27909         * lib/trigl.c (rcsid):
27910         * lib/trim.c (IF_LINT):
27911         * lib/vasnprintf.c (IF_LINT):
27912         * lib/verify.h (assume):
27913         Treat GCC_LINT like lint.
27915 2016-05-29  Bruno Haible  <bruno@clisp.org>
27917         secure_getenv: Port to many more platforms.
27918         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
27919         functions.
27920         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
27921         for non-BSD Unix platforms and for native Windows.
27922         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
27923         Prompted by a request from Nikos Mavrogiannopoulos.
27925 2016-05-27  Eric Blake  <eblake@redhat.com>
27927         canonicalize: Fix broken probe for realpath.
27928         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
27929         in logic introduced in 54615b95.
27931 2016-05-26  Eric Blake  <eblake@redhat.com>
27933         unsetenv: relax to LGPLv2+
27934         * modules/unsetenv (License): Match setenv license.
27936 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
27938         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
27939         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
27940         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
27941         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
27942         (commonarg, dirargs, dirs, infoarg, generate_ascii)
27943         (generate_html, generate_info, generate_tex, outdir)
27944         (source_extra, split, srcfile, texarg): Move above 'version'.
27945         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
27947 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27949         manywarnings: update for GCC 6.1
27950         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
27951         Add GCC 6.1 options that apply to C.
27952         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
27953         do not apply to C, are obsolescent, etc.
27955 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
27957         glob: size_t overflow checks
27958         * lib/glob.c (__has_builtin): New macro.
27959         (size_add_wrapv, glob_use_alloca): New static functions.
27960         (glob, glob_in_dir): Check for size_t overflow in several places,
27961         and fix some size_t checks that were not quite right.
27963         glob: don't assume INT_MAX < SIZE_MAX
27964         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
27965         latter is not portable to (probably theoretical) hosts where
27966         SIZE_MAX <= INT_MAX.
27968 2016-05-09  Bruno Haible  <bruno@clisp.org>
27970         Fix undefined behaviour in gettext.h.
27971         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
27972         pointer's value after the storage it points to has been freed.
27973         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
27974         Spotted by Coverity.
27976 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
27978         git-version-gen: avoid undefined shift
27979         Problem reported by Mosè Giordano in:
27980         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
27981         * build-aux/git-version-gen: Avoid undefined behavior if invoked
27982         with --prefix or --fallback but without a later argument.  While
27983         we're at it, omit unnecessary quotes.
27985 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
27987         glob: merge glibc changes into lib/glob.c
27988         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
27989         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
27990         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
27991           struct dirent [BZ #19779]
27992         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
27993           callback gl_readdir
27994         2015-10-20 Convert miscellaneous function definitions to prototype style
27995         2015-10-20 Convert 113 more function definitions to prototype style
27996           (files with assertions)
27997         2015-06-12 Fix getlogin_r namespace (bug 18527).
27998         2014-02-10 Use glibc_likely instead __builtin_expect.
27999         2013-10-20 When glob pattern contains a trailing slash match only
28000           directories. Fixes bug 10278.
28001         2013-09-04 glob: silence -Wattribute warnings
28002         2013-06-07 Avoid use of "register" as optimization hint.
28003         2012-09-25 Use size_t instead of int for internal variables in glob
28004           (bug 14621)
28005         2011-07-20 Check for overflows in expressions
28006         2011-05-28 Remove unused variable
28007         2011-05-22 Add a few more alloca size checks
28008         2010-03-27 Whitespace fixes
28009         2010-03-27 Fix one more issue with the glob patch
28010         2010-03-24 Fix glob with empty pattern
28011         2008-05-27 Remove useless more "if" tests before "free"
28012         * modules/glob (Depends-on): Add stdint.
28014 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28016         mktime: port to stricter signed overflow checking
28017         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
28018         (long_int): Require width for INT_MAX * 3 * (seconds per year),
28019         instead of merely for INT_MAX * 2.  In practice platforms that
28020         do the latter also do the former.
28021         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
28022         (shr): New static function, replacing SHR.  All uses changed.
28023         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
28024         and TIME_T_MAX.  All uses changed.
28025         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
28026         Use long_int, not time_t.
28027         (long_int_avg): New static function, replacing time_t_avg.
28028         All uses changed.  Round toward positive infinity, as that
28029         generates slightly better code.
28030         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
28031         by INT_ADD_WRAPV.
28032         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
28033         (convert_time): New static function.
28034         (ranged_convert): Use it
28035         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
28036         Use simpler test for loop exit.
28037         (__mktime_internal): Store negative of guessed offset, to simplify
28038         overflow checking.  Remove no-longer-needed test for small time_t
28039         overflows.
28041         mktime: speed up DEBUG_MKTIME benchmarks
28042         Call tzset just once, at the start, rather than for every test
28043         case.  This lets us measure the CPU cost of mktime as opposed to
28044         that of tzset.  This is relevant when TZ is not set and glibc is
28045         being used.  This speeds up tests by a factor of 40 on my Fedora
28046         23 x86-64 platform.
28047         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
28048         to call tzset and as a sanity check.  Later on, use localtime_r
28049         instead of localtime.
28051         mktime: resurrect DEBUG_MKTIME testing
28052         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
28053         Include <string.h>, for strcmp.
28055         mktime: simplify DEBUG_MKTIME
28056         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
28057         Simplify later usage accordingly.
28059         Port mktime_internal offset to unsigned time_t
28060         This avoids some assumptions about wraparound arithmetic on
28061         signed integer overflow.
28062         * lib/mktime-internal.h (mktime_offset_t): New type.
28063         (mktime_internal): Use it in decl.
28064         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
28066         * lib/mktime.c (__mktime_internal, localtime_offset):
28067         * lib/timegm.c (timegm): Use it.
28068         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
28069         (gl_FUNC_MKTIME): Require it.
28071 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28073         xstrtol: prohibit monstrosities like "1bB"
28074         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
28075         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
28076         "B" only if the first suffix needs a base.
28077         * tests/test-xstrtol.sh: Test this.
28079 2016-04-21  Pádraig Brady  <P@draigBrady.com>
28081         xstrtod: reinstate setting of *result upon ERANGE
28082         * lib/xstrtod.c (XSTRTOD): The user may decide to use
28083         the returned limits upon ERANGE, so allow and document that.
28085 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
28087         xstrtod: modify *result only if no errors
28088         * lib/xstrtod.c (XSTRTOD).
28090 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28092         btowc: document problems in C locale
28093         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
28094         with mbrtowc.  See: http://bugs.gnu.org/23269#32
28096 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28098         mktime: improve integer overflow checking
28099         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
28100         (WRAPV): Remove; no longer needed.
28101         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
28102         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28103         Remove.  Use intprops.h defns instead.
28104         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
28105         Use bool for Boolean, for clarity.
28106         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
28107         detect integer overflow.
28108         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
28110         intprops: check two's complement assumption
28111         Suggested by Eric Blake in:
28112         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
28113         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
28114         short, int, long, and (if available) long long are two's complement.
28115         * modules/intprops (Depends-on): Add 'verify'.
28117         intprops, mktime, strtol: assume two's complement
28118         These macros were not portable to every conforming C11 ones'
28119         complement platform.  It's not worth the hassle of porting to some
28120         platforms that use ones' complement or signed magnitude, as such
28121         platforms are almost purely theoretical nowadays and porting even
28122         to some of them makes the code harder to review for little
28123         practical benefit.  Problem reported by Florian Weimer in:
28124         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
28125         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28126         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
28127         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
28128         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28129         (TYPE_SIGNED_MAGNITUDE):
28130         Remove.  All uses rewritten to assume two's complement, which is
28131         all we can reasonably test nowadays anyway.
28132         * top/maint.mk (_intprops_names): Remove the removed macros.
28134 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28136         stdint: port to strict C11 left shift
28137         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
28138         Pacify clang -Wshift-negative-value, which should be an issue only
28139         on clang setups where stdint.h does not conform to C11 or to C++11.
28140         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
28142 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
28144         mbrtowc: work around glibc bug#19932
28145         Fix mbrtowc so that it never returns -1 in the C locale,
28146         as this conflicts with a future version of POSIX
28147         http://austingroupbugs.net/view.php?id=663#c2738
28148         and causes problems with GNU grep: http://bugs.gnu.org/23234
28149         See glibc bug 19932:
28150         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
28151         * doc/posix-functions/mbrlen.texi (mbrlen):
28152         * doc/posix-functions/mbrtowc.texi (mbrtowc):
28153         Document the glibc bug.
28154         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
28155         Include hard-locale.h, locale.h.
28156         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
28157         if the bug is possible.
28158         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
28159         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
28160         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
28161         * modules/mbrtowc (Depends-on): Add hard-locale.
28162         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
28163         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
28164         * tests/test-mbrtowc5.sh: New file.
28166 2016-04-03  Pedro Alves  <palves@redhat.com>
28168         stdint: detect good enough pre-C++11 stdint.h in C++ mode
28169         When gnulib is configured in C++ mode for a system with a working C99
28170         implementation of stdint.h that predates C++11, gnulib ends up
28171         substituting stdint.h anyway.  This works on most targets, but on e.g.,
28172         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
28173         MinGW is LLP64.  Instead of trying to detect the right types, detect
28174         good-enough-pre-C++11 stdint.h and in such case define
28175         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
28176         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
28177         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
28178         conforms to C99.  If it does, check whether it hides symbols
28179         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
28180         does, define those macros in config.h.
28182 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28184         argp: merge changes from glibc
28185         Among other things, this should fix problems found by a Coverity
28186         scan and reported by Andrei Borzenkov:
28187         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
28188         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
28189         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
28190         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
28191         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
28192         * lib/argp.h:
28193         Merge changes from glibc.
28194         * tests/test-argp-2.sh: Adjust to match new behavior.
28196 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28198         stddef: support configuring with g++
28199         Problem reported by Ángel González in:
28200         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
28201         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
28202         Do not define if _GCC_MAX_ALIGN_T is defined.
28204 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28206         test-framework-sh: minor cleanups
28207         * tests/init.sh (testdir_prefix_): Output a trailing newline,
28208         since strictly speaking POSIX requires this.
28209         (setup_): Do not use the variable 'fail', as that makes the
28210         trace output harder to read ('fail' is typically used by
28211         tests to mean the test failed).  Treat // portably.
28212         Check that new directory is not merely a sibling of the tmp dir.
28213         Avoid unnecessary invocation of tr.
28215         test-framework-sh: revert port to NetBSD 7.0
28216         It was a false alarm; I misinterpreted Assaf Gordon's report.
28217         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28218         Restore.
28219         (test_dir_): Adjust to mktempd_ change.
28220         (mktempd_): Restore 2nd arg.  Use -t again.
28221         (base_template_, template_, nx_): Resurrect old code.
28223         Port better to Alpine Linux
28224         Its diff implementation does not support -c, but does support -U3.
28225         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28226         * tests/init.sh (diff_opt_): New var.
28227         (compare_): Prefer diff -U3 to diff -c to plain diff.
28229 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
28231         test-framework-sh: port to NetBSD 7.0
28232         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28233         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28234         Remove.  All uses removed.
28235         (test_dir_): Adjust to mktempd_ change.
28236         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
28237         (base_template_, template_, nx_): Simplify by hardcoding.
28239 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
28241         gitlog-to-changelog: suppress ignored chatter
28242         * build-aux/gitlog-to-changelog: Do not warn about skipping
28243         an SHA if it would have been ignored anyway.
28245 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
28247         setlocale: add "sv" to Windows language table
28248         * lib/setlocale.c (language_table) [W32]: Add "sv".
28249         Reported in <https://savannah.gnu.org/bugs/?44588>.
28251 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28253         sys_select: port to new Cygwin
28254         Problem reported by Ken Brown in:
28255         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
28256         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
28257         diagnostics.
28259 2016-03-17  Jim Meyering  <meyering@fb.com>
28261         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
28262         * tests/test-userspec.c (main): Remove unnecessary braces and fix
28263         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
28264           test-userspec.c:176:9: error: statement is indented as if it were \
28265             guarded by... [-Werror=misleading-indentation]
28266                    {
28267                    ^
28268           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
28269                  if (!diag && !T[i].result)
28270                  ^~
28272 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28274         time_rz: port to clang -Wunused-const-variable
28275         * lib/time_rz.c (TZ): Remove.  All uses removed.
28277         std-gnu11: improve clang support
28278         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
28279         2016-03-15 Also try clang
28280         2016-03-15 Port C11 and C++11 testing to clang
28282         select: port more to Intel 2016.1.150 compiler
28283         Problem reported by Balázs Hajgató in:
28284         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
28285         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
28287 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28289         select: try to port to 2016.1.150 compiler
28290         Problem reported by Balázs Hajgató in:
28291         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
28292         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
28293         POSIX specifies 'restrict'.
28295 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28297         localename-tests: memory allocation fixes
28298         * tests/test-localename.c (test_locale_name)
28299         (test_locale_name_thread): Don't call freelocale on a locale
28300         that was the base of a successful newlocale, as that
28301         results in a double free.  Problem reported by Assaf Gordon.
28302         (test_locale_name_thread): Free saved names after use, to pacify
28303         gcc -fsanitize=address.
28305 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28307         intprops: make .h file license match module
28308         * lib/intprops.h: Change the license wording to match glibc format.
28309         This is what is in modules/intprops anyway.  See:
28310         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
28312 2016-03-08  Eric Blake  <eblake@redhat.com>
28314         acl: fix missing return on Cygwin
28315         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
28316         fall off end of function. Fixes http://bugs.gnu.org/22949
28318 2016-03-05  Bruno Haible  <bruno@clisp.org>
28320         extern-inline: port to PGI CC
28321         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
28322         keyword 'inline'.
28323         Reported by Adam James Stewart in:
28324         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
28326 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28328         signbit: port back to pre-C++11 GCC
28329         * lib/math.in.h (signbit): Do previous change only if
28330         __cplusplus < 201103.  See Jonathan Wakely in:
28331         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
28333 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
28335         mountlist: recognize autofs-mounted remote file systems, too
28336         Originally reported at: https://bugzilla.redhat.com/1309247
28337         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
28338         "-hosts" because it is used by autofs to mount remote file systems.
28340 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
28342         signbit: port to C++ with GCC 6
28343         * lib/math.in.h (signbit) [__cplusplus]:
28344         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
28345         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
28347         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
28349         regex: make it closer to libc
28350         Make Idx a signed type, rather than possibly unsigned.
28351         The unsignedness was not really buying us anything, since the code
28352         overflows for other reasons before getting to PTRDIFF_MAX.  Making
28353         it signed allows us to use -1 and -2 with abandon, like libc does,
28354         thus lessening the number of differences between gnulib and libc.
28355         Also, it should help avoid gratuitous warnings like the one
28356         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
28357         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
28360         regex: merge patches from libc
28362         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
28363         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
28364         Convert miscellaneous function definitions to prototype style.
28365         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
28366         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
28367         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
28368         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
28369         (re_search_internal):
28370         Convert to prototype-style function definition.
28371         Use internal_function for internal functions.
28373 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
28375         stdalign: port to older HP and IBM cc
28376         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
28377         C compilers, by checking their version numbers.  These version
28378         numbers appear in MariaDB and in Qt code that dates way back and
28379         that conditiionally uses the 'aligned' attribute.
28381 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
28383         stdalign: port to clang 3.7.0
28384         Problem reported by Herbert J. Skuhra in:
28385         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
28386         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
28387         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
28388         https://llvm.org/bugs/show_bug.cgi?id=26547
28390 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
28392         readdir_r: now obsolescent
28393         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
28394         * lib/mountlist.c (read_file_system_list): Add a FIXME.
28396 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
28398         misc: port better to gcc -fsanitize=address
28399         Without these patches, ./configure CFLAGS='-fsanitize=address'
28400         would compute incorrect values.  This patch fixes some (but not all)
28401         test failures with recent glibc, with this configuration.
28402         * m4/acl.m4 (gl_ACL_GET_FILE):
28403         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
28404         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
28405         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
28406         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
28407         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
28408         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
28409         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
28410         * m4/getline.m4 (gl_FUNC_GETLINE):
28411         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
28412         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
28413         * m4/regex.m4 (gl_REGEX):
28414         * m4/strndup.m4 (gl_FUNC_STRNDUP):
28415         * tests/test-calloc-gnu.c (main):
28416         * tests/test-duplocale.c (main):
28417         * tests/test-getgroups.c (main):
28418         * tests/test-getline.c (main):
28419         * tests/test-inttostr.c (main):
28420         * tests/test-localename.c (test_locale_name)
28421         (test_locale_name_thread, test_locale_name_environ)
28422         (test_locale_name_default):
28423         * tests/test-regex.c (main):
28424         * tests/test-setlocale1.c (main):
28425         * tests/test-stat.h (test_stat_func):
28426         Free heap-allocated storage before exiting.
28427         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
28428         Don't match *_foo symbols inserted by AddressSanitizer.
28429         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
28431 2016-02-02  Jim Meyering  <meyering@fb.com>
28433         verify-tests: also remove stray test-verify.Tpo
28434         * modules/verify-tests (Makefile.am): Arrange for "make clean"
28435         to remove the test-verify.Tpo file that is left behind by
28436         the automake-generated rule upon compilation failure.
28437         Otherwise, that .Tpo file would cause a failed "make distcheck"
28438         at least for grep.
28440 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28442         std-gnu11: new module
28443         This makes it easier for applications to prefer C11 and C++11
28444         to older variants, when compiling C and C++ code.
28445         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
28446         a nontrivial chunk of GPLed Autoconf source code.
28447         * COPYING: Mention the m4/*.m4 copyright situation.
28448         * MODULES.html.sh (std-gnu11): New module.
28449         * m4/std-gnu11.m4, modules/std-gnu11: New files.
28451 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28453         get-permissions, strftime: fix grammar in comments
28454         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
28455         some grammar fixes Alan Mackenzie made to GNU Emacs.
28457 2016-01-25  Daiki Ueno  <ueno@gnu.org>
28459         gettext: mark as obsolete
28460         Suggested by Paul Eggert in:
28461         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
28462         * modules/gettext (Status): Mark as obsolete.
28463         (Notice): Suggest to use 'gettext-h' instead.
28464         * modules/gettext-h (Description): Suggest GNU gettext, instead of
28465         the 'gettext' module.
28467 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28469         gnulib-tool: don't give up on ln -s so easily
28470         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
28471         because an earlier one failed.  The targets could be on different
28472         file systems.  Problem reported by KO Myung-Hun in:
28473         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
28475         closedir: fix OS/2-related typos
28476         Problem reported by KO Myung-Hun in:
28477         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
28478         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
28479         in the last couple of changes.
28481 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
28483         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
28484         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
28485         copying a directory.
28487 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28489         regex: treat [x] as x if x is a unibyte encoding error
28490         Problem reported by Aharon Robbins in:
28491         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
28492         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
28493         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
28495         closedir, dirfd, opendir: port to OpenSolaris 5.10
28496         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
28497         * m4/dirfd.m4 (gl_FUNC_DIRFD):
28498         * m4/opendir.m4 (gl_FUNC_OPENDIR):
28499         Don't use ${word##pat} substitution, as it doesn't work in
28500         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
28501         http://bugs.gnu.org/22443#11
28503 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28505         bootstrap: use American spelling
28506         * build-aux/bootstrap: Honor American spelling.
28508 2016-01-22  Karl Berry  <karl@freefriends.org>
28510         * doc/posix-functions/localtime.texi,
28511         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
28513 2016-01-21  Bruno Haible  <bruno@clisp.org>
28515         hash-pjw-bare: fix comment
28516         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
28518         wcwidth: Replace also on OpenBSD 5.8
28519         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
28520         * doc/posix-functions/wcwidth.texi: Update.
28522 2016-01-20  Pádraig Brady  <P@draigBrady.com>
28524         gnu-web-doc-update: fix addition of new files
28525         If there were already added (emnpty) dirs,
28526         then cvs aborts the add with the message:
28527           cvs [add aborted]: there is a version in <./dirname> already
28528         * build-aux/gnu-web-doc-update: Add directories separately
28529         to the addition of files, to avoid the above issue
28530         impacting the addition of files.
28532 2016-01-19  Daiki Ueno  <ueno@gnu.org>
28534         utimens-tests: avoid pulling gettext .m4 files
28535         Although this is not the right fix to the original problem:
28536         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
28537         it makes it possible again for consumer projects to use arbitrary
28538         version of gettext, through the steps described at:
28539         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
28540         See here for details:
28541         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
28542         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
28543         'gettext'.
28544         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
28545         'gettext'.
28547 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28549         regex: pacify static checkers
28550         Problem and draft fix reported by Aharon Robbins in:
28551         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28552         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
28553         Clear memory to pacify static checkers.
28555         regex: fix [ diagnostic
28556         Problem and fix reported by Aharon Robbins in:
28557         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28558         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
28560         regex: fix memory leaks
28561         Problem and draft fix reported by Aharon Robbins in:
28562         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28563         * lib/regcomp.c (build_range_exp, build_charclass_op)
28564         * lib/regex_internal.c (re_dfa_add_node):
28565         Fix memory leak on failure.
28567 2016-01-18  Pádraig Brady  <P@draigBrady.com>
28569         fts: don't unconditionally use leaf optimization for NFS
28570         NFS st_nlink are not accurate on all implementations,
28571         leading to aborts() if that assumption is made.
28572         See <https://bugzilla.redhat.com/1299169>
28573         * lib/fts.c (leaf_optimization_applies): Remove NFS from
28574         the white list, and document the issue.
28576 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28577             KO Myung-Hun  <komh@chollian.net>
28579         gnulib-tool: don't assume ln -s works
28580         * gnulib-tool (func_ln_s): New function.
28581         (func_ln): Use it.
28583 2016-01-15  KO Myung-Hun  <komh@chollian.net>
28585         utimes: detect utimes() correctly on OS/2 kLIBC
28586         utimes() of OS/2 kLIBC has some limitations.
28587         1. OS/2 itself supports a file date since 1980 year in local time.
28588         2. OS/2 itself supports only even seconds for a file time.
28589         3. utimes() of OS/2 kLIBC does not work on an opened file.
28590         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
28591         * doc/posix-functions/utimes.texi: Document the above limitations of
28592         utimes() on OS/2 kLIBC.
28594 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28595             KO Myung-Hun  <komh@chollian.net>
28597         openat_proc_name: port to OS/2 kLIBC
28598         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
28599         instead of /proc/self/fd.
28600         * lib/openat-proc.c (openat_proc_name):
28601         Don't assume file name length is less than INT_MAX.
28602         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
28604 2016-01-14  KO Myung-Hun  <komh@chollian.net>
28606         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
28607         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
28608         definitions of intptr_t and uintptr_t (which use int and unsigned)
28609         to avoid clashes with declarations of system functions like sbrk.
28610         * lib/stdint.in.h (intptr_t, uintptr_t): Check
28611         _INTPTR_T_DECLARED before defining them.
28613         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
28614         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
28615         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
28616         Declare on kLIBC.
28617         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
28618         fd associated with dirp.
28619         (_gl_register_dirp_fd): New. Register fd associated with dirp to
28620         dirp_fd_list.
28621         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
28622         (dirfd): Implemented for kLIBC.
28623         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
28624         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
28625         succeeds.
28626         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
28627         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28628         (REPLACE_DIRFD): Define to 1 if replaced.
28629         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
28630         * modules/closedir (Depends-on): Add dirfd.
28631         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
28632         condition.
28633         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
28634         * modules/opendir (Depends-on): Add dirfd.
28636         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
28637         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
28638         * lib/dup.c (dup_nothrow): New.
28639         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
28640         (klibc_dup2): New.
28641         * lib/fcntl.c (klibc_fcntl): New.
28642         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
28643         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
28644         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
28645         fd.
28647         pipe_filter_ii_execute: port to OS/2 kLIBC
28648         Pipes on kLIBC do not support O_NONBLOCK like Win32.
28649         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
28650         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
28651         Reuse Win32 code on OS/2 kLIBC.
28652         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
28653         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
28655         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
28656         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
28657         static inline function.  The implementation of wcwidth in wcwidth.c
28658         causes a "conflicting types" error.
28659         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
28661         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
28662         spawn() on OS/2 kLIBC is not silly like one on Windows
28663         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
28664         empty string on OS/2 kLIBC.
28666         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
28667         On OS/2 kLIBC, select() works only on sockets.
28668         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
28670         binary-io: don't put fd in binary mode if it is a console on EMX
28671         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
28672         a console on EMX.
28674 2016-01-15  Pádraig Brady  <P@draigBrady.com>
28676         doc: mention unfixed issues with unsupported localtime() values
28677         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
28678         returns nonsense for localtime(2^56).
28679         * doc/posix-functions/localtime_r.texi: Likewise.
28681 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28683         doc: mention setlocale() issues on OpenBSD
28684         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
28685         never fails, and the need to check categories individually.
28687 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28689         sig2str: list all signals on FreeBSD >= 7
28690         FreeBSD >= 7 is contravening POSIX by not defining NSIG
28691         to the maximal statically defined signal value.
28692         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
28693         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
28694         where available, even when NSIG is defined.
28696 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
28698         acl-permissions: port to USE_ACL==0 platforms
28699         I ran into this problem when building bleeding-edge GNU Emacs
28700         with gcc -fsanitize=address on Fedora 23.  On this platform
28701         the ACL library does not pass the 'configure' test and Emacs
28702         then does not build due in part to what appear to be typos in the
28703         ACL part of Gnulib.
28704         * lib/acl-internal.c (free_permission_context):
28705         * lib/acl-internal.h (struct permission_context):
28706         Test whether USE_ACL is nonzero, not whether it is defined.
28708 2016-01-12  Martin Sebor  <msebor@redhat.com>
28710         mktime: rename macro to avoid glibc clash
28711         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
28712         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
28714 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
28716         Port "$@" to OpenIndiana ksh93
28717         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
28718         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
28719         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
28720         bug long-dead shells, so remove the workaround.
28721         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
28722         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28723         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
28724         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
28725         Use "$@" instead of ${1+"$@"}.
28727         Port Universal Time settings to strict POSIX
28728         * build-aux/announce-gen, build-aux/bootstrap:
28729         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
28730         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28731         * build-aux/gnupload, build-aux/mkinstalldirs:
28732         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
28733         * build-aux/update-copyright, build-aux/useless-if-before-free:
28734         * build-aux/vc-list-files, tests/test-strftime.c:
28735         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
28736         but POSIX says the behavior of TZ="UTC" is undefined.
28738 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
28740         msvc-inval: fix problem with unset shell var
28741         Problem reported by Karl Berry in:
28742         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
28743         * modules/msvc-inval (Depends-on):
28744         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
28745         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
28747 2016-01-01  Pádraig Brady  <P@draigBrady.com>
28749         tests: for compare_(), use cmp -s where available
28750         * tests/init.sh (compare_): Only fall back to cmp without
28751         the POSIX defined -s option, where this is not available.
28753 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
28755         version-etc: new year
28756         * build-aux/gendocs.sh (version):
28757         * doc/gendocs_template:
28758         * doc/gendocs_template_min:
28759         * doc/gnulib.texi:
28760         * lib/version-etc.c (COPYRIGHT_YEAR):
28761         Update copyright dates by hand in templates and the like.
28762         * all files: Run 'make update-copyright'.
28764 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
28766         human: fix output buffer overrun by 1
28767         * lib/human.c (human_readable): Fix off-by-one typo in buffer
28768         calculation that could lead to a one-byte buffer overrun.
28770 2015-12-28  Daiki Ueno  <ueno@gnu.org>
28772         maint: fix operator precedence in mbrtowc test
28773         This is a fix for test breakage introduced by commit 45228d96; the
28774         equality expression must be parenthesized when negated with '!',
28775         otherwise we always get:
28777           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
28779         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
28780         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28782 2015-12-23  James Youngman  <jay@gnu.org>
28784         regexprops-generic: update from regex.h
28785         * doc/regexprops-generic.texi: update by running the regexprops binary
28786         from findutils (the command line is 'regexprops "Regular Expressions"
28787         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
28788         gnulib with GNU grep had made this document out-of-date.
28790 2015-12-23  Pádraig Brady  <P@draigBrady.com>
28792         strftime-tests: avoid false failure on OS X
28793         * tests/test-strftime.c (struct localtime_rz_test): Add an
28794         ahistorical member which is used to warn rather than fail
28795         when tm_isdst isn't set for such entries.  This is the case for
28796         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
28798 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
28800         fts: ensure leaf optimization is used for NFS
28801         NFS provides usable dirent.d_type but not necessarily for all entries
28802         of large directories.  See <https://bugzilla.redhat.com/1252549>
28803         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
28805 2015-12-20  Pádraig Brady  <P@draigBrady.com>
28807         fts: enable leaf optimization for XFS
28808         XFS provides usable dirent.d_type only for DT_DIR,
28809         but the noleaf optimization still applies.
28810         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
28812 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
28814         intprops: comment fix
28815         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
28816         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
28818         intprops-test: work around GCC bug 68971
28819         Problem reported by Pádraig Brady in:
28820         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
28821         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
28822         (main): Add a case that better tests 64-bit long in this area.
28824 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
28826         gnulib-tool: allow multiple --local-dir usage
28827         * gnulib-tool: Use --local-dir to construct compound
28828         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
28829         PATH_SEPARATOR early.
28830         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
28831         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
28832         func_determine_path_separator because that needs to be detected
28833         earlier now.
28834         (func_determine_path_separator): New function.
28835         (func_path_foreach, func_path_foreach_inner): New functions.
28836         (func_path_prepend, func_path_append): Likewise.
28837         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
28838         (func_lookup_file, func_all_modules): Use new functions to work
28839         with local_gnulib_path.
28840         (func_modules_in_dir, func_exists_module): New callbacks for
28841         func_path_foreach.
28842         (func_exists_module, func_get_tests_module): Likewise.
28843         (func_is_local_file, func_should_symlink): New helper methods.
28844         (func_add_file, func_update_file): Use new func_should_symlink
28845         instead, DRY.
28846         (func_reconstruct_cached_local_gnulib_path): New helper.
28847         (func_reconstruct_cached_dir): New callback.
28848         (func_import): The cached_local_gnulib_dir renamed to
28849         cached_local_gnulib_path similarly to local_gnulib_dir.
28850         Use new func_reconstruct_cached_local_gnulib_path.
28851         (func_count_relative_local_gnulib_path): New sub-method.
28852         (func_create_testdir): Use func_should_symlink, DRY.
28853         (func_create_megatestdir): Use new functions to work with
28854         local_gnulib_path correctly.
28855         (func_append_local_dir): New helper.
28857 2015-12-08  Pádraig Brady  <P@draigBrady.com>
28859         fix freadptr to work with ungetc on all uClibc configs
28860         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
28861         where GNU coreutils cut(1) generates invalid output on uClibc
28862         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
28863         * lib/freadptr.c (freadptr): Return NULL if there are
28864         ungotten chars.  In this case freadseek() will iterate
28865         again to process the ungotten character.
28867 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
28869         xalloc-oversized: improve performance with GCC 5
28870         * lib/xalloc-oversized.h (xalloc_oversized):
28871         Improve performance with GCC 5 by using __builtin_mul_overflow.
28873 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
28875         intprops: new public macro EXPR_SIGNED
28876         Emacs can use this macro, so make it public.
28877         * doc/intprops.texi (Arithmetic Type Properties): Rename from
28878         'Integer Type Determination', since some of these macros apply
28879         to non-integer types.  Clarify what kinds of constant expressions
28880         these macros return.  Say when the arguments can be non-integers.
28881         Mention newly published macro EXPR_SIGNED.
28882         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
28883         make it public.  All uses changed.
28885         intprops: fix typo in clang port
28886         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
28887         '__builtin_add_overflow' that is not caught by compiler.
28889 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
28891         test-timespec: fix typo in previous change
28892         * tests/test-timespec.c (main): Fix typo that reduced test quality.
28894         timespec-sub: fix overflow bug; add tests
28895         * lib/timespec-add.c (timespec_add):
28896         * lib/timespec-sub.c (timespec_sub):
28897         Work even if time_t is narrower than int (a theoretical
28898         possibility).  Redo code for a bit more clarity.
28899         * lib/timespec-sub.c (timespec_sub):
28900         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
28901         * modules/timespec-tests, tests/test-timespec.c: New files.
28903         intprops-test: suppress -Woverlength-strings
28904         Problem reported by Pádraig Brady in:
28905         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
28906         It is not worth the hassle to port this test to compilers that
28907         cannot handle long strings in diagnostics.
28908         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
28910 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28912         quotearg: add quotearg_n_style_colon()
28913         This quotes with default options of the specified style,
28914         but with quoting enabled for instances of ':'.
28915         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
28916         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
28918 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28920         intprops: revise _WRAPV macros, revert _OVERFLOW
28921         The incompatible changes to the _OVERFLOW macros were too much of
28922         a hassle in practice, so revert them.  Instead, change the new
28923         _WRAPV macros to make them closer in behavior to GCC 5's new
28924         builtin_add_overflow etc. functions.  No other software was using
28925         these newly-added macros yet, so this should be OK.
28926         * NEWS: Revert previous change, since the incompatible change
28927         has been reverted, and nobody used the incompatible version.
28928         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
28929         Document revised behavior.
28930         (Integer Range Overflow): Adjust example to match above revisions.
28931         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
28932         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
28933         these can be used in integer constant expressions again.
28934         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
28935         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
28936         needed.
28937         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28938         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28939         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
28940         Remove, as they did not seem that useful.
28941         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
28942         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
28943         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
28944         Support new semantics.
28945         (__has_builtin): New macro, if not alreay defined.
28946         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
28947         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28948         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28949         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28950         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
28951         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
28952         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
28953         New macros.
28954         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
28956 2015-11-03  Jim Meyering  <meyering@fb.com>
28958         intprops: add parentheses for when OP has precedence lower than "-"
28959         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
28960         "a OP b" must be parenthesized for when OP is like "<<", which has
28961         lower precedence than the following "-". Reported by Pádraig Brady.
28963 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28965         quotearg: constify get_quoting_style parameters
28966         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
28967         * lib/quotearg.c (get_quoting_style): Likewise.
28969 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28971         quotearg: add support for $'' shell escaping
28972         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
28973         items and descriptions.
28974         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
28975         above types by quoting like "shell", but using $'...' syntax
28976         for non printable characters, which should provide unambiguous
28977         printable output for any input.
28978         * tests/test-quotearg-simple.c: Update accordingly.
28980 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28982         maint: use a more standard return from mbrtowc test
28983         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
28984         from the test program as this is non standard and often
28985         indicates an unhandled case in the test program.
28986         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28988 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28990         intprops: add WRAPV and const flavors for GCC 5
28991         If available, use GCC 5's builtin functions for efficient integer
28992         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
28993         and safely compute the low-order bits of the correct answer.
28994         A downside of these efficient functions is that they cannot be
28995         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
28996         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
28997         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
28998         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
28999         Document the changes.
29000         (Wraparound Arithmetic): New section.
29001         (Integer Range Overflow):
29002         Put this subsection last, since it's least useful.
29003         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
29004         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
29005         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
29006         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29007         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29008         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
29009         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
29010         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
29011         New macros.
29012         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
29013         Generate calls to GCC builtins if available, for speed.
29014         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29015         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29016         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29017         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
29018         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
29019         (CHECK_QUOTIENT, CHECK_REMAINDER):
29020         Test WRAPV and CONST flavors (when available) too.
29022 2015-10-30  Pádraig Brady  <P@draigBrady.com>
29024         doc: use extended timezone format in iso-8601 example
29025         * doc/parse-datetime.texi: The standard states that extended format
29026         is to be used consistently throughout.
29027         Note that lib/parse-datetime.y can handle either tz format.
29029 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29031         stdalign: port to Sun C 5.9
29032         * doc/posix-headers/stdalign.texi: Document this.
29033         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
29034         __attribute__ ((__aligned__ (...))).
29036 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
29038         time_rz: fix comment about tzalloc
29039         * lib/time_rz.c (tzalloc): Fix comment.
29041 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29043         stdalign: work around pre-4.9 GCC x86 bug
29044         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
29045         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
29046         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
29048 2015-10-18  Pádraig Brady  <P@draigBrady.com>
29050         maint.mk: sc_tight_scope: remove extraneous expressions
29051         * top/maint.mk (tight_scope): This is not really required since
29052         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
29053         that matches all nm entries.  But it does remove extraneous entries
29054         that may be confusing or cause issue in future maintenance.
29056 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29058         time_rz: return NULL if localtime_r fails
29059         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
29060         while still attempting to pacify bleeding-edge GCC.
29062         fts: port to C11 alignof
29063         * doc/posix-headers/stdalign.texi (stdalign.h):
29064         Document the C11 restriction.
29065         * lib/fts.c: Include stddef.h, for max_align_t.
29066         (fts_alloc): Align using max_align_t, not FTSENT.
29067         * modules/fts (Depends-on): Add stddef.
29069 2015-10-18  Jim Meyering  <meyering@fb.com>
29071         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
29072         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
29073         would see this:
29075         lib/time_rz.c: In function 'localtime_rz':
29076         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
29077           [-Werror=nonnull]
29078                    if (tm && !save_abbr (tz, tm))
29079                        ^
29081         That was complaining about "tm" because it is a parameter that was
29082         declared with the __nonnull__ attribute.
29083         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
29084         result of localtime_r.
29086 2015-10-17  Jim Meyering  <meyering@fb.com>
29088         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
29089         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
29090         name-extraction regexp mistakenly used \S+, and would mistakenly
29091         extract "*F" from "extern int *F()" rather than the desired "F".
29092         Use \w+ instead.
29094 2015-10-17  Jim Meyering  <meyering@fb.com>
29096         maint.mk: sc_tight_scope: factor and support OS X
29097         * top/maint.mk (_gl_tight_scope): Address three issues:
29098         - factor out four instances of code that wraps a string in "^...$"
29099         - allow nm-reported symbol names to have an optional leading "_"
29100         - add "main" to the list of ignored variable names, because on os x,
29101         "main" has nm-reported type "S" in the variable-checking section.
29103 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
29105         safe-alloc-tests: fix typo in license header
29106         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
29108 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
29110         copy-file: fix mem leak in error case
29111         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
29112         upon error opening or performing I/O to the src and dest files.
29114 2015-10-15  Mike Frysinger  <vapier@chromium.org>
29116         localename: control langinfo.h inclusion
29117         This header is only used to work around buggy behavior in old
29118         versions of glibc, so do not include it all the time.  Otherwise
29119         we get build failures on systems that do not provide langinfo.h.
29120         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
29121         in the source later on.
29122         The patch was originally submitted to gettext as:
29123         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
29125 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29127         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
29128         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
29129         * lib/u64.c, lib/unistd.c:
29130         Append 'typedef int dummy;', to pacify compilers that are picky
29131         about empty translation units.
29133 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
29135         accept4-tests: fix to avoid non portable flags
29136         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
29137         as they are the only documented ones, and passing others may trigger
29138         EINVAL (seen on FreeBSD 10.1-RELEASE).
29139         * doc/glibc-functions/accept4.texi: Mention that we don't provide
29140         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
29142 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
29144         gnulib-tool: fix tests of 'extensions' module
29145         This complements f8fe25fab60e3c687a124 commit.
29146         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
29147         emitting of initial gl_EARLY macros.
29148         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
29149         replaced with func_emit_pre_early_macros call.
29151 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29153         unicase/locale-language: fix typo in utf-8 cookie
29154         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
29155         Problem reported by Zbigniew Jędrzejewski-Szmek.
29157 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
29159         xalloc: do not worry about GCC 5 warning on 32 bit
29160         * lib/xalloc.h: Revert previous change.
29161         I found a better way to fix this in coreutils.
29163 2015-10-02  Pádraig Brady  <P@draigBrady.com>
29165         xalloc: avoid GCC 5.1 warning on 32 bit
29166         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
29167         xalloc_oversized(), which was seen to give this warning
29168         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
29169         when simplifying conditional".
29171 2015-10-02  Daiki Ueno  <ueno@gnu.org>
29173         uniname/uniname-tests: avoid compiler warnings
29174         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
29175         unused local variables.
29176         (test_alias_lookup): Fix alias name display in failure cases.
29178 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29180         c-ctype: do not worry about EBCDIC + char signed
29181         Drop support for EBCDIC with char being signed, as this breaks too
29182         many programs.  Problem reported by Ben Pfaff in:
29183         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
29184         * lib/c-ctype.h: Verify that we are not using EBCDIC with
29185         char being signed.
29186         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
29187         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
29188         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
29189         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
29190         * tests/test-c-ctype.c (test_all):
29191         Simplify by assuming standard char values cannot be negative.
29192         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
29194 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29196         c-ctype: port better to z/OS EBCDIC
29197         Problems reported by Daniel Richard G. in:
29198         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
29199         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
29200         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
29201         (_C_CTYPE_OTHER_CNTRL): New macro.
29202         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
29203         from SCHAR_MIN, as the functions are defined only from values
29204         promoted from char or from unsigned char, not necessarily from
29205         signed char.
29207 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
29209         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
29211         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
29212         and ARFLAGS variables.  Doing this unconditionally could break
29213         later Automake's AM_PROG_AR invocation (at least it's
29214         AC_CHECK_TOOLS call to detect correct 'ar' binary).
29216         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
29217         Amsterdam Compiler Kit, so make the previous code to have effects
29218         only on ACK, and rather automatically call the Automake's
29219         AM_PROG_AR as soon as possible to decide other cases.
29221         References:
29222         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
29224         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
29225         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
29226         is possible, keep setting AR/ARFLAGS to reasonable defaults.
29227         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
29228         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
29229         'extensions' module is used.
29230         * modules/extensions (configure.ac-early): Remove as this snippet
29231         is added to gnulib-comp.m4 earlier anyway.
29233 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29235         sockets: MS Windows initalization fixes
29236         Problem reported by Test User in:
29237         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
29238         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
29239         Correct the endianness.
29240         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
29241         number mismatch, not just on <.  Cleanup before any such failure.
29243 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
29245         gc: fix detection of installed libgcrypt version
29246         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
29247         at least as recent as 1.4.4.  The previously used macro is not
29248         available now, since modules were removed in version 1.6.0.
29250 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29252         c-ctype: rewrite to use inline functions
29253         This simplifies maintenance, since it makes for just one
29254         implementation of each function, letting the compiler have the fun
29255         of optimization.  In practice this works well nowadays with GCC.
29256         E.g., c_isascii might need only three instructions even though the
29257         source code lists every ASCII character individually in a large
29258         switch statement.
29259         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
29260         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
29261         * NEWS: Document the API change.
29262         * lib/c-ctype.c: Drastically simplify, since this now just expands
29263         inline functions.
29264         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
29265         (C_CTYPE_INLINE): New macro.
29266         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
29267         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
29268         Verify that either ASCII or EBCDIC is being used.
29269         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
29270         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
29271         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
29272         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
29273         New private macros.
29274         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
29275         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
29276         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
29277         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
29278         (c_tolower, c_toupper): When converting, return the unsigned char,
29279         as that is what z/OS does.
29280         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
29281         of some c-ctype.h macros.
29282         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
29283         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
29284         c_tolower promotion to be compatible with z/OS.
29286 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
29288         gitlog-to-changelog: trim only trailing whitespaces
29289         This is fix for --format regression introduced by commit
29290         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
29291         doubled %n string) had no effect anymore.  This format
29292         specification has been used e.g. by GNU paxuitils (commit
29293         edfd8bcc3).
29295         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
29296         newlines in commmit messages.
29298 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29300         Test that c_iscntrl agrees with iscntrl, etc.
29301         Suggested by Daniel Richard G. in:
29302         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
29303         * modules/c-ctype-tests (Depends-on): Add ctype.
29304         * tests/test-c-ctype.c: Include <ctype.h>.
29305         (NCHARS): New constant.
29306         (test_agree_with_C_locale): New function.
29307         (main): Use it.
29308         (test_all): Use named constants.
29310         c-ctype: improve c_isascii testing
29311         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
29312         Add a test to count the number of ASCII characters.
29314 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29316         savewd: remove SAVEWD_CHDIR_READABLE
29317         It was problematic in the light of file systems that ignore umask.
29318         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
29319         * NEWS: Document this.
29320         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
29321         successful, -1 (setting errno) on failure, rather than something
29322         more complicated than that.
29323         * lib/mkdir-p.c (make_dir_parents):
29324         Do not use SAVEWD_CHDIR_READABLE.
29325         * lib/savewd.c (savewd_chdir):
29326         Remove support for SAVEWD_CHDIR_READABLE.
29327         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
29329         c-ctype: port better to EBCDIC
29330         Problems reported by Daniel Richard G. in
29331         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
29332         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
29333         Include "verify.h".
29334         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
29335         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
29336         Define as enum constants with value false, if not defined, so that
29337         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
29338         code more portable, as both branches of the 'if' are compiled on
29339         all platforms.
29340         (C_CTYPE_EBCDIC): New constant.
29341         Verify that the character set is either ASCII or EBCDIC.
29342         (to_char): New static function.
29343         (c_isascii, c_iscntrl):
29344         Assume standard control-character assignments for EBCDIC.
29345         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
29346         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
29347         Rewrite to use 'if' instead of 'ifdef'.
29348         Use to_char if non-ASCII.  Prefer <= to >=.
29349         Prefer true and false to 1 and 0, for booleans.
29350         (c_iscntrl): Use 'if', not 'ifdef'.
29351         * modules/c-ctype (Depends-on): Add verify.
29352         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
29353         (to_char): New function.
29354         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
29356 2015-09-21  Pádraig Brady  <P@draigBrady.com>
29358         nanosleep: fix return code for interrupted replacement
29359         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
29360         that we return -1 in the case the call is interrupted by a signal,
29361         rather than the current value of 1.
29362         Diagnosed and tested by Daniel Richard G.
29364 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
29366         Diagnose ERE '()|\1'
29367         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
29368         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
29369         track of the set of previously-completed subexpressions available
29370         before the first alternative, and restore this set just before
29371         parsing each subsequent alternative.  This lets us diagnose the
29372         invalid back-reference in the ERE '()|\1'.
29374         regex: merge patches from libc
29376         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
29377         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
29378         * lib/regex_internal.h:
29379         Include <libc-lock.h> instead of <bits/libc-lock.h>.
29381         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
29382         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
29383         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
29384         wcscoll.
29385         * lib/regexec.c (check_node_accept_bytes): Likewise.
29387         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29388         Fix regex wcrtomb namespace (bug 18496).
29389         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
29390         instead of wcrtomb.
29392         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29393         Fix regex wctype namespace (bug 18495).
29394         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
29395         instead of towlower.
29396         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
29397         instead of iswlower.  Call __towupper instead of towupper.
29398         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
29399         instead of iswalnum.
29401         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
29402         * lib/regcomp.c (parse_bracket_exp): Initialize type to
29403         COLL_SYM in a couple of places to avoid uninitialized variable
29404         wanings on tilegx gcc 4.8.2.
29406         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
29407         * lib/regex_internal.h: Remove NOT_IN_libc.
29409         2014-11-17  Andreas Schwab  <schwab@suse.de>
29410         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
29412         2014-09-11  Roland McGrath  <roland@hack.frob.com>
29413         Move findidx nested functions to top-level.
29414         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
29415         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
29416         Pass new arguments to findidx.
29417         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
29418         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
29419         Don't #include it inside the function.  Pass new arguments to findidx.
29420         * lib/regex_internal.h:
29421         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
29422         (re_string_elem_size_at): Don't #include it inside the function.
29423         Pass new arguments to findidx.
29425         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
29426         Check if DEBUG is defined in regex_internal.c
29427         * lib/regex_internal.c: Check if DEBUG is defined and is set.
29429 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
29431         ceill: detect buggy OpenBSD implementation
29432         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
29433         which returns zero for small values.  Discussed here:
29434         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
29436 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
29438         mountlist: add me_mntroot field on Linux machines
29439         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
29440         mount_entry so Linux machines based on /proc/self/mountinfo can
29441         distinguish between bind mounts and original mounts.  In reality bind
29442         mounts aren't treated differently than mountroot=/ mounts by the
29443         kernel, but the user often wants these bind mounts distinguished.
29444         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
29445         More details at https://pad.lv/1432871
29447 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
29449         doc: Describe to use multiple instances of gnulib
29450         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
29451         instances of gnulib with different modules can be used, for example one
29452         for a lib and another one for associated tools.
29454 2015-09-01  Pádraig Brady  <P@draigBrady.com>
29456         base32: mark function as __attribute__ const
29457         * lib/base32.h (isbase32): Mark __attribute__ const as
29458         suggested by GCC, and consistent with the base64 module.
29460 2015-08-20  Daiki Ueno  <ueno@gnu.org>
29462         gnulib-tool: don't transform binary files with sed
29463         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
29464         .mo and .class files.
29465         Reported by Denis Denisov.
29467 2015-08-10  Daiki Ueno  <ueno@gnu.org>
29469         gperf: respect silent rules
29470         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
29471         V_GPERF_0 for silent rules.
29472         * modules/iconv_open (Makefile.am): Use V_GPERF.
29473         * modules/unicase/locale-language (Makefile.am): Likewise.
29474         * modules/unicase/special-casing (Makefile.am): Likewise.
29475         * modules/unictype/category-byname (Makefile.am): Likewise.
29476         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
29477         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
29478         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
29479         * modules/unictype/property-byname (Makefile.am): Likewise.
29480         * modules/unictype/scripts (Makefile.am): Likewise.
29481         * modules/uninorm/composition (Makefile.am): Likewise.
29483 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
29485         Improve port of stdalign to C++11
29486         Problem reported by Sundaram in:
29487         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
29488         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
29489         (__alignas_is_defined): Define if C++11 or newer.
29491 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
29493         pmccabe2html: fix gawk regex escaping
29494         * build-aux/pmccabe2html: Add one more backslash to properly
29495         escape the gsub replacement value.  Fixes this error:
29496         gawk: ./build-aux/pmccabe2html:425: \
29497         warning: escape sequence `\&' treated as plain `&'
29499 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
29501         time_rz: port to pedantic memcpy
29502         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
29503         that reject memcpy (..., NULL, 0).
29505 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
29507         time_rz: port better to MinGW
29508         Don't change tzname, as this makes MinGW dump core (Bug#21020).
29509         Instead, store the tzname copy in the struct tm_zone object.
29510         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
29511         * lib/strftime.c [!_LIBC]:
29512         * lib/time_rz.c: Include time-internal.h.
29513         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
29514         name from *TZ rather than from TZNAME, doable because *TZ now has
29515         a tzname_copy member.
29516         * lib/time-internal.h: New file, with contents taken from
29517         lib/time_rz.c.  It's separate because strftime.c now accesses
29518         struct tm_zone members.
29519         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29520         New member tzname_copy.
29521         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
29522         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29523         Initialize tzname_copy member.
29524         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
29525         in tzname_copy member.
29526         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
29527         (restore_tzname): Remove; no longer needed.  All calls removed.
29528         * modules/time_rz (Files): Add lib/time-internal.h.
29530         time: port __need_time_t to MinGW
29531         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
29532         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
29534 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
29536         strftime: fix newly-introduced bug on Solaris
29537         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
29538         consistently at the start, rather than doing some of the setup at
29539         the start and some in the %Z format spec.  This is cleaner, and
29540         works better with time_rz on platforms like Solaris where struct
29541         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
29542         mktime_z and localtime_rz can mess up the tzname cache.
29544         test-strftime: test for Solaris bug
29545         * modules/strftime-tests (Depends-on): Add strerror.
29546         * tests/test-strftime.c: Include <errno.h>.
29547         (posixtm_test): New function, containing the old 'main'.
29548         (struct tzalloc_test, struct localtime_rz_test): New types.
29549         (TZ, LT): New static vars.
29550         (tzalloc_test): New function.
29551         (main): Rewrite in terms of posixtm_test and tzalloc_test.
29553         time_rz: port to Solaris etc.
29554         Works around a tzname problem on platforms like Solaris that have
29555         tzname but not tm_zone, by setting tzname at the appropriate time
29556         and restoring it later.
29557         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
29558         New static vars.
29559         (save_abbr) [HAVE_TZNAME]: Set them.
29560         (revert_tz) [HAVE_TZNAME]: Clear or use them.
29561         (restore_tzname): New function.
29562         (localtime_rz, mktime_z): Use it.
29564         time_rz: now LGPL
29565         * modules/time_rz (License): Now LGPL, because strftime depends on it.
29567         time_rz: make a constant 'const'
29568         * lib/time_rz.c (local_tz): Now const.
29570         time_rz: fix off-by-one typo
29571         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
29573 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
29575         fprintftime, strftime: use timezone_t args
29576         * NEWS: Document the change.
29577         * lib/fprintftime.h (fprintftime):
29578         * lib/strftime.c (extra_args) [my_strftime]:
29579         * lib/strftime.h (nstrftime):
29580         Time zone arg is now of type timezone_t, not int.
29581         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
29582         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
29583         (my_strftime) [emacs && !my_strftime]:
29584         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
29585         Remove; Emacs doesn't need this any more.
29586         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
29587         fprintftime and nstrftime to call tzset.
29588         (ut) [!my_strftime]: Remove, replacing with ...
29589         (tz) [!my_stftime]: ... this new macro.  All uses changed.
29590         (strftime_case_): Use localtime_rz and mktime_z instead
29591         of localtime_r and mktime.
29592         * modules/fprintftime (Depends-on): Add time_rz.
29593         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
29594         * tests/test-strftime.c (main): Adjust to new nstrftime API.
29596         time_rz: new module
29597         * MODULES.html.sh: Add time_rz.
29598         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
29599         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
29600         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
29601         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
29602         New var HAVE_TIMEZONE_T (default 0).
29603         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
29604         New var GNULIB_TIME_RZ (default 0).
29605         * modules/time (time.h): Substitute the new vars.
29607         flexmember: license is now unlimited
29608         * modules/flexmember (License): Change to unlimited,
29609         since its only source file gives an unlimited license.
29611 2015-07-15  Eric Blake  <eblake@redhat.com>
29613         maint: update copyright paper procedures
29614         * config/srclist.txt: Drop outdated files.
29615         * doc/Copyright/conditions.txt: Update to latest.
29616         * doc/Copyright/assign.changes.manual: Delete.
29617         * doc/Copyright/assign.future.manual: Likewise.
29618         * doc/Copyright/assign.manual: Likewise.
29619         * doc/Copyright/assign.translation.manual: Likewise.
29620         * doc/Copyright/disclaim.changes.manual: Likewise.
29621         * doc/Copyright/disclaim.manual: Likewise.
29622         * doc/Copyright/disclaim.program: Likewise.
29624 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29626         localename: fix link error on Illumos
29627         Illumos defines __sun, but does not have getlocalename_l nor the
29628         equivalent.  This partially reverts commit 387c214.
29629         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
29630         available, as well as uselocale.
29631         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
29632         use getlocalename_l if it is not available.
29634 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29636         unistr/uN-strtok-tests: avoid a trivial leak
29637         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
29638         input and delim after the multibyte delimiter tests.
29640 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
29642         file-has-acl, acl-permissions: fix HP-UX typos
29643         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
29644         * lib/file-has-acl.c (file_has_acl):
29645         * lib/set-permissions.c (context_acl_from_mode)
29646         (context_aclv_from_mode, set_acls):
29647         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
29648         They were introduced by the recent ACL changes.
29650         regex: match current GNU grep behavior
29651         These symbols have not matched GNU grep behavior for quite some time.
29652         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
29653         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
29654         Change to match current GNU behavior.
29655         Simplify by expressing it as differences from POSIX BREs and EREs.
29656         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
29658 2015-07-03  Jim Meyering  <meyering@fb.com>
29660         set-permissions.c: adjust acl_from_mode's cpp guard
29661         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
29662         directives identical to those guarding the sole use.
29663         Otherwise, on some systems, we'd get a warning about
29664         the function being defined but not used.
29665         Also, filter through cppi to correct misleading indentation
29666         of cpp directives.
29668 2015-07-03  Pádraig Brady  <P@draigBrady.com>
29670         tests: restrict shells to those that support 'local'
29671         The local keyword is very widely supported and used
29672         in tests in coreutils and grep at least.  Therefore
29673         restrict to testing with shells that support it.
29674         This mainly excludes /bin/sh on Solaris.
29675         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
29677 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
29678         and Daiki Ueno  <ueno@gnu.org>
29680         unistr/uN-strtok: handle multibyte delimiters
29681         Previously, uN_strtok moved PTR to the next unit to the token end.
29682         When DELIM contained a multibyte character, the new position could
29683         be a middle of a multibyte character.
29684         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
29685         after the token.
29686         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
29687         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
29688         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
29689         * modules/unistr/u8-strtok (Depends-on): Depend on
29690         unistr/u8-strmblen.
29691         * modules/unistr/u16-strtok (Depends-on): Depend on
29692         unistr/u16-strmblen.
29693         * modules/unistr/u32-strtok (Depends-on): Depend on
29694         unistr/u32-strmblen.
29695         * tests/unistr/test-u-strtok.h: New file.
29696         * tests/unistr/test-u8-strtok.c: New file.
29697         * tests/unistr/test-u16-strtok.c: New file.
29698         * tests/unistr/test-u32-strtok.c: New file.
29699         * modules/unistr/u8-strtok-tests: New file.
29700         * modules/unistr/u32-strtok-tests: New file.
29701         * modules/unistr/u16-strtok-tests: New file.
29703 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
29705         update-copyright: fix test failure with perl >= 5.22 (trivial)
29706         * build-aux/update-copyright: Escape a literal left curly bracket,
29707         required with perl >= 5.22
29709 2015-07-02  Daiki Ueno  <ueno@gnu.org>
29711         u{16,32}-strstr-tests: relax timeout condition
29712         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
29713         tests can take longer than 5 seconds to complete.
29714         Reported by Dagobert Michelsen in:
29715         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
29716         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
29717         seconds to 10 seconds.
29718         * tests/unistr/test-u32-strstr.c (main): Likewise.
29720 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29722         gnulib-common.m4: change the ARFLAGS default to 'cr'
29723         In some GNU/Linux distributions people started to compile 'ar'
29724         binary with --enable-deterministic-archives (binutils project).
29725         That, however, in combination with previous autotools long time
29726         working default AR{_,}FLAGS=cru causes warnings on such
29727         installations:
29728         ar: `u' modifier ignored since `D' is the default (see `U')
29729         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
29730         set already.
29732 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29734         selinux-h: avoid double free after *getfilecon()
29735         Originally reported by Ben Shelton on bug-tar:
29736         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
29737         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
29738         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
29739         param should be freed by freecon(3) (regardless the return value).
29741 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
29743         fix pty related tests issues on Windows (trivial)
29744         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
29745         however it's still present in tests/ subdirectory of the final project.
29746         Therefore avoid it to pass `make check`.
29747         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
29748         will just return -ENOSYS, so avoid this non applicable test allowing
29749         the build to proceed.
29751 2015-07-01  Pádraig Brady  <P@draigBrady.com>
29753         acl: fix definition of acl_from_mode on FreeBSD
29754         This was causing basic coreutils copy operations to fail
29755         with ENOTSUP or ENOENT error messages.
29756         * lib/acl-internal.h (acl_from_mode): Only define when
29757         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
29758         of acl_from_mode() defined in lib/set-permissions.c to
29759         be used on FreeBSD at least.
29760         * lib/set-permissions.c: Fix up comment spelling,
29761         and a redundant variable assignment; noticed in passing.
29763 2015-06-30  Pádraig Brady  <P@draigBrady.com>
29765         readutmp: port to FreeBSD >= 9
29766         * lib/readutmp.h: Map utmpxname() to setutxdb().
29767         With that coreutils who(1) and pinky(1) tests pass.
29769 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
29771         mgetgroups: port to strict OS X
29772         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
29773         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
29774         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
29775         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
29777 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
29779         mgetgroups: port to strict OS X
29780         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
29781         Document the getgrouplist problem.
29782         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
29783         New macro.
29784         (mgetgroups): Use it.
29785         * m4/mgetgroups.m4 (gl_MGETGROUPS):
29786         Check for OS X signature for getgrouplist.
29788 2015-06-29  Jim Meyering  <meyering@fb.com>
29790         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
29791         It started like this when building coreutils' latest on OS X,
29792         invoking ./configure with a nonempty --cache=.cache:
29794           lib/linkat.c:46:42: error: operator '||' has no right operand
29795           lib/linkat.c: In function 'rpl_linkat':
29796           lib/linkat.c:330:27: error: #if with no expression
29798         Here's linkat.c's line 46:
29800           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
29802         Here's some context:
29804           $ grep linkat_nofoll .cache
29805           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
29806           $ grep LINKAT_SYM lib/config.h
29807           #define LINKAT_SYMLINK_NOTSUP
29809         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
29810         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
29811         but that violates a tenet of AC_CACHE_CHECK: it must
29812         have no side effect other than setting its cache variable.
29814         What happens is that when the cache is set, we'd skip the
29815         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
29816         defined to whatever value it happened to have in configure's
29817         environment.  In my case, it was not defined, so this later code:
29819           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
29820             [Define to 1 if linkat can create hardlinks to symlinks])
29822         would emit code with an empty RHS.
29824         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
29825         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
29827 2015-06-28  Jim Meyering  <meyering@fb.com>
29829         mountlist: avoid an unused-label warning on OS X
29830         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
29831         Building on OS X, I saw a warning about the "free_then_fail" label
29832         being unused.  Give it the _GL_UNUSED_LABEL attribute.
29834         error.c: correct printf-style format: %d -> %u
29835         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
29836         rather than %d, to match the type of "line_number", unsigned int.
29838 2015-06-25  Pádraig Brady  <P@draigBrady.com>
29840         fts: avoid reading beyond the heap allocation
29841         GCC 5.1.1 with -O2 and -fsanitize=address reports
29842         a read of size 4 from a heap object of size 3 is indeed invalid,
29843         though this may be due to incorrect padding assumptions by GCC, see:
29844         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
29845         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
29846         * modules/fts: Depend on stdalign.
29848 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29850         savedir: avoid undefined behavior in qsort call
29851         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29852         "runtime error: null pointer passed as argument 1,
29853          which is declared to never be null"
29854         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
29856 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29858         userspec: avoid undefined behavior in gettext call
29859         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29860         "runtime error: null pointer passed as argument 2,
29861          which is declared to never be null"
29862         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
29864 2015-06-20  Glenn Morris  <rgm@gnu.org>
29866         gitlog-to-changelog: improve gitmerge.el commits
29867         Let the Emacs ChangeLog generation process exclude "skipped"
29868         messages from merge commits (Bug#20717).
29869         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
29871 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29873         wchar: fix MinGW compilation warnings
29874         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
29875         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
29876         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
29878 2015-06-20  Daiki Ueno  <ueno@gnu.org>
29880         uniname/uniname-tests: use pristine data files
29881         For copyright and maintenance reasons, use the data files from UCD
29882         without modification.
29883         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
29884         (getfield): Remove.
29885         (aliases_count): New global variable.
29886         (fill_names): Skip comments and empty lines in the input.  Don't
29887         use getfield.
29888         (fill_aliases): Likewise.
29889         (main): Change the expected command line arguments to:
29890         NAMES... ["--" ALIASES...].
29891         * tests/uniname/test-uninames.sh: Adjust to the change in
29892         test-uninames.c.
29893         * tests/uniname/UnicodeDataNames.txt: Remove.
29894         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
29895         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
29896         file from Unicode 8.0.0.
29898 2015-06-19  Pádraig Brady  <P@draigBrady.com>
29900         linked-list, linkedhash-list: avoid compiler warnings
29901         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
29902         -Werror=suggest-attribute=pure (from GCC 5.1.1).
29904 2015-06-19  Daiki Ueno  <ueno@gnu.org>
29906         libunistring: bump minimum version to 0.9.6
29907         * all modules depending on updated Unicode data: Regenerate.
29908         The modules are listed by a script that does:
29909         - for each file listed by: git show --oneline --name-only 705f4efc
29910           - deduce the containing modules, based on "Files:"
29911         - deduce the modules which depend on the containing modules, based
29912           on "Depends-on:"
29914 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29916         uniname/uniname: update to Unicode 8.0.0
29917         * lib/uniname/uninames.h: Regenerate.
29918         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
29919         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
29921 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29923         libunistring: update to Unicode 8.0.0
29924         * lib/gen-uni-tables.c (SIZEOF): New macro.
29925         (output_numeric): Increase the maximum number of fractions from
29926         128 to 160.  Increase the level3 value width from 7 bits to 8
29927         bits.  Use SIZEOF instead of a hard-coded integer.
29928         (output_blocks): Decrease the cut-off threshold from 0x30000 to
29929         0x28000.
29930         (fill_blocks): Increase the maximum number of blocks from 256 to
29931         384.  Use SIZEOF instead of a hard-coded integer.
29932         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
29933         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
29934         value width.
29935         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
29936         a new case added to LBP22.
29937         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
29938         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
29939         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
29940         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
29941         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
29942         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29943         lib/uniwidth/width.c.
29944         * all generated files under lib/uni* and tests/uni*: Regenerate.
29946 2015-06-16  Pádraig Brady  <P@draigBrady.com>
29948         gnu-web-doc-update: add --mirror to remove stale files
29949         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
29950         out of date files from the CVS server.  Since this is usually
29951         appropriate, a prompt is given when the option is not specified,
29952         along with the `cvs remove` command that would be run.
29954 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
29956         acl-permissions: pacify -Wsuggest-attribute=const
29957         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
29958         * lib/acl-internal.h (free_permission_context):
29959         Declare with attribute const if ! (defined USE_ACL &&
29960         (HAVE_ACL_GET_FILE || defined GETACL)).
29962         fsync: document AIX misbehavior
29963         * doc/posix-functions/fsync.texi (fsync):
29964         Document failure on AIX with read-only file descriptor.
29966 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
29968         stdio: Don't redefine gets when using C++
29969         * lib/stdio.in.h (gets): Disable warning on C++.
29971 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
29973         acl-permissions: port to AIX, C89 HP-UX
29974         Problems reported by Michael Felt.
29975         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
29976         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
29977         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
29978         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
29979         Add cast for AIX, whose system calls are declared to accept
29980         char * even though the arguments are really char const *.
29981         * lib/get-permissions.c (get_permissions):
29982         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
29983         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
29984         that broke a build.
29985         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
29986         Rework types to pacify xlc.
29988 2015-06-03  Pádraig Brady  <P@draigBrady.com>
29990         vasprintf-posix: avoid compiling vasnprintf where possible
29991         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
29992         module where not required.  For example on a GNU/Linux system
29993         when gnulib-tool is run with the --conditional-dependencies option.
29995 2015-06-02  Pádraig Brady  <P@draigBrady.com>
29997         file-has-acl: fix build on Mac OS X 10
29998         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
29999         which has an incompatible 6 parameter getxattr() call.
30000         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
30001         call on Mac OS X >= 10.4.
30002         * doc/glibc-functions/fgetxattr.texi: Likewise.
30003         * lib/file-has-acl.c: Revert to more complete combined check.
30004         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
30005         Reported by Jack Howarth.
30007 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30009         prefix-gnulib-mk: remove no longer needed special case
30010         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
30011         continued lib_SOURCES lines are no longer present,
30012         so special case handling of such entries is not required.
30014 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30016         acl: don't depend on the deprecated qacl module
30017         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
30019 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30021         gnulib-tool: concatenate lib_SOURCES to a single line
30022         * gnulib-tool: Refactor the line merging sed logic,
30023         and use that to output a single lib_SOURCES line for each module.
30024         gnulib using projects often postprocess this output to prepend
30025         subdir paths to each item, and having a single line simplifies this
30026         processing allowing better decoupling from the gnulib-tool output.
30028 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
30030         pthread_sigmask: discount system version if a simple macro (trivial)
30031         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
30032         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
30033         function to ensure it's available.
30035 2015-05-31  Pádraig Brady  <P@draigBrady.com>
30037         readlinkat: avoid OS X 10.10 trailing slash bug
30038         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
30039         has this bug.
30040         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
30041         that OS X 10.10 has this function.
30042         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
30043         as done for readlink().
30044         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
30045         trailing slash bug, and assume readlinkat() has the same issue.
30046         Also fix a typo where $gl_cv_decl_readlink_works was tested,
30047         rather than the correct $gl_cv_decl_readlinkat_works.
30049 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30051         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
30052         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
30053         module rewrite.
30055         acl-permissions: Fix build on Solaris and Cygwin
30056         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
30057         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
30058         ace_entries variables have moved into struct permission_context but
30059         they were still accessed as local variables here.
30061 2015-05-29  Pádraig Brady  <P@draigBrady.com>
30063         linkat: avoid OS X 10.10 trailing slash with symlink bug
30064         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
30065         causes the symlink to be dereferenced, and if it points
30066         to a non existent file, that file will be created as
30067         a hard link to "path1".
30068         This fixes a test failure in test-linkat.c.
30069         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
30070         this case.  The existing workaround in linkat.c for
30071         trailing slash issues, suffices for this case.
30072         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
30073         the list of platforms with trailing slash issues.
30075 2015-05-28  Pádraig Brady  <P@draigBrady.com>
30077         unlinkat: handle ignoring of ".." on Darwin 14
30078         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
30079         on Mac OS X 10.10, where it ignores paths with a trailing "..",
30080         so handle in the same manner.
30081         * m4/unlinkat.m4: Comment on this Darwin issue.
30082         * doc/posix-functions/unlink.texi: Update the latest version
30083         where the issue was seen.
30084         * doc/posix-functions/unlinkat.texi: Mention this issue.
30085         Fixes a test failure in test-unlinkat.c.
30087 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
30089         qacl: split into qcopy-acl and qset-acl
30090         Emacs needs the former, but not the latter.
30091         * modules/acl-permissions: New file, containing most of the old qacl.
30092         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
30093         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
30094         * modules/qcopy-acl, modules/qset-acl: New files.
30095         * MODULES.html.sh (File system functions):
30096         Mention the new modules, and mention qacl while we're at it.
30098 2015-05-27  Glenn Morris  <rgm@gnu.org>
30100         gitlog-to-changelog: new option --ignore-line
30101         (This patch is imported from the GNU Emacs master.)
30102         This option ignores individual commit lines matching a pattern.
30103         * build-aux/gitlog-to-changelog: Add --ignore-line option.
30105 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
30107         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
30108         Implement get_permissions and set_permissions primitives for getting all
30109         the permissions of a file, storing them, and later setting them. (In the
30110         minimal case, the permissions consist only of a file mode.) Reimplement
30111         qset_acl and qcopy_acl based on these new primitives: this avoids code
30112         duplication and makes error handling more consistent.
30113         The Solaris and Cygwin code still uses duplicate code paths for setting
30114         a file mode while making sure that no acls exist and setting an explicit
30115         acl; this is no worse than before, but could be cleaned up.  The AIX
30116         code still doesn't read ACLs, it only makes sure that acls don't get in
30117         the way when setting a file mode.
30118         * lib/acl-internal.h (struct permission_context): New data structure.
30119         (get_permissions, set_permissions, free_permission_context): Declare.
30120         * lib/acl-internal.c (free_permission_context): New helper function.
30121         * lib/get-permissions.c (get_permissions): New helper function split off
30122         from qcopy_acl.
30123         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
30124         AIX, set a file's permissions based only on a file mode.
30125         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
30126         other platforms construct a temporary acl from the file mode and set
30127         that acl in the same way as setting an acl read from the source file.
30128         This should help avoid code duplication and inconsistent / buggy
30129         behavior.
30130         (set_acls): New helper function Split off from qcopy_acl.
30131         (chmod_or_fchmod): Moved here from qset-acl.c.
30132         (set_permissions): New helper function.
30133         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
30134         set_permissions.
30135         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
30136         * modules/qacl: Add get-permissions.c and set-permissions.c.
30138         file-has-acl: Split feature tests again (Bug#20667)
30139         * lib/file-has-acl.c: Instead of testing for
30140         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
30141         define them when needed.
30142         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
30143         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
30145 2015-05-27  Pádraig Brady  <P@draigBrady.com>
30147         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
30148         This avoids a conflict with "FORTIFY_SOURCE" variants
30149         of the string functions when they're replaced on NetBSD-6.0.1
30150         and Darwin-14.3.0 at least.
30151         * lib/string.in.h: Avoid including our "lib/string.h" while
30152         including the system <string.h>.
30154 2015-05-26  Eric Blake  <eblake@redhat.com>
30156         stdio: limit __gnu_printf__ witness to gcc 4.4+
30157         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
30158         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
30160         error: use correct printf attributes on mingw
30161         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
30163         inttypes: force correct mingw PRIdMAX even without <stdio.h>
30164         * modules/inttypes (Depends-on): Require extensions, so that mingw
30165         always uses GNU style inttypes.
30166         * lib/inttypes.in.h: On mingw, include <stdio.h>.
30168         stdio: fix probe on mingw under gcc 5.1
30169         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
30170         around new gcc preprocessor rules.
30172 2015-05-07  Glenn Morris  <rgm@gnu.org>
30174         gitlog-to-changelog: parse "Tiny-change"
30175         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
30176         "Copyright-paperwork-exempt".  (Bug#20324)
30178 2015-05-06  Pádraig Brady  <P@draigBrady.com>
30180         doc: document glibc posix_fallocate() issues
30181         * doc/posix-functions/posix_fallocate.texi: Mention the
30182         glibc efficiency problems and issues with NFS.
30184 2015-05-05  Karl Berry  <karl@freefriends.org>
30186         * build-aux/gendocs.sh (usage): document new css default
30187         for HTML (--htmlarg).
30189 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30191         extern-inline: no need for workaround in GCC 5.1
30192         * doc/extern-inline.texi (extern inline):
30193         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30194         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
30195         around these bugs in GCC 5.1 and later.  Maybe in a decade or
30196         two we can remove these workarounds.
30198 2015-04-28  Pádraig Brady  <P@draigBrady.com>
30200         eealloc, pagealign_alloc, xalloc: avoid clang warnings
30201         Avoid [-Wunknown-attributes] warnings like:
30202         warning: unknown attribute '__alloc_size__' ignored
30203         * lib/xalloc.h: Don't use the __alloc_size__  attribute
30204         with clang, as support has been fully removed as of clang 3.5:
30205         https://github.com/llvm-mirror/clang/commit/c047507a
30206         * lib/eealloc.h: Likewise.
30207         * lib/pagealign_alloc.h: Likewise.
30209 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
30211         tests: pacify GCC 5.1's stricter printf checking
30212         * tests/test-dirname.c (main):
30213         * tests/test-getaddrinfo.c (simple):
30214         * tests/test-getlogin.c (main):
30215         * tests/test-getndelim2.c (main):
30216         * tests/test-inttostr.c (CK):
30217         * tests/test-md5.c (main):
30218         * tests/test-read-file.c (main):
30219         * tests/test-sha1.c (main):
30220         Fix mismatches between printf format and value signedness.
30221         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
30222         Remove, as CAST_VAL always returned a value of type uintmax_t.
30224         fts: port to GCC 5.1 with --enable-gcc-warnings
30225         Without this fix, GCC 5.1 (correctly) warns about a subscript
30226         error on the fts_name component of FTSENT.  It's actually a
30227         flexible member, so define it that way on C99 or later hosts.
30228         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
30229         structure that now has a flexible array member.
30230         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
30231         (FTSENT): fts_name is now flexible on C99-or-later platforms.
30232         * modules/fts (Depends-on): Add flexmember.
30234 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
30236         file-has-acl: port to CentOS 6
30237         Problem reported by Tom G. Christensen in:
30238         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
30239         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
30240         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
30241         HAVE_GETXATTR.
30242         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
30243         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
30244         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
30245         file-has-acl.c actually needs.
30247 2015-04-26  Pádraig Brady  <P@draigBrady.com>
30249         file-has-acl: always return false when ACLs aren't supported
30250         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
30251         change the GNU/Linux getxattr path, to transform "not supported"
30252         errors to a false return rather than an error.  This is handled
30253         within file_has_acl() due to the platform specific tests to
30254         determine if ACLs are not supported.
30256 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
30258         gettext: propagate po/Makefile.in.in too
30259         * build-aux/po/Makefile.in.in: Copy from latest gettext.
30260         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
30261         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
30262         between Makefile.in.in and the gettext-runtime m4 files.
30264 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
30266         file-has-acl: new module, split from acl
30267         And add a new module file-has-acl-tests to match.
30268         I ran into a problem with the recent changes to the acl module,
30269         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
30270         When using the fixed version with Emacs, I discovered that
30271         file-has-acl wasn't separated out well enough for Emacs (e.g., it
30272         had multiple libraries, but needed only one), so I fixed that too.
30273         * NEWS: Document this incompatible change.
30274         * modules/file-has-acl, modules/file-has-acl-tests: New files.
30275         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
30276         Initialize gl_need_lib_has_acl.
30277         (gl_FUNC_ACL): Require it.
30278         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
30279         Move the file-has-acl.c-relevant stuff to ...
30280         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
30281         use_xattrs = 0' typo, and omit some needless work.  Set
30282         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
30283         when gl_FUNC_ACL is called.
30284         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
30285         (Link): Remove $(LIB_HAS_ACL).
30286         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
30287         (check_PROGRAMS): Move stuff relevant to file-has-acl to
30288         modules/file-has-acl-tests.
30289         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
30291         manywarnings: add GCC 5.1 warnings
30292         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
30293         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
30294         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
30295         -Wsuggest-override, -Wuse-without-only.  Change
30296         -Wnormalized=... operands to match 5.1.
30297         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
30298         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
30299         -Wdiscarded-qualifiers, -Wformat-signedness,
30300         -Wincompatible-pointer-types, -Wint-conversion,
30301         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
30302         -Wshift-count-negative, -Wshift-count-overflow,
30303         -Wsizeof-array-argument, -Wsuggest-final-methods,
30304         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
30305         and add -Warray-bounds=2 as a special case.
30307 2015-04-21  Simon Josefsson  <simon@josefsson.org>
30309         doc: update FDL template to match FDL examples.
30310         * doc/alloca-opt.texi:
30311         * doc/alloca.texi:
30312         * doc/c-ctype.texi:
30313         * doc/c-strcase.texi:
30314         * doc/c-strcaseeq.texi:
30315         * doc/c-strcasestr.texi:
30316         * doc/c-strstr.texi:
30317         * doc/c-strtod.texi:
30318         * doc/c-strtold.texi:
30319         * doc/ctime.texi:
30320         * doc/error.texi:
30321         * doc/gcd.texi:
30322         * doc/gnulib-tool.texi:
30323         * doc/inet_ntoa.texi:
30324         * doc/intprops.texi:
30325         * doc/lib-symbol-visibility.texi:
30326         * doc/maintain.texi:
30327         * doc/parse-datetime.texi:
30328         * doc/quote.texi:
30329         * doc/regexprops-generic.texi:
30330         * doc/standards.texi: Remove spurious 'with' in FDL license
30331         template.
30333 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
30335         lstat: fix cross-compilation 'ln -s' problem
30336         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
30337         Have the test program call 'symlink' rather than a separate
30338         script run 'ln -s'; this is more likely to work in
30339         cross-compilation environments.  Reported by Pavel Fedin in:
30340         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
30342 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
30344         gendocs.sh: default to a common CSS style sheet for HTML output
30345         * build-aux/gendocs.sh (htmlarg): Change default value.
30347 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
30349         gnulib-tool: output bold attribute more portably
30350         * gnulib-tool (func_show_module_list): Change hexadecimal
30351         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
30352         encoded numbers as arguments to `printf' is not portable,
30353         and is not claimed by POSIX.  This is the case with FreeBSD.
30355 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30357         qacl: Simplify HP-UX acl_nontrivial check
30358         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
30359         acl_nontrivial. Check if the acl has at most three entries instead (it must
30360         have exactly three entries according to the HP-UX documentation). Ignore
30361         uids and gids as long as an entry is either for a user (i.e., the owner),
30362         a group (i.e., the owning group), or others.
30363         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
30364         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
30366 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
30368         acl: On Linux, check for acls without libacl
30369         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
30370         library function to check for the presence of acls, avoiding a library.
30371         * lib/file-has-acl.c: Include xattr headers if we have them.
30372         (file_has_acl): On Linux, use getxattr().
30373         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
30374         file_has_acl(). Check for xattr headers and getxattr().
30376 2015-04-14  Ángel González  <keisial@gmail.com>
30378         tempname: avoid unused parameter warnings (trivial)
30379         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
30380         (try_nocreate): Likewise.
30382 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
30384         fseeko: fix build failure on NetBSD >= 6 (trivial)
30385         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
30386         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
30388 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
30390         gitlog-to-changelog: port to MS-Windows
30391         * build-aux/gitlog-to-changelog (git_dir_option):
30392         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
30393         MS-Windows Perl.  Reported by Eli Zaretskii in:
30394         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
30396 2015-04-07  Karl Berry  <karl@gnu.org>
30398         gendocs: new option --tex for passing args to texi2dvi.
30399         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
30400         (TEXI2DVI): cut to just command name.
30401         (usage): mention new option, and update copyright.
30402         <generate_tex>: use it.
30404 2015-04-07  Karl Berry  <karl@gnu.org>
30406         * config/srclistvars.sh (GETTEXT): new definition.
30407         * config/srclist.txt: use it for gettext .m4 files.
30408         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
30409         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
30410         and continuing into April.
30412 2015-04-07  Daiki Ueno  <ueno@gnu.org>
30414         uniname/uniname-tests: fix failure due to alias
30415         Reported by Jack Howarth in:
30416         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
30417         * tests/uniname/test-uninames.c (name_has_alias): New function.
30418         (test_inverse_lookup): Exclude character name with valid alias,
30419         from randomly generated character names.
30420         (main): Fill unicode_aliases before calling test functions.
30422 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
30424         hash: remove deprecated hash_insert0 function
30425         * lib/hash.h (hash_insert0): Remove deprecated function.
30426         * lib/hash.c (hash_insert0): Likewise.
30428 2015-04-02  Pádraig Brady  <P@draigBrady.com>
30430         mountlist: remove dependency on libmount
30431         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
30432         directly, rather than depending on libmount, which has many
30433         dependencies due to its dependence on libselinux, as detailed at:
30434         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
30435         Note we restrict this to __linux__ as that's probably where this
30436         interface will remain.  If ever porting, it would be best
30437         to first pull the makedev() wrapper from coreutils to a gnulib module.
30438         Note also we don't add a getline dependency to the mountlist module,
30439         as all Linux versions are sufficient.
30441 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
30443         stddef: port to pre-C11 GCC on x86
30444         On this platform, max_align_t should have an alignment of 8 even
30445         though the storage alignments of double, long, etc. max out at 4.
30446         Inspired by a comment of Andreas Schwab's here:
30447         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
30448         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
30449         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
30450         * tests/test-stddef.c: Test __alignof__ too, if available.
30452 2015-03-24  Pádraig Brady  <P@draigBrady.com>
30454         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
30455         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
30457 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
30459         yesno: make EOL optional in ENABLE_NLS case also (trival)
30460         * lib/yesno.c (yesno): Check for EOL before replacing.
30461         * tests/test-yesno.sh: Add a test case (test along with gettext).
30463 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
30465         fdopendir-tests: test it does not close its arg
30466         * tests/test-fdopendir.c (main): Test that fdopendir does not
30467         close its argument.  From a suggestion by David Grayson in:
30468         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
30470 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30472         gitlog-to-changelog: trim trailing white space
30473         * build-aux/gitlog-to-changelog (main):
30474         Trim trailing white space from commit message lines.
30475         This is helpful for processing the GNU Emacs repository,
30476         which dates back to 1985 and contains a lot of such lines.
30478         gitlog-to-changelog: new option --ignore-matching
30479         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
30480         Support new option --ignore-matching=PAT, which ignores all
30481         commit messages whose first line matches PAT.
30483 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30485         fdopendir: port better to MinGW
30486         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
30487         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
30488         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
30489         * modules/fdopendir (Depends-on): Add dirfd.
30491 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
30493         fdopendir: fix typo in comment
30494         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
30496 2015-03-09  Eric Blake  <eblake@redhat.com>
30498         error: document all entry points provided
30499         * doc/glibc-functions/error_print_progname.texi
30500         (error_print_progname): Mention the error module.
30501         * doc/glibc-functions/error_at_line.texi (error_at_line):
30502         Likewise.
30503         * doc/glibc-functions/error_message_count.texi
30504         (error_message_count): Likewise.
30505         * doc/glibc-functions/error_one_per_line.texi
30506         (error_one_per_line): Likewise.
30508 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30510         vasnprintf: pacify clang 3.5.0
30511         Problem reported by Werner Lemberg in:
30512         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
30513         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
30514         The casts aren't needed, since the characters in question are ASCII.
30516 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30518         glob, etc.: port to MSVC v18 on MS-Windows 8.1
30519         * lib/dirent--.h (GNULIB_defined_opendir):
30520         * lib/dirent.in.h (GNULIB_defined_opendir)
30521         (GNULIB_defined_closedir):
30522         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
30523         #undef only if Gnulib defined it.
30525         poll: port to MSVC v18 on MS-Windows 8.1
30526         Problem reported by Gisle Vanem in:
30527         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
30528         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
30529         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
30530         Add sys_socket.
30532 2015-02-24  Pádraig Brady  <P@draigBrady.com>
30534         tests: support stderr verification with returns_()
30535         * tests/init.sh (returns_): Disable tracing for this wrapper
30536         function, so that stderr of the wrapped command is unchanged,
30537         allowing for verification of the contents.
30539 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
30541         passfd: avoid valgrind uninitalised data warning
30542         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
30543         to include just the fd we've initialized, rather than including
30544         the extra space used for alignment.
30546 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
30548         uniwbrk/u32-wordbreaks-tests: fix copyright
30549         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
30551         dup2: doc and test for Android bug
30552         Reported by Kevin Cernekee in:
30553         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
30554         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30555         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
30557 2015-02-23  Kevin Cernekee  <cernekee@google.com>
30559         Replace dup2() on Android
30560         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
30561         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
30562         fails.  Using rpl_dup2() fixes this because it has an explicit test
30563         for this condition.
30565 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
30567         Android doesn't define RLIM_SAVED_*
30568         Portability problem reported by Kevin Cernekee in:
30569         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
30570         * doc/posix-headers/sys_resource.texi (sys/resource.h):
30571         Mention the portability problem.
30572         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
30573         Define if not defined.
30574         * m4/dup2.m4 (gl_FUNC_DUP2):
30575         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30576         Likewise.
30578 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30580         vasnprintf-posix-tests: use consistent test
30581         * tests/test-vasnprintf-posix.c (test_function):
30582         Use "<" in assert instead of "<=", for consistency with other tests.
30584 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30586         printf, isinf, etc.: noncanonical != NaN
30587         Do not require that isinf, printf, etc. treat noncanonical
30588         values as NaNs.  Instead, require only that they do not crash.
30589         Problem reported by Joseph Myers in:
30590         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
30591         * doc/posix-functions/dprintf.texi (dprintf):
30592         * doc/posix-functions/fprintf.texi (fprintf):
30593         * doc/posix-functions/isfinite.texi (isfinite):
30594         * doc/posix-functions/isinf.texi (isinf):
30595         * doc/posix-functions/isnan.texi (isnan):
30596         * doc/posix-functions/printf.texi (printf):
30597         * doc/posix-functions/snprintf.texi (snprintf):
30598         * doc/posix-functions/sprintf.texi (sprintf):
30599         * doc/posix-functions/vdprintf.texi (vdprintf):
30600         * doc/posix-functions/vfprintf.texi (vfprintf):
30601         * doc/posix-functions/vprintf.texi (vprintf):
30602         * doc/posix-functions/vsnprintf.texi (vsnprintf):
30603         * doc/posix-functions/vsprintf.texi (vsprintf):
30604         Document this.
30605         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
30606         * m4/isinf.m4 (gl_ISINFL_WORKS):
30607         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
30608         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
30609         * tests/test-isfinite.c (test_isfinitel):
30610         * tests/test-isinf.c (test_isinfl):
30611         * tests/test-isnan.c (test_long_double):
30612         * tests/test-isnanl.h (main):
30613         * tests/test-snprintf-posix.h (test_function):
30614         * tests/test-sprintf-posix.h (test_function):
30615         * tests/test-vasnprintf-posix.c (test_function):
30616         * tests/test-vasprintf-posix.c (test_function):
30617         Test only that noncanonical values do not cause crashes, not that
30618         they are treated as NaNs.  In some cases this means a larger
30619         output buffer is needed.
30621 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
30623         fts: remove redundant close() (trivial)
30624         * lib/fts.c (fts_read): Remove redundant call to close().
30625         Spotted by coverity.
30627 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30629         getdtablesize: port better for Android
30630         Problem reported by Kevin Cernekee in:
30631         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
30632         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
30633         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
30634         Instead, just use getrlimit, taking care to avoid Cygwin bug.
30636         poll: fixes for large fds
30637         * lib/poll.c (poll): Don't check directly for NFD too large.
30638         Don't rely on undefined behavior in FD_SET when an arg exceeds
30639         FD_SETSIZE.  Always set revents afterwards, even if to zero.
30640         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
30641         as that makes the test a bit stricter.
30643 2015-02-19  Kevin Cernekee  <cernekee@google.com>
30645         fcntl: Fix cross compiling
30646         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
30647         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
30649 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
30651         dup2, fcntl: cross-compile better for Android
30652         Problem reported by Kevin Cernekee in:
30653         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
30654         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
30655         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
30656         there's little need to cross-compile for older kernels nowadays.
30657         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
30658         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
30660 2015-02-18  Pádraig Brady  <P@draigBrady.com>
30662         getopt: don't crash on memory exhaustion
30663         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
30664         memory exhaustion.  In the _LIBC case we use alloca() as is
30665         already done in glibc, so we don't need to consider the separate
30666         error path in that awkward case.  Also fix a memory leak when
30667         ambiguous options are present.
30668         Reported by Tobias Stoeckmann
30670 2015-02-17  Mike Miller  <mtmiller@ieee.org>
30672         tempname: allow compilation with C++ (trivial)
30673         * lib/tempname.h [C++]: Specify extern "C" linkage.
30674         * lib/tempname.h (try_tempname):
30675         * lib/tempname.c (__try_tempname, __gen_tempname):
30676         Rename 'try' to 'tryfunc'.
30678 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
30680         dup2, fcntl: port to AIX
30681         * m4/dup2.m4 (gl_FUNC_DUP2):
30682         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30683         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
30684         The former works on AIX 7.1 but the latter does not.
30685         Also, this may work better with Android; see:
30686         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
30688 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30690         getdtablesize, dup2, fcntl: port to Android
30691         Problem reported by Kevin Cernekee in:
30692         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
30693         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
30694         Mention that getdtablesize doesn't work on Android.
30695         * lib/getdtablesize.c: Use getrlimit substitute only if
30696         getdtablesize is declared.  This should suffice for Cygwin
30697         while not breaking Android.
30698         * m4/dup2.m4 (gl_FUNC_DUP2):
30699         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30700         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
30701         standardized but the latter is not, and sysconf works on Android.
30702         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
30703         Also check that getdtablesize is declared.
30704         This removes the need for a special case for Android.
30706 2015-02-16  Kevin Cernekee  <cernekee@google.com>
30708         localename: Implement gl_locale_name_thread_unsafe for Android
30709         * lib/localename.c: Android API level >= 21 supports two hardcoded
30710         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
30711         the internal __locale_t struct.
30713 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
30715         fts: avoid crash when a cycle is added while traversing
30716         This could be triggered by auto-mounting a recursive bind mount.
30717         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
30718         * lib/fts.c (fts_read): Avoid removing the original hash table item
30719         when leaving a directory that caused a cycle, and preserve the FTS_DC
30720         flag.
30722 2015-02-16  Daiki Ueno  <ueno@gnu.org>
30724         uniname/uniname: support character alias
30725         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
30726         Generate one-way mapping from aliases to codepoints in the
30727         generated tables.  Special case variation selectors to reduce
30728         table size.
30729         * lib/uniname/uniname.c (unicode_character_name): Special case
30730         variation selectors.
30731         (unicode_name_character): Special case variation selectors and
30732         their aliases.
30733         * lib/uniname/uninames.h: Regenerate.
30734         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
30735         * modules/uniname/uniname-tests (Files): Add
30736         tests/uniname/NameAliases.txt.
30737         * tests/uniname/test-uninames.c: Mark as static.
30738         (ALIASLEN): Define.
30739         (struct unicode_alias): New struct.
30740         (unicode_aliases): New variable.
30741         (fill_aliases): New function.
30742         (test_alias_lookup): New test function.
30743         (main): Run the 'test_alias_lookup' test if the second argument is
30744         given.
30745         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
30746         second argument.
30748 2015-02-11  Kevin Cernekee  <cernekee@google.com>
30750         Fix FILE struct compatibility with Android API level >= 21
30751         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
30752         __sferror.  Recent versions of Bionic's stdio.h no longer define
30753         __sferror.
30754         * lib/fbufmode.c: Likewise.
30755         * lib/fflush.c: Likewise.
30756         * lib/fpurge.c: Likewise.
30757         * lib/freadable.c: Likewise.
30758         * lib/freadahead.c: Likewise.
30759         * lib/freading.c: Likewise.
30760         * lib/freadptr.c: Likewise.
30761         * lib/freadseek.c: Likewise.
30762         * lib/fseeko.c: Likewise.
30763         * lib/fseterr.c: Likewise.
30764         * lib/fwritable.c: Likewise.
30766         Assume unbroken ungetc() on Android
30767         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
30768         test case passed when running on an Android host, and the code
30769         hasn't really changed since 2009.
30771         getdtablesize: Fix Android build
30772         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
30773         versions have this symbol in the .so library (at least 32-bit
30774         platforms) but are missing the declaration in the header file,
30775         causing the m4 logic to guess incorrectly.
30777         localename: Fix Android build
30778         * modules/localename (Depends-on): Add langinfo.
30780         getugroups: Fix Android build
30781         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
30782         functions.
30784         euidaccess: Fix Android build
30785         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
30786         AT_EACCESS gets declared.
30788         linkat_nofollow: Add fallback case for cross compiling
30789         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
30791         net_if: Handle content-free <net/if.h> system headers
30792         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
30793         struct if_nameindex.  If not, enable the replacement header.
30795         signal_h: Fix Android build
30796         * lib/signal.in.h: Add Android to the list of platforms that declare
30797         pthread_sigmask() in <pthread.h> instead of <signal.h>.
30799         duplocale: Fix Android build of duplocale-tests
30800         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
30801         is included by test-duplocale.c (but not by duplocale.c).
30802         * modules/duplocale-tests (configure.ac): Check for monetary.h.
30803         * tests/test-duplocale.c: Skip test if monetary.h is absent.
30804         * doc/posix-headers/monetary.texi: Add Android to the list of
30805         platforms missing monetary.h.
30807 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30809         tests: avoid recent -Werror=unused-variable regression in test-locale
30810         * tests/test-locale.c (main): Reference the variable to avoid the
30811         "unused variable" warning.
30813 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30815         maint: various whitespace cleanups in tempname
30816         * lib/tempname.c: Normalize spacing and line length.
30817         * lib/tempname.h: Likewise.
30818         * modules/tempname: Likewise.
30820 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30822         tests: provide returns_() to simplify exit status checking
30823         * tests/init.sh (returns_): A new function for use in tests,
30824         to allow for easier checking of return values, where you expect
30825         a command to exit with failure status.  By checking for a particular
30826         exit code, you don't hide any crashes for example.
30828 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30830         mountlist: only use libmount when specified
30831         There are currently many shared libs dependencies introduced by
30832         libmount with associated runtime and virt mem overhead.
30833         Therefore don't enable by default.
30834         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
30836 2015-02-08  Daiki Ueno  <ueno@gnu.org>
30838         uniname/unimame-tests: don't link with -lunistring
30839         * modules/uniname/uniname-tests (Makefile.am): Don't link against
30840         $(LIBUNISTRING).  Document the rationale why we need to
30841         conditionalize the test.
30843 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30845         fstrcmp: don't assume strlen < INT_MAX
30846         * lib/fstrcmp.c: Include stddef.h and stdint.h.
30847         (uintptr_t): Remove, as we're now assuming stdint.
30848         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
30849         Prefer ptrdiff_t to int when the value could exceed INT_MAX
30850         if the input string is long.
30851         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
30852         uintptr_t to size_t when the underlying value is a pointer casted
30853         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
30854         * modules/fstrcmp (Depends-on): Add stdint.
30856         diffseq: prefer ptrdiff_t to ssize_t
30857         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
30858         ptrdiff_t is the natural type for signed indexes.
30859         On a few older platforms, ssize_t is narrower than size_t.
30861         xalloc: fix typo that suppressed warnings
30862         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
30863         This typo, introduced a couple of years ago, mistakenly suppressed
30864         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
30865         -Wmissing-declarations warnings.
30867         full-read: fix license notice typo
30868         * lib/full-read.h: Remove a stray line in the license notice.
30869         Reported by Sam Ellis in: http://bugs.gnu.org/19808
30871         crypto/gc: fix a -Wswitch warning
30872         Reported by Bruce Korb in:
30873         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
30874         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
30876 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30878         gnulib-tool: fix handling of patch(1) diagnostics
30879         * gnulib-tool: Send diagnostics from patch(1) to stderr,
30880         as otherwise gnulib-tool will reparse that output and attempt
30881         to lookup modules.
30883 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30885         bootstrap: exit immediately upon gnulib-tool failure
30886         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
30887         This was noticed when gnulib-tool exited early due to failure
30888         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
30889         but various confusing errors were then given as the build proceeded.
30891 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
30893         symlinkat: include all required header files
30894         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
30895         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
30896         Reported at https://savannah.gnu.org/bugs/index.php?44151
30897         and by Jack Howarth.
30899 2015-01-29  Pádraig Brady  <P@draigBrady.com>
30901         localename: support Solaris 12 and illumos
30902         * lib/localename.c (gl_locale_name_thread_unsafe): call
30903         getlocalename_l() on newer __sun platforms.
30904         Reported by Alexander Pyhalov.
30905         Fix suggested by Rich Burridge.
30907 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
30909         locale: fix tests on illumos (trivial)
30910         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
30911         so move from global scope to main().
30913 2015-01-24  Daiki Ueno  <ueno@gnu.org>
30915         unictype: avoid undefined left-shift behavior
30916         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
30917         gcc's -fsanitize=shift and running its tests triggered:
30918           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
30919             places cannot be represented in type 'int'
30920         Cast LHS to 'unsigned int' after integer promotion.
30921         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
30922         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
30924 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30926         libunistring: bump version of unitypes dependants
30927         Due to the header file search order, all the headers which depend
30928         on unitypes.h need to be generated, when the preinstalled
30929         libunistring is older.
30930         * modules/unicase/base (configure.ac): Bump minimum version to
30931         0.9.4.
30932         * modules/uniconv/base (configure.ac): Likewise.
30933         * modules/unilbrk/base (configure.ac): Likewise.
30934         * modules/uninorm/base (configure.ac): Likewise.
30935         * modules/unistdio/base (configure.ac): Likewise.
30936         * modules/unistr/base (configure.ac): Likewise.
30937         * modules/uniwbrk/base (configure.ac): Likewise.
30938         * modules/uniwidth/base (configure.ac): Likewise.
30940 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30942         unictype/category-none: fix link with libunistring
30943         Since _UC_CATEGORY_NONE is not a public symbol, it will be
30944         prefixed with "libstring_" when compiled as part of libunistring.
30945         To avoid undefined symbol at link time, increase the minimum
30946         version when the dependant modules are updated.
30947         * modules/unictype/category-none (configure.ac): Bump minimum
30948         version to 0.9.5.
30950 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30952         unitypes: fix build with installed libunistring
30953         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
30954         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
30955         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
30957 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30959         time: port to MinGW32 3.21
30960         Problem reported by Eli Zaretskii in:
30961         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
30962         * lib/time.in.h:
30963         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
30964         * modules/time (Depends-on):
30965         Fall back on unistd.h if the other include files don't define
30966         struct timespec.
30968         update-copyright: apply to self
30969         * build-aux/update-copyright: Fix copyright date.  How ironic!
30971 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30973         libunistring: update to Unicode 7.0.0
30974         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
30975         Manichaean names.
30976         * lib/unictype/joininggroup_name.h: Likewise.
30977         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
30978         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
30979         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
30980         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
30981         (fill_arabicshaping, joining_group_as_c_identifier): Support those
30982         enum values.
30983         (is_property_alphabetic): Accept newly added characters to
30984         cuneiform numeric signs.
30985         (is_property_default_ignorable_code_point): Reject U+0605.
30986         (FIELDLEN): Increase from 120 to 160.
30987         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
30988         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
30989         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
30990         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
30991         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
30992         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
30993         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
30994         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
30995         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
30996         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
30997         U+1E8D0..U+1E8D6.
30998         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
30999         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31000         lib/uniwidth/width.c.
31001         * all generated files under lib/uni* and tests/uni*: Regenerate.
31003 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31005         libunistring: update to Unicode 6.3.0
31006         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31007         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
31008         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
31009         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
31010         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
31011         Update WB5, WB9, WB10, WB13a, and WB13b.
31012         * tests/uniwbrk/test-uc-wordbreaks.c
31013         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
31014         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31015         (UC_BIDI_PDI): New enumeration values.
31016         (bidi_category_byname): Support those enum values.
31017         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
31018         dedicated property assigned.
31019         (is_property_case_ignorable): Check 0x0027.
31020         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31021         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31022         (output_wbp): Support those enum values.
31023         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31024         (UC_BIDI_PDI): New enumeration values.
31025         * lib/unictype/bidi_byname.gperf: Add those property names.
31026         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
31027         U+180E, U+1A1B, and U+2066..U+2069.
31028         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31029         lib/uniwidth/width.c.
31030         * all generated files under lib/uni* and tests/uni*: Regenerate.
31032 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31034         libunistring: update to Unicode 6.2.0
31035         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
31036         (unilbrk_table): Adjust table size.
31037         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31038         for LBP_RI.
31039         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
31040         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
31041         Normalize table index skipping ignored properties.
31042         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
31043         WBP_EXTEND and WBP_FORMAT, which are now computed without using
31044         the table.
31045         * lib/uniwbrk/wbrktable.h: Adjust table size.
31046         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
31047         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
31048         Support rule GB8a.
31049         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
31050         * tests/unigbrk/test-uc-is-grapheme-break.c
31051         (graphemebreakproperty_to_string): Support GBP_RI.
31052         * tests/uniwbrk/test-uc-wordbreaks.c
31053         (wordbreakproperty_to_string): Support WBP_RI.
31054         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
31055         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
31056         (output_lbp): Support LBP_RI.  Adjust some characters changed from
31057         LBP_AL to LBP_ID.
31058         (output_lbp): Support LBP_RI.
31059         (WBP_RI): New enumeration value.
31060         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31061         (output_wbp): Support WBP_RI.
31062         (GBP_RI): New enumeration value.
31063         (output_gbp_test, fill_org_gbp): Support GBP_RI.
31064         * all generated files under lib/uni* and tests/uni*: Regenerate.
31066 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31068         libunistring: update to Unicode 6.1.0
31069         * lib/gen-uni-tables.c (output_joining_group): Switch to
31070         3-level table to accommodate joining groups defined with higher
31071         codepoint value.  Since there are only 88 groups defined in
31072         Unicode 7.0.0, use 7-bit packed format for level3 entries.
31073         (get_lbp): Update for Unicode 6.1.0.
31074         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
31075         3-level table.
31076         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
31077         joining group name.
31078         * lib/unictype/joininggroup_name.h: Likewise.
31079         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
31080         (unilbrk_table): Adjust table size.
31081         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31082         for LBP_HL.
31083         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
31084         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
31085         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
31086         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
31087         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
31088         U+302E..U+302F.
31089         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31090         lib/uniwidth/width.c.
31091         * all generated files under lib/uni* and tests/uni*: Regenerate.
31092         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
31094 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31096         uniwbrk/u32-wordbreaks-tests: add conformance test
31097         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
31098         tests/uniwbrk/test-uc-wordbreaks.c,
31099         tests/uniwbrk/test-uc-wordbreaks.sh, and
31100         tests/uniwbrk/WordBreakTest.txt.
31101         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
31102         test-uc-wordbreaks to $(check_PROGRAMS), and define
31103         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
31104         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
31105         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
31107 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31109         uniwbrk: ignore Extended/Format characters at BOL not BOS
31110         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
31111         characters if the previous character property is one of
31112         WBP_NEWLINE, WBP_CR, and WBP_LF.
31114 2015-01-11  Jim Meyering  <meyering@fb.com>
31116         test-strstr.c: avoid a trivial leak
31117         * tests/test-strstr.c (main): Free haystack.
31119         update-copyright: recognize groff's \(co marker
31120         * build-aux/update-copyright (circle_c_re): Also accept
31121         uses of \(co, as found in gzip.1.
31123 2015-01-08  Pádraig Brady  <P@draigBrady.com>
31125         maint.mk: fix compatibility with OS X nm
31126         * top/maint.mk (_gl_tight_scope): Use the -g option to
31127         show exported items rather than the -e option which is
31128         ignored on all platforms except OS X where it gives an error.
31129         Reported by Assaf Gordon.
31131 2015-01-07  KO Myung-Hun  <komh@chollian.net>
31133         localcharset: improve charset detection on OS/2
31134         Use system codepage when appropriate.  Map OS/2 codepages to
31135         GNU canonical charset names if possible.
31136         * lib/config.charset: Don't output aliases if "$os" is os2*.
31137         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
31138         result for OS/2.
31139         (locale_charset) [OS2]: Use system codepage if codeset is omitted
31140         from the locale name which is neither "C" nor "POSIX".
31142 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
31144         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
31145         This reverts the last patch but one, as it shouldn't be needed now
31146         that the typo is fixed.
31147         * lib/count-leading-zeros.h (count_leading_zeros_ll):
31148         * lib/count-trailing-zeros.h:
31149         * lib/count-one-bits.h:
31150         Go back to using 64-bit intrinsics.
31152         count-leading-zeros: fix pragma typos
31153         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
31154         Fix typos in declaration of intrinsics when _MSC_VER.
31156 2015-01-06  Pádraig Brady  <P@draigBrady.com>
31158         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
31159         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
31160         intrinsics in this case.
31161         * lib/count-trailing-zeros.h: Likewise.
31162         * lib/count-one-bits.h: Likewise.
31164 2015-01-06  Daiki Ueno  <ueno@gnu.org>
31166         uniname/uniname: update to Unicode 7.0.0
31167         To accommodate new characters added since Unicode 5.1.0, this
31168         changes the internal representation of codepoint ranges.
31169         Previously, we grouped codepoint ranges by manually assigned 4-bit
31170         tag, which only allowed 16 groups.  This removes the limitation by
31171         switching to binary search on a table.  For the detail rationale
31172         and the benchmark results, see:
31173         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
31174         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
31175         to INDEX, as it no longer represents a codepoint.
31176         (range): New struct.
31177         (main): Switch to intervals list from a bit-pattern based
31178         classification.
31179         * lib/uniname/uninames.h: Regenerate.
31180         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
31181         * modules/uniname/base (configure.ac): Bump minimum version to
31182         0.9.5.
31183         * modules/uniname/uniname (configure.ac): Bump minimum version to
31184         0.9.5.
31186 2015-01-05  Eric Blake  <eblake@redhat.com>
31188         doc: update INSTALL from autoconf
31189         * doc/install.texi: Resync from autoconf.
31190         * doc/INSTALL: Reflect recent autoconf update.
31191         * doc/INSTALL.ISO: Likewise.
31192         * doc/INSTALL.UTF-8: Likewise.
31194         stdio: fix use of PRIdMAX on modern mingw
31195         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
31196         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
31197         to work with modern mingw.
31199 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
31201         pthread: detect git mingw builds with only partial pollution
31202         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
31203         pollution, as seen temporarily in Fedora 21.
31205 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31207         lib-symbol-versions: cache script check
31208         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
31209         Cache the check for linker version scripts.
31210         From a suggestion by Christophe Curis in:
31211         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
31213 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
31215         maint: fix grammar nits in propername (trivial change)
31216         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
31217         and use an adequate verb and tense.
31219 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
31221         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
31222         * module/gendocs: Add 'doc/gendocs_template_min'.
31224         * build-aux/gendocs.sh: Change email addresses and upstream URLs
31225         from to Gnulib's.
31226         (scripturl, templateurl): Adjust accordingly.
31228 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31230         gendocs: copyright date and version fix
31231         Reported by Karl Berry in:
31232         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
31233         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
31234         Fix copyright date.
31235         * build-aux/gendocs.sh (scriptversion): Update.
31237 2015-01-01  Karl Berry  <karl@gnu.org>
31239         * doc/install.texi,
31240         * build-aux/mdate-sh,
31241         * build-aux/depcomp,
31242         * build-aux/config.guess,
31243         * build-aux/config.sub,
31244         * build-aux/ar-lib,
31245         * build-aux/compile: revert copyright updates (some from last
31246         year) in slaved files.
31248 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31250         version-etc: new year
31251         * doc/gnulib.texi:
31252         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
31253         * all files: Run 'make update-copyright'.
31255 2014-12-30  Pádraig Brady  <P@draigBrady.com>
31257         xstrtol: ensure errno is reset
31258         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
31259         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
31261         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
31263 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
31265         utimens: fix dependency typo
31266         * modules/utimens (Depends-on): Remove 'assure'.
31267         This bug was introduced in the recent 'assure' patch.
31269 2014-12-22  Eric Blake  <eblake@redhat.com>
31271         docs: mention why libgen.h is bad
31272         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
31274 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
31276         assure: new module
31277         This works better than 'assert' when compiling with -DNDEBUG,
31278         as it avoids some compiler diagnostics in that case.
31279         Reported by Norihiro Tanaka in:
31280         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
31281         * MODULES.html.sh (func_all_modules): Add 'assure'.
31282         * lib/assure.h, modules/assure: New files.
31283         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
31284         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
31285         Prefer 'assure' to 'assert'.
31286         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
31287         * modules/chdir-long, modules/cycle-check, modules/fchdir:
31288         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
31289         Depend on 'assure'.
31291 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
31293         stdalign: port better to HP compilers
31294         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
31295         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
31297         stdalign: work around Apple GCC 4.0 bug
31298         Reported by David Fang in:
31299         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
31300         * lib/stdalign.in.h (_Alignas):
31301         * m4/stdalign.m4 (gl_STDALIGN_H):
31302         Do not use aligned attribute with GCC 4.0 on Apple.
31304 2014-12-16  Pádraig Brady  <P@draigBrady.com>
31306         getcwd: fix test failure on OS X 10.9
31307         * m4/getcwd-path-max.m4: Avoid the replacement if it
31308         won't be effective due to the PATH_MAX limitation of lstat().
31309         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
31310         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
31311         for this case for use in tests, and also exclude this
31312         case when setting REPLACE_GETCWD.
31313         * tests/test-getcwd.c (test_long_name): Restrict the
31314         tested path length so that lstat() will not be passed
31315         a path greater than PATH_MAX.
31316         Also key a test condition on HAVE_OPENAT_SUPPORT rather
31317         than AT_FDCWD, since the latter is set unconditionally
31318         since Sep 2009 in commit 52c658e9.
31320 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
31322         parse-datetime: avoid a compiler warning with byacc (trivial)
31323         * lib/parse-datetime.y (yylex): Use the same prototype in the
31324         function definition as the declaration, to avoid a -Wstrict-prototypes
31325         warning seen when using byacc.
31327 2014-12-12  Daiki Ueno  <ueno@gnu.org>
31329         unicase/locale-language-tests: fix LOCALE_FR test
31330         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
31331         a French locale with traditional encoding.
31332         Reported by umerqayam in:
31333         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
31335 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
31337         stddef: support C11's max_align_t
31338         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
31339         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
31340         Do not undef, as that might cause max_align_t to be defined twice.
31341         Instead, change use to check for _GL_STDDEF_WINT_T too.
31342         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
31343         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
31344         Check for max_align_t.
31345         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
31346         * modules/stddef-tests (Depends-on): Add stdalign.
31347         * tests/test-stddef.c: Test max_align_t.
31349 2014-12-11  Daiki Ueno  <ueno@gnu.org>
31351         unistd: fix iOS check conditional
31352         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
31353         as 0 or 1 in <TargetConditionals.h>, and the previous check always
31354         yielded true on non-iOS environment.
31355         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
31356         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
31357         they are defined.
31359 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
31361         posixtm: avoid compiler warning in a better way
31362         * lib/posixtm.c (IF_LINT): Remove.
31363         (year, posix_time_parse):
31364         Return true (not 0) if successful.  All callers changed.
31365         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
31367 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31369         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
31370         started with '/' on EMX.
31372 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31374         freopen: workaround freopen() on OS/2 kLIBC
31375         * lib/freopen.c (rpl_freopen): Workaround.
31376         * m4/freopen.m4: Add os2* case.
31378         get_shared_library_fullname: port to EMX
31379         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
31380         on EMX, respectively.
31381         (_DLL_InitTerm): New on EMX.
31382         (get_shared_library_fullname): Implement on EMX.
31384         find_executable: port to EMX
31385         * lib/progreloc.c (find_executable): Implement on EMX.
31387         sched: check struct sched_param in spawn.h as well
31388         * lib/sched.in.h: Include spawn.h on kLIBC.
31389         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
31391 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
31393         bootstrap: Allow perl modules in $buildreq
31394         * build-aux/bootstrap: Add case for perl modules.
31396 2014-12-08  Pádraig Brady  <P@draigBrady.com>
31398         apply _GL_ATTRIBUTE_PURE to some inline functions
31399         clang 3.4.2 flagged these inline functions as pure
31400         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
31401         * lib/sig-handler.h (get_handler): Likewise.
31402         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
31403         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
31405 2014-12-06  Pádraig Brady  <P@draigBrady.com>
31407         vasnprintf: fix potential use after free
31408         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
31409         flagged by clang-analyzer 3.4.2.
31411 2014-12-05  Pádraig Brady  <P@draigBrady.com>
31413         filevercmp, posixtm: avoid compiler warnings with -O3
31414         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
31415         * lib/posixtm.c: (IF_LINT): Define.
31416         (posix_time_parse): Use it to void a "may be used uninitialized"
31417         warning, seen only with -O3.
31419 2014-12-05  Bruno Haible  <bruno@clisp.org>
31421         Fix LDBL80_WORDS macro on big endian platforms.
31422         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
31423         LDBL80_WORDS macro.
31424         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31425         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31426         * tests/test-isfinite.c (test_isfinitel): Likewise.
31427         * tests/test-isinf.c (test_isinfl): Likewise.
31428         * tests/test-isnan.c (test_long_double): Likewise.
31429         * tests/test-isnanl.h (main): Likewise.
31430         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
31431         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
31432         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
31433         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
31434         Reported by Pádraig Brady.
31436 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
31438         git-version-gen: do not print new line characters
31439         * build-aux/git-version-gen: Use printf instead of echo and tr.
31441         gnulib-tool: recognize x:* as an absolute path
31442         * gnulib-tool (func_gnulib_dir): Add ?:* case.
31443         (func_relconcat): Likewise.
31445 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
31447         argp: avoid extraneous translation and mem leak with empty pre doc
31448         * lib/argp-help.c (argp_doc): Never translate the empty string,
31449         when "\v" is the first or last character of the string, as that
31450         has a reserved meaning to return the header info from a po file.
31451         This also fixes a small memory leak in the !post case.
31452         The issue can be seen with this command for example:
31453         LC_MESSAGES=en_US grub2-mknetdir --help
31455 2014-11-27  Daiki Ueno  <ueno@gnu.org>
31457         uniname/uniname-tests: skip if system's libunistring is used
31458         * modules/uniname/uniname-tests (Makefile.am): Skip test if
31459         uniname/uniname module is not compiled.
31461 2014-11-27  Pádraig Brady  <P@draigBrady.com>
31463         printf: fix configure check on big endian systems
31464         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
31466 2014-11-22  Daiki Ueno  <ueno@gnu.org>
31468         pipe-filter-gi, pipe-filter-ii: port to AIX
31469         On AIX 7.1, 'select' is defined as static and cannot be referred
31470         to from inline function.
31471         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
31472         the definition...
31473         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
31474         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
31476 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31478         gitlog-to-changelog: add --until
31479         * build-aux/gitlog-to-changelog: Support new --until option.
31480         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
31482 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31484         extern-inline: update commentary about GCC bugs
31485         * m4/extern-inline.m4: Add another GCC bug number to comments.
31487 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31489         gen-uni-tables: untabify
31490         * lib/gen-uni-tables.c: Untabify.
31492 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31494         gen-uni-tables: check out-of-range values added to 3-level tables
31495         * lib/gen-uni-tables.c (output_category, output_bidi_category)
31496         (output_joining_type, output_ident_category): Check out-of-range
31497         values added to 3-level tables.
31499 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31501         gen-uni-tables: utilize 'assert'
31502         * lib/gen-uni-tables.c: Include <assert.h>.
31503         (output_category, output_combclass, output_decimal_digit_test)
31504         (output_decimal_digit, output_digit_test, output_digit)
31505         (output_numeric, get_mirror_value, fill_properties)
31506         (fill_property30, is_property_alphabetic)
31507         (is_property_default_ignorable_code_point)
31508         (is_property_uppercase, is_property_lowercase)
31509         (is_property_cased, is_property_case_ignorable)
31510         (is_property_changes_when_lowercased, is_property_iso_control)
31511         (is_property_math, fill_arabicshaping, output_joining_group)
31512         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
31513         (output_wbp, fill_org_gbp, get_decomposition)
31514         (output_decomposition, fill_composition_exclusions)
31515         (debug_output_composition_tables, output_composition_tables)
31516         (redistribute_casefolding_rules, output_casing_rules): Use
31517         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
31518         reporting.
31520 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31522         gen-uni-tables: cosmetic improvements
31523         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
31524         variables specification.
31525         (is_outdigit): Remove unused function.
31527 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
31529         fcntl-h-tests: port to PA-RISC GNU/Linux
31530         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
31532 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
31534         fts: port to C89
31535         Problem reported for MSVC 16 by Gisle Vanem in:
31536         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
31537         * lib/fts.c (fts_build): Avoid declaration before statement.
31539 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31541         unistd: port to iOS
31542         Problem reported by André Klitzing in:
31543         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
31544         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
31546 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
31548         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
31549         Problem reported by Alan Modra in:
31550         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
31551         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
31552         Always cast the function arg, reverting this part of the previous
31553         change.
31555 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
31557         obstack: avoid potentially-nonportable function casts
31558         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
31559         Remove, replacing with ...
31560         (call_chunkfun, call_freefun): New static functions.
31561         All uses changed.  Avoid potentially-nonportable casts.
31562         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
31563         (_obstack_begin_worker): Omit last two args, since they
31564         rely on potentially-nonportable casts.  All callers changed.
31565         * lib/obstack.h (_OBSTACK_CAST): New macro.
31566         Use it everywhere the old API used a potentially-nonportable cast.
31567         The new API doesn't cast.
31568         (struct obstack): Use unions rather than requiring
31569         potentially-nonportable casts.
31570         (obstack_chunkfun, obstack_freefun): Return void.
31572 2014-11-03  Alan Modra  <amodra@gmail.com>
31574         obstack: fix macro return values
31575         * lib/obstack.h (obstack_next_free): Return void *.
31576         (obstack_1grow_fast, obstack_blank_fast): Return void.
31577         For __GNUC__ macros:
31578         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
31579         For !__GNUC__ macros:
31580         (obstack_make_room, obstack_grow, obstack_grow0)
31581         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
31583 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31585         obstack: do not assume system-supplied obstack is size_t safe
31586         * m4/obstack.m4: New file.
31587         * modules/obstack (Files): Add it.
31589         obstack: port to platforms that #define __alignof__
31590         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
31591         not if !_LIBC.  We don't know of any platforms that #define
31592         __alignof__, but it might be useful in tests.  Conversely,
31593         glibc assumes GCC.
31595 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31597         linkat: don't unconditionally replace on GNU/Linux
31598         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
31599         was redundant for a few reasons.  It was present to support compiling
31600         on new systems but running on the old narrow window of Linux 2.6.1[67].
31601         It setup and cleaned up test files which weren't actually used.
31602         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
31603         implicit in the following check.
31605 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31607         linkat: wrap to handle symlinks on OS X 10.10
31608         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
31609         but not usable because it doesn't support creating hardlinks
31610         to symlinks.  Therefore add a generic test for this capability
31611         and fallback to our emulation if linkat() fails with ENOTSUP.
31613 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
31615         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
31616         * doc/posix-functions/open.texi (open):
31617         * doc/posix-functions/openat.texi (openat):
31618         Document that these functions do not set errno to ELOOP when
31619         a symlink is opened with O_NOFOLLOW.
31621 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
31623         obstack: add NEWS entry for recent incompatible changes
31624         * NEWS: Describe recent changes.
31626 2014-10-30  Pádraig Brady  <P@draigBrady.com>
31628         mountlist: don't use libmount to decide on dummy/remote
31629         * lib/mountlist.c (read_file_system_list): Don't use the libmount
31630         routines to determine whether a file system is dummy or remote,
31631         as they're not currently compatible.  For example the remoteness
31632         is determined on file system type (for which the list seems incomplete),
31633         rather than simply checking for a ':' in the device name.
31634         Also libmount currently determines that 'tmpfs' is a dummy file system
31635         even though it has associated storage.
31637 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
31639         obstack: prefer __alignof__ to alignof
31640         This is for portability to pre-4.7 GCC when compiling glibc.
31641         See Joseph S. Myers in:
31642         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
31643         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
31644         New macro, defined by including and using <alignof.h>.
31645         (MAX): New macro.
31646         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
31647         Do not use enums as they are not portable to some broken compilers.
31648         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
31650         obstack: prefer alignof to calculating alignments by hand
31651         * lib/obstack.c: Include <stdalign.h>.
31652         (struct fooalign): Remove.
31653         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
31654         * modules/obstack (Depends-on): Add stdalign.
31656 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
31658         obstack: use size_t alignments and check for overflow
31659         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
31660         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
31661         * lib/obstack.h (struct obstack.alignment_mask):
31662         Use _OBSTACK_SIZE_T, not int, for alignments.
31663         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
31664         overflows, e.g., when adding the alignment.
31666 2014-10-29  Alan Modra  <amodra@gmail.com>
31668         obstack: 64-bit obstack support, part 3
31669         This finally enables full 64-bit obstack support.  The glibc
31670         shared library specific code is removed from obstack.c too, and
31671         the error handling code conditionally compiled under control of
31672         another macro, _OBSTACK_NO_ERROR_HANDLER.
31673         * lib/obstack.h: Include string.h earlier.
31674         (_OBSTACK_INTERFACE_VERSION): Define.
31675         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
31676         * lib/obstack.c: Don't include shlib-compat.h.
31677         (OBSTACK_INTERFACE_VERSION): Delete.
31678         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
31679         glibc code is compatible with version 2.  Don't include stdio.h for
31680         __GNU_LIBRARY.
31681         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
31682         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
31683         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
31684         glibc shared library specific source.
31686         obstack: 64-bit obstack support, part 2
31687         This gets us 4G obstack support, without changing ABI
31688         compatibility, apart from possibly introducing some
31689         signed/unsigned comparison warnings in code that uses obstack.h.
31690         a) Replace "int" size parameters, return values, and macro local vars
31691            with _OBSTACK_SIZE_T, an "unsigned int" for now.
31692         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
31693         c) Make all obstack macros checking available room use obstack_room.
31694            "next_free + desired > chunk_limit" may wrap the lhs for chunks
31695            allocated near the top of memory.
31696         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
31697         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
31698         in place of "int" size parameters, return values and local vars.
31699         (_CHUNK_SIZE_T): Define.
31700         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
31701         union use an _OBSTACK_SIZE_T integer type.
31702         For __GNUC__ versions of the following macros...
31703         (obstack_room): Rename local var.
31704         (obstack_make_room): Use obstack_room.
31705         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31706         obstack_int_grow, obstack_blank): Likewise.
31707         (obstack_finish): Use unsigned comparison when comparing aligned
31708         next_free against chunk_limit.
31709         (obstack_free): Cast OBJ to remove possible const qualifier.
31710         For !__GNUC__ versions of the following macros...
31711         (obstack_make_room): Use obstack_room.
31712         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31713         obstack_int_grow, obstack_blank): Likewise.
31714         (obstack_finish): Use unsigned comparision when comparing aligned
31715         next_free against chunk_limit.
31716         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
31717         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
31718         _OBSTACK_SIZE_T.
31719         (_obstack_begin, _obstack_begin_1): Likewise.
31720         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
31721         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
31723         obstack: 64-bit obstack support, part 1
31724         a) Correct calls to alloc function, to use a size_t arg.  "long" is
31725            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
31726            and "size_t" 64 bits.
31727         b) Consolidate _obstack_begin and _obstack_begin1 code.
31728         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
31729         use "size_t" rather than "long".
31730         (_obstack_begin, _obstack_begin1): Likewise.
31731         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
31732         obstack_chunkfun): Update alloc function casts.
31733         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
31734         (chunkfun_type, freefun_type): New typdefs.
31735         (_obstack_begin_worker): Split out from ..
31736         (_obstack_begin, _obstack_begin_1): ..here.
31738         obstack: tidy part 2
31739         a) Don't be concerned about "not polluting the namespace with stddef.h
31740            symbols" in obstack.h, since gnulib string.h includes stddef.h
31741            anyway, and it seems unlikely that anyone would care.
31742         b) Don't roll our own slow memcpy in _obstack_newchunk.
31743         c) Rename obstack_free to _obstack_free.  This makes the naming
31744            consistent with other obstack functions and obviates the need for
31745            __obstack_free.  Ancient obstack.c defined both obstack_free and
31746            _obstack_free.  We continue to do that for _LIBC via an alias.
31747         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
31748            is clever, but nowadays gcc warns on undefined macros.  You'll get
31749            an undefined macro warning if simulating an old gcc with -U__GNUC__
31750            -U__GNUC_MINOR__ -D__GNUC__=1.
31751         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
31752         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
31753         (__obstack_free): Delete, update refs.
31754         (_obstack_free): Rename from obstack_free.
31755         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
31756         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
31757         * lib/obstack.c: Don't include stddef.h.
31758         (COPYING_UNIT): Delete.
31759         (_obstack_begin): Formatting fix.
31760         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
31761         (_obstack_free): Rename from __obstack_free, update alias.  Move
31762         undef of obstack_free to where it is needed.
31764         obstack: tidy part 1
31765         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
31766            to me, and result in overlong lines after later patches.
31767         b) Move error handling code, to avoid a forward declaration and to
31768            simplify later patches in this series.
31769         * lib/obstack.h (struct obstack <temp>): Rename fields of union
31770         and update all uses.
31771         * lib/obstack.c: Include stdlib.h earlier.
31772         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
31773         in file.
31774         (print_and_abort): Remove now redundant forward declaration.
31776 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31778         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
31779         Without this change, in bleeding-edge fileutils Autoconf complains
31780         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
31781         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
31782         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
31783         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
31785 2014-10-24  Daiki Ueno  <ueno@gnu.org>
31787         iconv: avoid false detection of non-working iconv
31788         The INBUF arguments of iconv can be either 'const char **'
31789         or 'char **'.  If CC is g++, the difference causes a compile error
31790         and thus leads to a false detection of non-working iconv.
31791         Reported by Eli Zaretskii and Werner LEMBERG in:
31792         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
31793         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
31794         iconv.  Bump serial number.
31796 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31798         bootstrap: print more diagnostics for missing programs
31799         * build-aux/bootstrap: only suppress stderr when checking for
31800         alternative program names.  This supports programs issuing non
31801         standard error messages.
31803 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31805         bootstrap: only update the gnulib submodule
31806         * build-aux/bootstrap: Restrict the "submodule update" command
31807         to the gnulib path.
31809 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31811         symlinkat: port to AIX 7.1
31812         * doc/posix-functions/symlinkat.texi (symlinkat):
31813         Mention AIX porting problem.
31814         * lib/symlinkat.c: Always include errno.h.
31815         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
31816         * lib/unistd.in.h (symlinkat): Add replacement machinery.
31817         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
31818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
31819         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
31820         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
31821         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
31823         readlinkat: port to AIX 7.1
31824         * doc/posix-functions/readlink.texi (readlink):
31825         * doc/posix-functions/readlinkat.texi (readlinkat):
31826         Mention AIX porting problem.
31827         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
31828         New function.
31829         * lib/unistd.in.h (readlinkat): Add replacement machinery.
31830         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
31831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
31832         * modules/readlinkat (configure.ac): Also compile replacement
31833         if REPLACE_READLINKAT.
31834         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
31836 2014-10-12  Karl Berry  <karl@gnu.org>
31838         * doc/posix-functions/dirname.texi: remove spurious {.
31840 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
31842         basename, dirname: Improve documentation.
31843         * doc/posix-functions/basename.texi: Mention dirname module and
31844         base_name() function.
31845         * doc/posix-functions/dirname.texi: Mention dir_name() and
31846         mdir_name() functions.
31847         Suggested by Werner LEMBERG <wl@gnu.org>.
31849 2014-09-24  Jim Meyering  <meyering@fb.com>
31851         exclude: declare exclude_patopts static
31852         * lib/exclude.c (exclude_patopts): Declare static,
31853         to avoid triggering a -Wmissing-prototypes warning.
31854         The alternative (declaring it in the .h file) would
31855         require publicizing the private "struct patopts".
31857 2014-09-21  Werner Lemberg  <wl@gnu.org>
31859         dirname: support compilation with C++
31860         * lib/dirname.h: Add necessary C linkage declarations.
31862 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
31864         qsort_r: include <config.h>
31865         Problem reported by Tom G. Christensen in:
31866         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
31867         * lib/qsort.c [!_LIBC]: Include <config.h> first.
31869 2014-09-16  Dylan Cali  <calid1984@gmail.com>
31871         avltree-list: avoid compiler warnings (trivial)
31872         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31873         -Werror=suggest-attribute=pure.
31874         * lib/gl_array_list.c: Likewise.
31875         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
31876         declaration to avoid -Werror=missing-prototypes.  This is not added
31877         to a header as only exported for tests.  Add (void) to the
31878         check_invariants() call to indicate we're discarding the result
31879         in this context which avoids -Werror=unused-value.  Note we don't
31880         use ignore_value here to avoid a dependency as we know we'll not
31881         be adding __attribute__((warn_unused_result)) to check_invariants().
31882         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
31884 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
31886         qsort_r: new module, for GNU-style qsort_r
31887         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
31889 2014-09-15  Werner LEMBERG  <wl@gnu.org>
31891         strerror_r-posix: support compilation with C++
31892         * lib/strerror_r.c: Add necessary C linkage declarations.
31894 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
31896         fcntl-h: fix compilation with Intel C++ compiler (trivial)
31897         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
31899 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
31901         mountlist: use /proc/self/mountinfo when available
31902         Use libmount to propagate device IDs provided by Linux in
31903         /proc/self/mountinfo.  This will give more accurate output when
31904         using df in chroot'ed environments as the device IDs are not
31905         determined by stat() which may be inaccurate within the chroot.
31906         * lib/mountlist.c (read_file_system_list): Use the libmount routines
31907         from util-linux to parse "/proc/self/mountinfo" or fall back to
31908         standard getmntent() processing.
31909         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
31910         getmntent() is used, as is the case on GNU/Linux.
31912 2014-09-07  Eric Wong  <normalperson@yhbt.net>
31914         users.txt: add cmogstored
31915         cmogstored has used gnulib since the beginning in 2012 to support
31916         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
31918 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31920         Trivial change.
31921         * gnulib-tool: Use same options as build-aux/bootstrap to download
31922         PO files.
31924 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31926         Trivial change.
31927         * gnulib-tool: Fallback to wget when rsync of PO files fails.
31929 2014-09-04  Eric Blake  <eblake@redhat.com>
31931         maintainer-makefile: add syntax check for useless ';;'
31932         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
31934 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
31936         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
31937         Problem reported by Assaf Gordon in:
31938         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
31939         Apparently Ubuntu is doing some fancy link-time optimization
31940         that doesn't work with -lpthread but does work with -pthread.
31941         Work around the bug by preferring -pthread to -lpthread.
31942         * m4/pthread.m4 (gl_PTHREAD_CHECK):
31943         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
31944         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
31945         Treat -pthread like -lpthread.
31947 2014-09-04  Eric Blake  <eblake@redhat.com>
31949         error: drop spurious semicolon
31950         * lib/error.c (__error_at_line): Fix ';;'.
31952 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
31954         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
31955         * m4/gnulib-common.m4 (AC_C_RESTRICT):
31956         Override AC_C_RESTRICT unconditionally.
31957         Update from autoconf, incorporating:
31958         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
31959         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
31961 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31963         manywarnings: add GCC 4.9 warnings
31964         Also, make it easier to maintain this in the future.
31965         * build-aux/gcc-warning.spec: Add -Wabi-tag,
31966         -Wconditionally-supported, -Wdelete-incomplete,
31967         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
31968         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
31969         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
31970         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
31971         only for older GCC versions that need them.  Handle
31972         -Wnormalized=nfc specially, so that the 'comm' command used
31973         for maintenance doesn't get confused.
31975 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31977         vasnprintf: fix bugs in width computation
31978         * lib/vasnprintf.c (VASNPRINTF):
31979         Rework previous change, which introduced a bug,
31980         to avoid the warning in a different way.
31981         Avoid undefined behavior if the width arg is less than -INT_MAX.
31982         Avoid unnecessary use of HAS_WIDTH local.
31984 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
31986         vasnprintf: Avoid signed/unsigned comparison warning.
31987         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
31988         compare end addr of generated string w/ maximum end addr.
31990 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
31992         parse-datetime: Avoid pointer difference.
31993         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
31994         instead of calculating difference of pointers.  This removes an
31995         annoying warning, devoid of any use.
31997 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31999         qsort_r: new module, for GNU-style qsort_r
32000         This works even on FreeBSD, which has an incompatible qsort_r API.
32001         * MODULES.html.sh: Add it.
32002         * doc/glibc-functions/qsort_r.texi: It's now supported.
32003         * lib/qsort.c: New file, taken from glibc with minor changes
32004         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
32005         removed.
32006         * lib/qsort_r.c: New file, compiled only on FreeBSD.
32007         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
32008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
32009         * modules/qsort_r, modules/qsort_r-tests: New files.
32010         * modules/stdlib (Makefile): Set up its defaults.
32011         * tests/test-qsort_r.c: New file.
32013 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
32015         vla: new module
32016         GNU RCS can use this, mostly for documentation I expect.  See:
32017         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
32018         * MODULES.html.sh: Add vla.
32019         * lib/vla.h, modules/vla: New files.
32021 2014-08-07  Daiki Ueno  <ueno@gnu.org>
32023         localename: make gl_locale_name_thread really thread-safe on Windows
32024         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
32025         "glthread/lock.h".
32026         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
32027         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
32029 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
32031         getpass: don't assume struct termios
32032         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
32033         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
32034         * lib/getpass.c (getpass): Port to systems lacking struct termios.
32036         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
32037         Problem reported by Jonas 'Sortie' Termansen in:
32038         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
32039         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
32040         Implement via sysconf for platforms that lack getdtablesize.
32042         vararrays: modernize AC_C_VARARRAYS for C11
32043         This backports a change I recently made to Autoconf.
32044         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
32045         VLAs are not supported, as this is what C11 does.  The old macro
32046         HAVE_C_VARARRAYS is still defined if they are supported, but is
32047         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
32049 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
32051         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
32052         * build-aux/install-reloc (func_create_wrapper): Also wrap
32053         strerror-override, stat, stat.
32055 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
32057         sys_select: fix FD_ZERO problem on Solaris 10
32058         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
32059         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
32060         to expand to an expression that invoked memset without necessarily
32061         including <string.h>.  The problem was that the first include
32062         defined _SYS_TIME_H, causing the second include to short-circuit.
32063         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
32064         Also, fix what appears to be a cut-and-paste typo, by replacing
32065         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
32066         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
32068         accept: document Solaris 10 type glitch
32069         * doc/posix-functions/accept.texi (accept): Mention that
32070         Solaris 10 'accept' takes void * last arg, not socklen_t *.
32072 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
32074         extern-inline: port to FreeBSD, DragonFly
32075         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
32076         is present if either __DragonFly__ or __FreeBSD__ is defined.
32077         FreeBSD problem reported by Andrey Borzenkov in:
32078         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
32079         Also, worry about __APPLE__ only if __MACH__ is also defined,
32080         as this is more consistent with the rest of gnulib.
32081         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
32082         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
32084 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
32086         regex: Make #if/#ifdef usage consistent for DEBUG
32087         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
32088         of the inconsistent usage of #if and #ifdef as that works with
32089         both Glibc and Gnulib's style.
32091 2014-07-31  Eric Blake  <eblake@redhat.com>
32093         openat-die: use _Noreturn markup
32094         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
32095         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
32096         _Noreturn.
32098 2014-07-30  Eric Blake  <eblake@redhat.com>
32100         test-open: port to cygwin, which lacks Fortify
32101         * tests/test-open.h (ALWAYS_INLINE): New macro.
32102         (__always_inline): Don't abuse internal symbol on non-glibc.
32104 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
32106         localename: Enforce declarations before statements.
32107         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
32108         first statement.
32110 2014-07-18  Jim Meyering  <meyering@fb.com>
32112         test-userspec: don't look up numeric user names
32113         * tests/test-userspec.c: I found a system for which getpwnam("0")
32114         returned a pointer to a non-root user's entry, and that made the
32115         test fail.
32116         (T): Prefix each numeric input with "+", to inhibit lookup.
32118 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
32120         localcharset, localename: MS-Windows support for non-default locales
32121         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
32122         falling back on the default system codepage, try extracting
32123         the codepage from what 'setlocale' returns.  This allows to
32124         take into account changes of the codeset due to non-default
32125         locale set by a previous call to 'setlocale'.
32126         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
32127         Define if not already defined.
32128         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
32129         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
32130         current locale by calling 'setlocale', then converting the
32131         locale name into LCID by calling 'get_lcid'.  This allows to
32132         take into account changes in the current locale from the
32133         default one, in contrast to GetThreadLocale.
32135 2014-07-14  Daiki Ueno  <ueno@gnu.org>
32137         announce-gen: avoid failure when Digest::SHA is installed
32138         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
32139         Digest::SHA1->new in print_checksums fails.
32140         * build-aux/announce-gen (digest_classes): New associative array
32141         for available message digest implementations.
32142         (print_locations): Use it.
32144 2014-07-13  Pádraig Brady  <P@draigBrady.com>
32146         gettext: revert "update macros to version 0.19"
32147         This reverts commit 9b9370ca, as it currently requires that
32148         developers of any project that explicitly uses the gettext module
32149         or implicitly uses it through the utimens-tests or
32150         futimens-tests modules, use gettext >= 0.19.
32151         However there are some stability and availablity issues with
32152         that version at present.  We can reinstate this soon, when stability
32153         is addressed and packages are more readily available.
32155 2014-07-12  Jim Meyering  <meyering@fb.com>
32157         regex: don't deref NULL upon heap allocation failure
32158         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
32159         failure in one more place.
32160         To trigger the segfault, configure grep -with-included-regex,
32161         build it, and run these commands:
32162         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
32163         I discovered this while replying to a private report from
32164         Jens Schleusener about excessive memory consumption by grep
32165         when using a regular expression like the one above.
32167 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
32169         regex: fix memory leak in compiler
32170         Fix by Andreas Schwab in:
32171         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
32172         * lib/regcomp.c (parse_reg_exp): Deallocate partially
32173         constructed tree before returning error.
32175 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32177         announce-gen: avoid perl warnings
32178         * build-aux/announce-gen: add two minor checks to avoid
32179         "use of uninitialized value" warnings when command-line parameters are
32180         missing.
32182 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32184         localename: avoid -Wsuggest-attribute={const,pure} warnings
32185         * lib/localename.c (string_has): Tag internal function as pure.
32186         * lib/localename.h (gl_locale_name_default): Tag extern declaration
32187         as const when appropriate.
32189 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
32191         nl_langinfo: Fix last change.
32192         * lib/nl_langinfo.c (includes): Drop redundant include.
32194 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
32196         error: Fix -Wundef warnings in glibc
32197         * lib/error.c [_LIBC]: Define default macros for
32198         glibc.
32199         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
32200         Check _LIBC before STRERROR_R_CHAR_P.
32202         error: Sync from glibc master
32203         * lib/error.c [_LIBC]: Remove INTUSE usage.
32204         (error_tail): Remove unused macro ALLOCA_LIMIT.
32205         Fix potential buffer overflow.  Fix potential NULL dereference
32206         in strcmp.
32208 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
32210         nl_langinfo: fix build under mingw
32211         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
32213 2014-07-09  Andrew D Warshall  <warshall@99main.com>
32215         mountlist: do not classify a bind-mounted dir entry as "dummy"
32216         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
32217         1-argument getmntent() (instead of assuming absence).
32219 2014-07-08  Eric Blake  <eblake@redhat.com>
32221         maint.mk: less syntax-check noise when SIGPIPE is ignored
32222         * top/maint.mk (_sc_header_without_use)
32223         (sc_require_config_h_first): Parse full list.
32225 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
32226             Paul Eggert  <eggert@cs.ucla.edu>
32228         nl_langinfo: CODESET on MS-Windows and more items from localeconv
32229         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
32230         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
32231         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
32232         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
32233         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
32234         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
32235         Include <stdio.h> if Microsoft Windows.
32236         Include <time.h> if !REPLACE_NL_LANGINFO.
32237         (ctype_codeset): New function, taken from rpl_nl_langinfo,
32238         and with improvements for Microsoft Windows.
32239         (rpl_nl_langinfo): Use it.
32240         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
32241         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
32242         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
32243         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
32244         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
32245         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
32246         corresponding values returned by 'localeconv'.  Compute the values
32247         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
32248         'strftime' with a suitable struct tm value.
32250 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
32252         Bruno Haible has stepped down as maintainer.
32253         See Karl Berry in:
32254         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
32255         Daiki Ueno has volunteered to maintain libunistring; see:
32256         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
32257         * modules/gen-uni-tables, modules/libunistring:
32258         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
32259         * modules/unicase/base, modules/unicase/cased:
32260         * modules/unicase/empty-prefix-context:
32261         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
32262         * modules/unicase/locale-language, modules/unicase/special-casing:
32263         * modules/unicase/tocasefold, modules/unicase/tolower:
32264         * modules/unicase/totitle, modules/unicase/toupper:
32265         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
32266         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
32267         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
32268         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
32269         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
32270         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
32271         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
32272         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
32273         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
32274         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
32275         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
32276         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
32277         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
32278         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
32279         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
32280         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
32281         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
32282         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
32283         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
32284         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
32285         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
32286         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
32287         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
32288         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
32289         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
32290         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
32291         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
32292         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
32293         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
32294         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
32295         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
32296         * modules/unicase/ulc-casexfrm, modules/unicodeio:
32297         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
32298         * modules/uniconv/u16-conv-to-enc:
32299         * modules/uniconv/u16-strconv-from-enc:
32300         * modules/uniconv/u16-strconv-from-locale:
32301         * modules/uniconv/u16-strconv-to-enc:
32302         * modules/uniconv/u16-strconv-to-locale:
32303         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
32304         * modules/uniconv/u32-strconv-from-enc:
32305         * modules/uniconv/u32-strconv-from-locale:
32306         * modules/uniconv/u32-strconv-to-enc:
32307         * modules/uniconv/u32-strconv-to-locale:
32308         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
32309         * modules/uniconv/u8-strconv-from-enc:
32310         * modules/uniconv/u8-strconv-from-locale:
32311         * modules/uniconv/u8-strconv-to-enc:
32312         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
32313         * modules/unictype/bidicategory-all:
32314         * modules/unictype/bidicategory-byname:
32315         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
32316         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
32317         * modules/unictype/bidiclass-byname:
32318         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
32319         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
32320         * modules/unictype/block-all, modules/unictype/block-list:
32321         * modules/unictype/block-of, modules/unictype/block-test:
32322         * modules/unictype/category-C, modules/unictype/category-Cc:
32323         * modules/unictype/category-Cf, modules/unictype/category-Cn:
32324         * modules/unictype/category-Co, modules/unictype/category-Cs:
32325         * modules/unictype/category-L, modules/unictype/category-LC:
32326         * modules/unictype/category-Ll, modules/unictype/category-Lm:
32327         * modules/unictype/category-Lo, modules/unictype/category-Lt:
32328         * modules/unictype/category-Lu, modules/unictype/category-M:
32329         * modules/unictype/category-Mc, modules/unictype/category-Me:
32330         * modules/unictype/category-Mn, modules/unictype/category-N:
32331         * modules/unictype/category-Nd, modules/unictype/category-Nl:
32332         * modules/unictype/category-No, modules/unictype/category-P:
32333         * modules/unictype/category-Pc, modules/unictype/category-Pd:
32334         * modules/unictype/category-Pe, modules/unictype/category-Pf:
32335         * modules/unictype/category-Pi, modules/unictype/category-Po:
32336         * modules/unictype/category-Ps, modules/unictype/category-S:
32337         * modules/unictype/category-Sc, modules/unictype/category-Sk:
32338         * modules/unictype/category-Sm, modules/unictype/category-So:
32339         * modules/unictype/category-Z, modules/unictype/category-Zl:
32340         * modules/unictype/category-Zp, modules/unictype/category-Zs:
32341         * modules/unictype/category-all, modules/unictype/category-and:
32342         * modules/unictype/category-and-not, modules/unictype/category-byname:
32343         * modules/unictype/category-longname, modules/unictype/category-name:
32344         * modules/unictype/category-none, modules/unictype/category-of:
32345         * modules/unictype/category-or, modules/unictype/category-test:
32346         * modules/unictype/category-test-withtable:
32347         * modules/unictype/combining-class:
32348         * modules/unictype/combining-class-all:
32349         * modules/unictype/combining-class-byname:
32350         * modules/unictype/combining-class-longname:
32351         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
32352         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
32353         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
32354         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
32355         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
32356         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
32357         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
32358         * modules/unictype/digit, modules/unictype/joininggroup-all:
32359         * modules/unictype/joininggroup-byname:
32360         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
32361         * modules/unictype/joiningtype-all:
32362         * modules/unictype/joiningtype-byname:
32363         * modules/unictype/joiningtype-longname:
32364         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
32365         * modules/unictype/mirror, modules/unictype/numeric:
32366         * modules/unictype/property-all, modules/unictype/property-alphabetic:
32367         * modules/unictype/property-ascii-hex-digit:
32368         * modules/unictype/property-bidi-arabic-digit:
32369         * modules/unictype/property-bidi-arabic-right-to-left:
32370         * modules/unictype/property-bidi-block-separator:
32371         * modules/unictype/property-bidi-boundary-neutral:
32372         * modules/unictype/property-bidi-common-separator:
32373         * modules/unictype/property-bidi-control:
32374         * modules/unictype/property-bidi-embedding-or-override:
32375         * modules/unictype/property-bidi-eur-num-separator:
32376         * modules/unictype/property-bidi-eur-num-terminator:
32377         * modules/unictype/property-bidi-european-digit:
32378         * modules/unictype/property-bidi-hebrew-right-to-left:
32379         * modules/unictype/property-bidi-left-to-right:
32380         * modules/unictype/property-bidi-non-spacing-mark:
32381         * modules/unictype/property-bidi-other-neutral:
32382         * modules/unictype/property-bidi-pdf:
32383         * modules/unictype/property-bidi-segment-separator:
32384         * modules/unictype/property-bidi-whitespace:
32385         * modules/unictype/property-byname:
32386         * modules/unictype/property-case-ignorable:
32387         * modules/unictype/property-cased:
32388         * modules/unictype/property-changes-when-casefolded:
32389         * modules/unictype/property-changes-when-casemapped:
32390         * modules/unictype/property-changes-when-lowercased:
32391         * modules/unictype/property-changes-when-titlecased:
32392         * modules/unictype/property-changes-when-uppercased:
32393         * modules/unictype/property-combining:
32394         * modules/unictype/property-composite:
32395         * modules/unictype/property-currency-symbol:
32396         * modules/unictype/property-dash:
32397         * modules/unictype/property-decimal-digit:
32398         * modules/unictype/property-default-ignorable-code-point:
32399         * modules/unictype/property-deprecated:
32400         * modules/unictype/property-diacritic:
32401         * modules/unictype/property-extender:
32402         * modules/unictype/property-format-control:
32403         * modules/unictype/property-grapheme-base:
32404         * modules/unictype/property-grapheme-extend:
32405         * modules/unictype/property-grapheme-link:
32406         * modules/unictype/property-hex-digit:
32407         * modules/unictype/property-hyphen:
32408         * modules/unictype/property-id-continue:
32409         * modules/unictype/property-id-start:
32410         * modules/unictype/property-ideographic:
32411         * modules/unictype/property-ids-binary-operator:
32412         * modules/unictype/property-ids-trinary-operator:
32413         * modules/unictype/property-ignorable-control:
32414         * modules/unictype/property-iso-control:
32415         * modules/unictype/property-join-control:
32416         * modules/unictype/property-left-of-pair:
32417         * modules/unictype/property-line-separator:
32418         * modules/unictype/property-logical-order-exception:
32419         * modules/unictype/property-lowercase, modules/unictype/property-math:
32420         * modules/unictype/property-non-break:
32421         * modules/unictype/property-not-a-character:
32422         * modules/unictype/property-numeric:
32423         * modules/unictype/property-other-alphabetic:
32424         * modules/unictype/property-other-default-ignorable-code-point:
32425         * modules/unictype/property-other-grapheme-extend:
32426         * modules/unictype/property-other-id-continue:
32427         * modules/unictype/property-other-id-start:
32428         * modules/unictype/property-other-lowercase:
32429         * modules/unictype/property-other-math:
32430         * modules/unictype/property-other-uppercase:
32431         * modules/unictype/property-paired-punctuation:
32432         * modules/unictype/property-paragraph-separator:
32433         * modules/unictype/property-pattern-syntax:
32434         * modules/unictype/property-pattern-white-space:
32435         * modules/unictype/property-private-use:
32436         * modules/unictype/property-punctuation:
32437         * modules/unictype/property-quotation-mark:
32438         * modules/unictype/property-radical:
32439         * modules/unictype/property-sentence-terminal:
32440         * modules/unictype/property-soft-dotted:
32441         * modules/unictype/property-space:
32442         * modules/unictype/property-terminal-punctuation:
32443         * modules/unictype/property-test, modules/unictype/property-titlecase:
32444         * modules/unictype/property-unassigned-code-value:
32445         * modules/unictype/property-unified-ideograph:
32446         * modules/unictype/property-uppercase:
32447         * modules/unictype/property-variation-selector:
32448         * modules/unictype/property-white-space:
32449         * modules/unictype/property-xid-continue:
32450         * modules/unictype/property-xid-start:
32451         * modules/unictype/property-zero-width, modules/unictype/scripts:
32452         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
32453         * modules/unictype/syntax-c-whitespace:
32454         * modules/unictype/syntax-java-ident:
32455         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
32456         * modules/unigbrk/u16-grapheme-breaks:
32457         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
32458         * modules/unigbrk/u32-grapheme-breaks:
32459         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
32460         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
32461         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
32462         * modules/unigbrk/uc-is-grapheme-break:
32463         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
32464         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
32465         * modules/unilbrk/u16-width-linebreaks:
32466         * modules/unilbrk/u32-possible-linebreaks:
32467         * modules/unilbrk/u32-width-linebreaks:
32468         * modules/unilbrk/u8-possible-linebreaks:
32469         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
32470         * modules/unilbrk/ulc-possible-linebreaks:
32471         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
32472         * modules/uniname/uniname, modules/uninorm/base:
32473         * modules/uninorm/canonical-decomposition:
32474         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
32475         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
32476         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
32477         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
32478         * modules/uninorm/nfkc, modules/uninorm/nfkd:
32479         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
32480         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
32481         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
32482         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
32483         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
32484         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
32485         * modules/unistdio/base, modules/unistdio/u-printf-args:
32486         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
32487         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
32488         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
32489         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
32490         * modules/unistdio/u16-u16-sprintf:
32491         * modules/unistdio/u16-u16-vasnprintf:
32492         * modules/unistdio/u16-u16-vasprintf:
32493         * modules/unistdio/u16-u16-vsnprintf:
32494         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
32495         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
32496         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
32497         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
32498         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
32499         * modules/unistdio/u32-u32-asnprintf:
32500         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
32501         * modules/unistdio/u32-u32-sprintf:
32502         * modules/unistdio/u32-u32-vasnprintf:
32503         * modules/unistdio/u32-u32-vasprintf:
32504         * modules/unistdio/u32-u32-vsnprintf:
32505         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
32506         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
32507         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
32508         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
32509         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
32510         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
32511         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
32512         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
32513         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
32514         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
32515         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
32516         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
32517         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
32518         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
32519         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
32520         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
32521         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
32522         * modules/unistr/u16-check, modules/unistr/u16-chr:
32523         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
32524         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
32525         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
32526         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
32527         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
32528         * modules/unistr/u16-move, modules/unistr/u16-next:
32529         * modules/unistr/u16-prev, modules/unistr/u16-set:
32530         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
32531         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
32532         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
32533         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
32534         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
32535         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
32536         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
32537         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
32538         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
32539         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
32540         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
32541         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
32542         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
32543         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
32544         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
32545         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
32546         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
32547         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
32548         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
32549         * modules/unistr/u32-next, modules/unistr/u32-prev:
32550         * modules/unistr/u32-set, modules/unistr/u32-startswith:
32551         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
32552         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
32553         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
32554         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
32555         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
32556         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
32557         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
32558         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
32559         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
32560         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
32561         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
32562         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
32563         * modules/unistr/u8-check, modules/unistr/u8-chr:
32564         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
32565         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
32566         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
32567         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
32568         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
32569         * modules/unistr/u8-next, modules/unistr/u8-prev:
32570         * modules/unistr/u8-set, modules/unistr/u8-startswith:
32571         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
32572         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
32573         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
32574         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
32575         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
32576         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
32577         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
32578         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
32579         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
32580         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
32581         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
32582         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
32583         * modules/uniwbrk/base, modules/uniwbrk/table:
32584         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
32585         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
32586         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
32587         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
32588         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
32589         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
32590         * modules/uniwidth/width, modules/utf16-ucs4:
32591         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
32592         * modules/utf8-ucs4-unsafe:
32593         Change maintainer from Bruno Haible to Daiki Ueno.
32594         This is my guess at the libunistring modules; please feel free
32595         to fix if I guessed incorrectly.
32596         * modules/accept4, modules/acl, modules/acos, modules/acosf:
32597         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
32598         * modules/areadlink, modules/array-list, modules/array-mergesort:
32599         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
32600         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
32601         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
32602         * modules/binary-io, modules/bison-i18n, modules/btowc:
32603         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
32604         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
32605         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
32606         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
32607         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
32608         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
32609         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
32610         * modules/closedir, modules/concat-filename, modules/copy-file:
32611         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
32612         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
32613         * modules/csharpcomp-script, modules/csharpexec:
32614         * modules/csharpexec-script, modules/ctype, modules/diffseq:
32615         * modules/dprintf, modules/dprintf-posix, modules/dup:
32616         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
32617         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
32618         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
32619         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
32620         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
32621         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
32622         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
32623         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
32624         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
32625         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
32626         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
32627         * modules/findprog, modules/findprog-lgpl, modules/floor:
32628         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
32629         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
32630         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
32631         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
32632         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
32633         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
32634         * modules/freadable, modules/freadahead, modules/freadptr:
32635         * modules/freadseek, modules/freopen, modules/frexp:
32636         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
32637         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
32638         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
32639         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
32640         * modules/ftello, modules/full-read, modules/full-write:
32641         * modules/fwritable, modules/fwriteerror, modules/gcd:
32642         * modules/get-rusage-as, modules/get-rusage-data:
32643         * modules/getdtablesize, modules/getrusage, modules/gettext:
32644         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
32645         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
32646         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
32647         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
32648         * modules/iconv, modules/iconv-h, modules/iconv_open:
32649         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
32650         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
32651         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
32652         * modules/integer_length_ll, modules/ioctl, modules/isatty:
32653         * modules/isblank, modules/isnand, modules/isnand-nolibm:
32654         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
32655         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
32656         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
32657         * modules/javaexec, modules/javaexec-script, modules/javaversion:
32658         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
32659         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
32660         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
32661         * modules/lib-symbol-visibility, modules/libsigsegv:
32662         * modules/linked-list, modules/linkedhash-list, modules/list:
32663         * modules/localcharset, modules/locale, modules/localeconv:
32664         * modules/localename, modules/lock, modules/log, modules/log-ieee:
32665         * modules/log10, modules/log10-ieee, modules/log10f:
32666         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
32667         * modules/log1p, modules/log1p-ieee, modules/log1pf:
32668         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
32669         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
32670         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
32671         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
32672         * modules/logf, modules/logf-ieee, modules/login_tty:
32673         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
32674         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
32675         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
32676         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
32677         * modules/mbscspn, modules/mbsinit, modules/mbslen:
32678         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
32679         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
32680         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
32681         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
32682         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
32683         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
32684         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
32685         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
32686         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
32687         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
32688         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
32689         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
32690         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
32691         * modules/posix_spawn, modules/posix_spawn-internal:
32692         * modules/posix_spawn_file_actions_addclose:
32693         * modules/posix_spawn_file_actions_adddup2:
32694         * modules/posix_spawn_file_actions_addopen:
32695         * modules/posix_spawn_file_actions_destroy:
32696         * modules/posix_spawn_file_actions_init:
32697         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
32698         * modules/posix_spawnattr_getpgroup:
32699         * modules/posix_spawnattr_getschedparam:
32700         * modules/posix_spawnattr_getschedpolicy:
32701         * modules/posix_spawnattr_getsigdefault:
32702         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
32703         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
32704         * modules/posix_spawnattr_setschedparam:
32705         * modules/posix_spawnattr_setschedpolicy:
32706         * modules/posix_spawnattr_setsigdefault:
32707         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
32708         * modules/pow, modules/powf, modules/printf-frexp:
32709         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
32710         * modules/progname, modules/propername, modules/pselect:
32711         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
32712         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
32713         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
32714         * modules/read, modules/readdir, modules/readlink:
32715         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
32716         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
32717         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
32718         * modules/relocatable-script, modules/remainder:
32719         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
32720         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
32721         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
32722         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
32723         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
32724         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
32725         * modules/setlocale, modules/sh-quote, modules/shutdown:
32726         * modules/signal, modules/signbit, modules/sigpipe:
32727         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
32728         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
32729         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
32730         * modules/snippet/link-warning, modules/snippet/unused-parameter:
32731         * modules/snprintf, modules/snprintf-posix, modules/spawn:
32732         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
32733         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
32734         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
32735         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
32736         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
32737         * modules/streq, modules/strerror_r-posix, modules/striconv:
32738         * modules/striconveh, modules/striconveha, modules/strncat:
32739         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
32740         * modules/sublist, modules/sys_resource, modules/sys_utsname:
32741         * modules/sys_wait, modules/system-posix, modules/system-quote:
32742         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
32743         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
32744         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
32745         * modules/truncf, modules/truncf-ieee, modules/truncl:
32746         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
32747         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
32748         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
32749         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
32750         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
32751         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
32752         * modules/wait-process, modules/waitpid, modules/wcpcpy:
32753         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
32754         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
32755         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
32756         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
32757         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
32758         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
32759         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
32760         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
32761         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
32762         * modules/write, modules/xconcat-filename, modules/xlist:
32763         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
32764         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
32765         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
32766         * modules/y0, modules/y1, modules/yn:
32767         Remove Bruno Haible as maintainer; if he's the sole maintainer,
32768         change the maintainer to 'all'.  Let's hope someone volunteers.
32770 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
32772         mktime: merge #if/#ifdef usage from glibc
32773         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
32774         as that works with both Glibc's and Gnulib's style.
32775         See thread starting at Siddhesh Poyarekar's bug report at:
32776         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
32778 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
32780         git-version-gen: improve option descriptions
32781         * build-aux/git-version-gen: Mention that --prefix and --fallback
32782         have a mandatory argument.
32784 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
32786         regex: fix memory leak in compiler
32787         Fix by Andreas Schwab in:
32788         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
32789         * lib/regcomp.c (parse_expression): Deallocate partially
32790         constructed tree before returning error.
32792         regex: merge patch from libc
32793         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
32794         Combine __USE_BSD and __USE_SVID into __USE_MISC.
32795         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
32797 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
32799         acl: port to gcc -Wredundant-decls
32800         From a request by Dmitry Antipov in:
32801         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
32802         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
32803         "#ifndef _GL_ACL_H".
32805 2014-06-11  Bruce Korb  <bkorb@gnu.org>
32806         Jim Meyering  <meyering@fb.com>
32808         parse-duration: eliminate 68-year duration limit
32809         * lib/parse-duration.c: Include "intprops.h".
32810         (TIME_MAX): Rename to MAX_DURATION and define to
32811         TYPE_MAXIMUM(time_t).
32812         * modules/parse-duration (Depends-on): Add intprops.
32813         Reported by Jonas 'Sortie' Termansen.
32815 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32817         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
32818         * modules/pthread (Depends-on): Add 'extensions', as it defines
32819         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
32820         (configure.ac-early): New section.
32821         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
32822         it is no longer needed.
32824 2014-06-14  Pádraig Brady  <P@draigBrady.com>
32826         pthread: define thread-safe macros on some platforms
32827         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
32828         for thread-safe operation on some platforms.
32830 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
32832         regex: don't be multithreaded if USE_UNLOCKED_IO.
32833         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
32834         * lib/regex_internal.h: Do not use multithreaded version if
32835         USE_UNLOCKED_IO is defined.  This is a hack, but it works
32836         around a porting bug with coreutils 8.22 on AIX 7.1.
32838 2014-06-11  Daiki Ueno  <ueno@gnu.org>
32840         gettext: update macros to version 0.19
32841         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
32842         depend on gl_EXTERN_INLINE and drop support for older Bison
32843         versions.
32845 2014-06-10  Pádraig Brady  <P@draigBrady.com>
32847         select,poll: fix console handle check on windows 8
32848         lib/poll.c (IsConsoleHandle): Change from testing the lower
32849         2 bits of the handle to the more expensive but accurate syscall.
32850         lib/select.c: Likewise.
32852 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32854         select: fix waiting on anonymous pipes on MS-Windows
32855         * lib/select.c (rpl_select): Fall back to polling when select()
32856         indicates there is nothing to check, while due to the timeout not
32857         expiring, activity is indicated on one of the handles.
32858         Also clear the TIMEOUT argument if the timer does expire.
32860 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32862         times: fix to return non constant value on MS-Windows
32863         * lib/times.c (times): Don't use the process creation time,
32864         rather clock() which on windows returns the number of
32865         clock ticks since the process started.
32867 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
32869         isatty: fix to work on windows 8
32870         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
32871         2 bits of the handle to the more expensive but accurate syscall.
32873 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
32875         maint: fix typo in fdl.texi
32876         * doc/fdl.texi: Fix typo (missing '@').
32877         Somehow this was in fdl.texi but not fdl-1.3.texi.
32879 2014-06-06  Ben Walton  <bdwalton@gmail.com>
32881         mountlist: avoid hasmntopt const type warning on solaris
32882         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
32883         with char * instead of const char *.  Passing the constant string
32884         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
32885         to avoid the warning.
32887 2014-06-04  Eric Blake  <eblake@redhat.com>
32889         maintainer-makefile: delete obsolete code
32890         * top/maint.mk (build_aux): Drop old code, as threatened.
32892         maintainer-makefile: avoid spurious error messages
32893         * top/maint.mk (syntax-check): Guard definition and use of
32894         $(shell) by whether Makefile is present.
32896 2014-06-03  Ben Walton  <bdwalton@gmail.com>
32898         rename: avoid unused-but-set-variable compiler warning
32899         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
32900         it is possible that dst_exists may be set but not used.  Mark it with
32901         the unused attribute to avoid compiler warnings.
32903 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32905         rename: mark a label as potentially unused
32906         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
32907         by marking the out label as potentially unused.
32908         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
32910 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
32912         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
32913         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
32915 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32917         acl: apply pure attribute to two functions
32918         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
32919         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
32921 2014-06-01  Pádraig Brady  <P@draigBrady.com>
32923         gnulib-common.m4: add _GL_UNUSED_LABEL
32924         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
32925         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
32927 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
32929         dup2, fcntl, fcntl-h: port to AIX 7.1
32930         This fixes some porting problems discovered when testing the latest
32931         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
32932         in grep but it could be important for other applications.
32933         * doc/posix-functions/dup2.texi:
32934         * doc/posix-functions/fcntl.texi:
32935         * doc/posix-headers/fcntl.texi:
32936         Document AIX bugs.
32937         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
32938         Define to 0 if outside 'int' range.
32939         * m4/dup2.m4 (gl_FUNC_DUP2):
32940         * m4/fcntl.m4 (gl_FUNC_FCNTL):
32941         Check for getdtablesize.  If it's available, test a value just
32942         outside its range instead of testing 1000000.  When cross-compiling,
32943         guess that AIX will fail this improved test.
32945 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
32947         printf, config.rpath: Port to FreeBSD 10.
32948         Problem reported by Tijl Coosemans in:
32949         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
32950         * build-aux/config.rpath (hardcode_libdir_flag_spec)
32951         (hardcode_direct): Simplify FreeBSD configuration.
32952         (library_names_spec): Don't mishandle FreeBSD 10+.
32953         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
32954         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
32955         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
32956         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
32957         Don't mishandle FreeBSD 10+ when cross-compiling.
32959         ftoastr: work around compiler bug in IBM xlc 12.1
32960         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
32961         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
32962         around a compiler bug in IBM xlc 12.1.0.0: it complains
32963         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
32964         _GL_FLT_PREC_BOUND.'
32966 2014-05-30  Kieran Colford  <colfordk@gmail.com>
32968         valgrind-tests: fixed misleading help message
32969         * m4/valgrind-tests.m4: The help message generated by configure
32970         implied that valgrind was disabled by default, which it wasn't.
32971         Adjusted the help message using s/enable/disable/ to clarify.
32973 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
32975         isfinite, isinf, isnan tests: fix for little-endian PowerPC
32976         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
32977         first double of a PowerPC "double double" pair.
32978         * tests/test-isinf.c (test_isinfl): Likewise.
32979         * tests/test-isnan.c (test_long_double): Likewise.
32980         * tests/test-isnanl.h (main): Likewise.
32981         * tests/test-signbit.c (test_signbitl): Likewise.
32983 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
32985         exclude-tests: port to AIX 7.1
32986         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
32987         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
32988         the regex code uses locks.
32990 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
32992         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
32993         Without this fix, Emacs would sometimes call sigprocmask instead
32994         of pthread_sigmask, which is a no-no in multithreaded applications.
32995         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
32996         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32997         Suppress check for pthread_sigmask working without -lpthread if
32998         the application always links with -lpthread.  Do not link with
32999         $LIBMULTITHREAD if gl_THREADLIB is not defined.
33000         * m4/timer_time.m4 (gl_TIMER_TIME):
33001         Require gl_THREADLIB only if it is defined.  Do not append
33002         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
33004 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
33006         gnulib-tool: wget translations using --no-verbose rather than --quiet
33007         This allows the user to see error messages if any (--quiet hides them)
33008         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
33010 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
33012         gnulib-tool: adjust translation wget to avoid a https redirection
33013         Context: http://translationproject.org/latest/gnulib redirects to
33014            https://translationproject.org/latest/gnulib/
33015         Rationale: if the user falls back to wget, she doesn't have rsync and
33016         is probably in a minimal build environment, where packages such as
33017         'ca-certificates' are missing as well, resulting in a failed (and
33018         difficult to detect since ignored) translation initial fetch.
33019         Consequently let's avoid https if possible, and add the missing
33020         trailing slash.  This also avoids an unnecessary 302 redirection.
33021         * gnulib-tool: Add trailing slash to gnulib URL.
33023 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33025         getlogin_r-tests: check return value rather than errno
33026         * tests/test-getlogin_r.c (main): As per POSIX we should be
33027         verifying the return value from getlogin_r() rather than errno.
33029 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33031         getlogin_r-tests: fix various issues in recent change
33032         * tests/test-getlogin_r.c: Include required headers that were
33033         missed in recent commit eec20b4e.
33034         Also consistently check the errno rather than the return value from
33035         getlogin_r as POSIX only specifies that non zero is returned on error.
33036         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
33038 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33040         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
33041         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
33042         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
33043         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
33044         * lib/spawn-pipe.c:
33045         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
33046         and then 'int open64(const char *, int, ...);', which means the
33047         declaration for 'open' gets lost if we later '#undef open'.
33048         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
33049         where the compilation reported the non-fatal error "In function
33050         'openat_proc_name' ... warning: implicit declaration of function
33051         'open'".  In this case the error is relatively harmless, but in
33052         other cases it might not be so minor.
33054 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33056         xalloc: don't potentially generate invalid code for xmemdup calls
33057         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
33058         this function can initialize the newly-allocated storage with new
33059         pointers, which means this function is not malloc-like.  See:
33060         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
33062 2014-05-19  Pádraig Brady  <P@draigBrady.com>
33064         getlogin_r-tests: avoid false failure under sudo/ssh etc.
33065         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
33066         changes from commit 97249cf29 to not depend on environment variables.
33068 2014-05-18  Pádraig Brady  <P@draigBrady.com>
33070         getlogin-tests: avoid false failure under cron
33071         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
33072         since that's not what's under test.  Centos 6 was seen to return
33073         EINVAL for ttyname() when run from cron.
33075 2014-05-16  Jim Meyering  <meyering@fb.com>
33077         mbrtowc.m4: fix a comment typo
33078         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
33079         emitted documentation string.
33081 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
33083         mbrlen, mbrtowc: fix bug with empty input
33084         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
33085         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
33086         so this is mainly for documentation.
33087         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
33088         (gl_FUNC_MBRTOWC): Use it.
33089         * tests/test-mbrtowc.c (main): Test for the bug.
33091 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33093         doc: document mbrtowc and mbrlen problem with empty input
33094         * doc/posix-functions/mbrlen.texi (mbrlen):
33095         * doc/posix-functions/mbrtowc.texi (mbrtowc):
33096         Document portability problem when the input string is empty.  See:
33097         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
33099         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
33100         Problem reported by Eli Zaretskii in:
33101         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
33102         * doc/posix-functions/execl.texi (execl):
33103         * doc/posix-functions/execle.texi (execle):
33104         * doc/posix-functions/execlp.texi (execlp):
33105         * doc/posix-functions/execv.texi (execv):
33106         * doc/posix-functions/execve.texi (execve):
33107         * doc/posix-functions/execvp.texi (execvp):
33108         Mention spawn+exit problem on non-Cygwin Windows platforms.
33110 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
33112         getlogin-tests: avoid false failure under sudo/ssh etc.
33113         * modules/getlogin-tests (configure.ac): Check for ttyname().
33114         * tests/test-getlogin.c (main): Don't depend on environment variables
33115         to correlate with getlogin(), since sudo and ssh etc. can tamper
33116         with the LOGNAME and USER env vars.  Instead lookup the name from
33117         the uid associated with the stdin tty.
33119 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33121         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
33122         These were found when building the latest grep snapshot on IRIX 6.5.
33123         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
33124         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
33125         never used later.
33126         * lib/quotearg.c (quoting_options_from_style):
33127         * lib/xstrtol.c (__xstrtol):
33128         Use enum instead of 0, to pacify IRIX 6.5 cc.
33130 2014-04-18  Pádraig Brady  <P@draigBrady.com>
33132         gitlog-to-changelog: revert inclusion of git-log-fix file
33133         * build-aux/git-log-fix: Delete dummy file.
33134         * modules/gitlog-to-changelog: Don't reference (overwrite)
33135         the project specific git-log-fix file.
33137 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
33139         maint.mk: Relax the copyright check to cater for non FSF projects
33140         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
33141         to not require the "Free" suffix after the copyright years.
33143 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
33145         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
33146         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
33147         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
33148         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
33149         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
33151 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
33153         exclude: port to strict C99
33154         Strict C does not allow converting a function pointer to void *
33155         and vice versa.  Pass a pointer to a function pointer instead.
33156         * lib/exclude.c (add_exclude_file):
33157         Pass the address of the function pointer.
33158         (call_addfn): And deference the address here, to match.
33160 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33162         regex: do not depend on malloc-gnu
33163         * modules/regex (Depends-on): Remove malloc-gnu.
33164         It's no longer needed, because of the 2012-12-29 patch
33165         "regex: port to hosts where malloc (0) == NULL".
33166         Reported by Nathan Kennedy in:
33167         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
33169 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
33171         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
33172         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
33173         * doc/posix-functions/expl.texi: Mention the workaround.
33175 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33177         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
33178         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
33179         size to be zero even when the pointer is nonnull.  This
33180         accommodates the use case where P is malloc (0) and *PN is 0 on a
33181         host where malloc (0) yields nonnull.
33183 2014-04-09  Eric Blake  <eblake@redhat.com>
33185         fts: avoid unnecessary strlen calls
33186         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
33188 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33190         fts: avoid unnecessary strlen calls
33191         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
33192         when that can be faster than strlen.
33194 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33196         fts: avoid unnecessary strlen calls
33197         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
33198         (fts_build): Store the length of the dp->d_name entry in a local variable
33199         instead of calling strlen() several times via the above, removed macro.
33200         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
33201         run by ~4%, yet this reduces the execution time by about a third if run
33202         via "ltrace -c rm -rf some-dir".
33204 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33206         obstack: Remove ancient NeXTSTEP gcc support conditional
33207         This change will ease merging with glibc.  The "#if ... __NEXT__"
33208         causes a warning with -Wundef which glibc now enables by default.
33209         Problem reported by Will Newton in
33210         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
33211         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
33212         so go with that.
33213         * lib/obstack.h (__extension__):
33215 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33217         obstack: merge with glibc changes
33218         * lib/obstack.c, lib/obstack.h: Merge from glibc.
33219         This is mostly indenting and commentary changes.
33220         Instances of 'register' have been removed.
33222 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33224         strftime: wrap macros in "do {...} while(0)"
33225         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
33226         this macro in "do {...} while(0)" to prevent false use as a
33227         single statement, e.g., in an un-braced "{}" else-block.
33228         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
33229         (strftime_case_): Remove 'else' after 'goto' - which was the
33230         only non-fatal, un-braced use of one of the above macros.
33231         Spotted by coverity (NESTING_INDENT_MISMATCH).
33233 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33235         modechange: avoid memory leaks for invalid octal modes
33236         * lib/modechange.c (mode_compile): During the parsing of
33237         notations like +40, free the 'mc' buffer for invalid mode
33238         strings like +17777 (greater than the maximum octal mode),
33239         =18 (bad octal mode characters) or u=1 ('affected' with
33240         octal modes).
33241         Reproducer, e.g.:
33242             $ valgrind --leak-check=full chmod +17777 file
33243         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
33244         add notations +40, 00440, etc.".
33245         Spotted by coverity (RESOURCE_LEAK).
33247 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
33249         gitlog-to-changelog: include a dummy git-log-fix file
33250         Problem reported by Nathan Stratton Treadway in:
33251         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
33252         * build-aux/git-log-fix: New file.
33254 2014-03-13  Jim Meyering  <meyering@fb.com>
33256         gitlog-to-changelog: also include the file, git-log-fix
33257         * modules/gitlog-to-changelog (Files): Add git-log-fix.
33258         Reported by Assaf Gordon.
33260 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
33262         regex: port to OS X 10.8.5 en_US.UTF-8 locale
33263         This fixes a bug when ignoring case and when comparing the
33264         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
33265         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
33266         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
33267         titlecase letter is neither lowercase nor uppercase, but
33268         uppercasing the titlecase letter (via towupper) yields the
33269         uppercase letter, so the two letters should match when ignoring case.
33270         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
33271         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
33272         Don't test whether a character is lowercase before uppercasing it.
33274 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
33276         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
33277         This is basically one of the options Bruno Haible proposed in:
33278         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
33279         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
33280         * lib/stdint.in.h: Use it.
33281         * modules/stdint (Depends-on): Add sys_types.
33283 2014-02-26  Pádraig Brady  <P@draigBrady.com>
33285         parse-datetime: fix crash or infloop in TZ="" parsing
33286         * lib/parse-datetime.y (parse_datetime): Break out of the
33287         TZ="" parsing loop once the second significant " is found.
33288         Also skip over any subsequent whitespace to be consistent
33289         with the non TZ= case.
33290         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
33292 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33294         savedir: new symbol for fast-read version
33295         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
33296         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
33297         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
33298         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
33300 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33302         unistd: port readlink to Mac OS X 10.3.9
33303         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
33304         around self-include problem in Mac OS X 10.3.9 when combined with
33305         readlink module.  Problem reported by Klaus Zietler in
33306         <http://bugs.gnu.org/16825>.
33308 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
33310         diffseq: remove TOO_EXPENSIVE heuristic
33311         Problem with diffutils reported by Vincent Lefevre in
33312         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
33313         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
33314         Although appropriate for circa-1993 hardware, these days the heuristic
33315         seems to be more trouble than it's worth.
33316         * lib/diffseq.h: Modernize citations.
33317         (struct context): Remove member too_expensive.
33318         All uses changed.
33319         (struct partition): Remove members lo_minimal, hi_minimal.
33320         All uses changed.
33321         (diag, compareseq): Remove arg find_minimal.  All uses changed.
33322         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
33323         1993 to make 'diff' run faster (but not as well) on large inputs.
33324         These days, computers are fast enough that it's typically better
33325         to run slower but more accurately.
33326         * lib/fstrcmp.c: Remove duplicate comment.
33327         * lib/fstrcmp.c (strcmp_bounded):
33328         * lib/git-merge-changelog.c (compute_differences):
33329         Adjust to diffseq.h changes.
33330         * NEWS: Document the change.
33332         savedir: simplify by using stpcpy
33333         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
33334         (streamsavedir): Use stpcpy instead.
33335         * modules/savedir (Depends-on): Add stpcpy.
33337 2014-02-21  Pádraig Brady  <P@draigBrady.com>
33339         spawn: fix link error on uclibc
33340         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
33341         to incorporate -lrt if needed (on uclibc for example).
33342         * modules/posix_spawn: Reference the substituted LIB.
33344 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
33345         timer: fix uClibc detection of threading
33346         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
33347         enabled in uClibc.
33349 2014-02-21  Eric Blake  <eblake@redhat.com>
33351         maintainer-makefiles: provide AC_PROG_SED for older autoconf
33352         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
33354 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33356         exclude: add support for posix regexps
33358         This commit adds support for POSIX extended regular expressions
33359         and fixes a long-standing memory leak (pattern buffer was never
33360         freed).  It also implements a new interface function to read
33361         exclude patterns from a FILE, which passes an additional parameter
33362         to its callback function, thereby allowing to preserve its state
33363         between invocations.
33365         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
33366         (pattern_buffer): New struct.
33367         (exclude): New member patbuf.
33368         (exclude_add_pattern_buffer): New function.
33369         (free_exclude_segment): Free regexps.
33370         (free_exclude): Free allocated pattern buffers.
33371         (exclude_patopts): New function.
33372         (file_pattern_matches): Use exclude_patopts.
33373         (add_exclude): support regexps.
33374         (add_exclude_fp): New function.
33375         (add_exclude_file): Rewrite using add_exclude_fp.
33376         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33377         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33378         (add_exclude_fp)
33379         (add_exclude_file): Rewrite using add_exclude_fp.
33380         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33381         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33382         (add_exclude_fp)
33383         (exclude_add_pattern_buffer): New prototypes.
33384         * modules/exclude: Depends on regex and filename.
33386 2014-02-20  Eric Blake  <eblake@redhat.com>
33388         maintainer-makefiles: use $(SED) for syntax check
33389         * modules/maintainer-makefile (configure.ac): Check for sane sed.
33390         * top/maint.mk: Change sed to $(SED).
33392 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
33393             Paul Eggert  <eggert@cs.ucla.edu>
33395         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
33396         Patch based on an idea by Dick Streefland in
33397         <https://savannah.gnu.org/patch/?7892>.
33398         * NEWS: Document this.
33399         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
33400         (direntry_t, comparison_function): New types.
33401         (direntry_cmp_name): New function.
33402         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
33403         (streamsavedir, savedir): New arg OPTION.
33404         (streamsavedir): Simplify memory allocation.
33405         (fdsavedir): Remove.
33406         * lib/savedir.h (enum savedir_option): New type.
33407         (streamsavedir, savedir): New arg OPTION.
33408         (fdsavedir): Remove.
33410 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33412         file-type: add support for doors and other less-common file types
33413         Problem with S_ISDOOR reported by Rich Burridge.
33414         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
33415         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
33416         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
33418 2014-01-23  Eric Blake  <eblake@redhat.com>
33420         pthread: work around winpthread header pollution on mingw
33421         * lib/time.in.h: Move pthread workarounds...
33422         * lib/pthread.in.h: ...here.
33423         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
33424         detect macro pollution on mingw.
33425         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
33427 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
33429         qacl: check for fchmod
33430         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
33431         and qset-acl.c both use HAVE_FCHMOD.
33433 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
33435         fdopen-tests: port to Tru64
33436         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
33437         descriptor that is not open, as POSIX doesn't specify the
33438         resulting behavior and the test does not work on Tru64.
33439         Problem reported by Steven M. Schweda in:
33440         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
33442         stdalign: port to HP-UX compilers
33443         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
33444         if __HP_cc or __HP_aCC are nonzero.
33446 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
33448         strtoimax: port to platforms lacking 'long long'
33449         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
33450         check whether strtoll is declared, which causes the C file to
33451         wrongly report an error.  Problem reported by Steven M. Schweda in:
33452         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
33453         * lib/strtoimax.c (strtoull):
33454         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
33455         (strtoll): Declare only if HAVE_LONG_LONG_INT.
33457 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
33459         relocatable-perl: fix texi syntax
33460         * doc/relocatable-maint.texi: Escape braces.
33462 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
33464         relocatable-perl: like relocatable-script, but for Perl scripts
33465         * build-aux/relocatable.pl.in: Add.
33466         * doc/relocatable-maint.texi: Add documentation.
33467         * modules/relocatable-perl: Add.
33469 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
33471         tests: fix export bug in previous patch
33472         Problem reported by Jim Meyering.
33473         * tests/init.sh (re_shell): New var, which is exported instead of
33474         re_shell_.
33476         tests: simplify porting to Solaris 10 /bin/sh
33477         Some test cases in 'grep' need a shell that groks '$(';
33478         export re_shell_ for their benefit.  Problem reported for 'grep'
33479         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
33480         * tests/init.sh (re_shell_): Export if it's used.
33482 2014-01-06  Eric Blake  <eblake@redhat.com>
33484         md5, sha1, sha256, sha512: support older autoconf
33485         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
33486         for autoconf < 2.63b.
33488         include_next: port to autoconf 2.63
33489         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
33491 2014-01-04  Jim Meyering  <meyering@fb.com>
33493         maint: add a gnulib-local rule to keep non-ascii out of .texi files
33494         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
33495         so that "make sc_maint" will ding anyone who puts non-ascii
33496         in any of gnulib's .texi files.
33498 2014-01-03  Jim Meyering  <meyering@fb.com>
33500         freadable, fwritable, fwriting: declare with the "pure" attribute
33501         * lib/freadable.h (freadable): Declare with the "pure" attribute.
33502         * lib/fwritable.h (fwritable): Likewise.
33503         * lib/fwriting.h (fwriting): Likewise.
33504         Suggested by Bruno Haible.
33506         maint.mk: adapt openat.h-include-without-use test
33507         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
33508         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
33509         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
33510         With this change, running "make sc_maint" in gnulib's top-level
33511         directory now passes for me.
33513 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
33515         doc: use ASCII in .texi files where UTF-8 isn't needed
33516         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
33517         * doc/posix-functions/setkey.texi, doc/regex.texi:
33518         Use ASCII input, not UTF-8.
33520 2014-01-02  Jim Meyering  <meyering@fb.com>
33522         freading: declare with the "pure" attribute
33523         * lib/freading.h (freading): Declare with the "pure" attribute.
33525         manywarnings: remove -Wmudflap
33526         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
33527         it is no longer supported in gcc-4.9-to-be.
33529 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33531         relocatable-script: remove unused code
33532         Problem reported by Reuben Thomas in:
33533         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
33534         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
33536 2014-01-01  Jim Meyering  <meyering@fb.com>
33538         maint: fix public-submodule-commit to work with newer git
33539         * top/maint.mk (public-submodule-commit): Remove excess quoting.
33540         We were over-quoting the test arguments, and somewhere prior to
33541         version 1.8.5.2.229, git stopped removing those excess quotes,
33542         which made the test fail, since the unexpanded strings would
33543         always differ; using GIT_TRACE=1 confirmed that the git merge-base
33544         command wasn't even being run.
33546 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33548         doc: update main copyright year
33549         * doc/gnulib.texi: Update copyright date.
33551 2014-01-01  Eric Blake  <eblake@redhat.com>
33553         version-etc: new year
33554         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
33555         * all files: run 'make update-copyright'
33557 2013-12-24  Eric Blake  <eblake@redhat.com>
33559         passfd: give nicer error for recvfd at eof
33560         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
33561         * tests/test-passfd.c (main): Enhance test to cover this.
33563 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33565         gettimeofday: port recent C++ fix to Emacs
33566         Without this further patch, Emacs won't build due to
33567         the portcheck failing.  Also, this simplifies the patch a bit.
33568         * lib/time.in.h (localtime, gmtime): Don't replace unless
33569         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
33570         * lib/time.in.h (localtime, gmtime):
33571         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
33572         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33573         * modules/time (time.h):
33574         Don't worry about the possibility of localtime and gmtime
33575         being absent; they're present in all C libraries we know about.
33576         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33577         Don't assume sys_time is present and has been initialized.
33578         Instead, use a hack that should work even if it hasn't been.
33579         Don't use a portcheck for gmtime or localtime; this supports
33580         the hack.
33581         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
33583 2013-12-17  John W. Eaton  <jwe@gnu.org>
33585         gettimeofday: fix C++ crosscompilation
33587         Never replace gmtime and localtime by macros when compiling with
33588         C++, this prevents <ctime> from being included.
33590         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
33591         define gmtime and localtime as preprocessor macros.  Instead
33592         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
33593         REPLACE_LOCALTIME substitutions.
33594         * lib/time.in.h: Declare gmtime and localtime when needed.
33595         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
33596         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
33597         * modules/time: Depend on gettimeofday, and substitute the above
33598         variables in time.h.
33600 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33602         qacl: port to Windows better
33603         See Eli Zaretskii in
33604         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
33605         * lib/file-has-acl.c (acl_access_nontrivial):
33606         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
33607         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
33609 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
33611         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
33612         * lib/gl_openssl.h: Cast void pointers to a specific type.
33614 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33616         open-tests: fix build failure with -Werror=old-style-declaration
33617         * tests/test-open.h: Reorder the inline to avoid the issue.
33619 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33621         md5, sha1, sha256, sha512: fix link error with partial libcrypto
33622         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
33623         init time, so that if early checks find crypto routines,
33624         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
33625         avoiding link failures.
33627 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33629         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
33630         This provides a new way to specify the default for
33631         gl_CRYPTO_CHECK, one that is reflected in the --help message.
33632         Emacs uses this, as well as the old way.
33633         This attempts to implement a suggestion by Pádraig Brady in
33634         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
33635         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
33636         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
33638         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
33639         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
33640         Add support for a new option, --with-openssl=auto, which causes
33641         the library to be used if available and silently ignored if not.
33642         Add support to allow configure.ac to specify its own
33643         default, by setting with_openssl_default before invoking gl_INIT.
33645 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33647         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
33648         Problem reported by Daiki Ueno in:
33649         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
33650         * tests/test-open.h (__always_inline):
33651         New macro, if not already defined.
33652         (test_open): Use it.
33654 2013-12-04  Eric Blake  <eblake@redhat.com>
33656         include_next: minimize code duplication
33657         * modules/include_next (Depends-on): Add absolute-header.
33658         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
33659         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
33661 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33663         getcwd: fix compile error in configure check
33664         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
33666 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33668         regex: suppress core dumps from detection code
33669         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
33670         to suppress core dumps that may well occur on glibc systems.
33671         These core dumps might not be cleaned up automatically, or could
33672         trigger some system core dump handling logic.
33674 2013-12-03  Pádraig Brady  <P@draigBrady.com>
33676         md5, sha1, sha256, sha512: support mandating use of openssl
33677         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
33678         description, to list the now 3 separate options.  also don't
33679         mention the default=no, since this is implicit given the option
33680         is described as --with-openssl rather than --without-openssl.
33681         If projects change the default they're free to document that.
33682         with --with-openssl[=yes] we now error out when the specified
33683         hash algorithm is not available in libcrypto.
33685 2013-12-03  Ivailo  <xakepa10@gmail.com>
33687         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
33688         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
33689         -Wformat-nonliteral checks, as these edge cases are part of the test.
33691 2013-12-03  Eric Blake  <eblake@redhat.com>
33693         regex: avoid glibc deadlock during configure
33694         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
33695         glibc bug 15078 in turn triggers bug 16159.
33696         Reported by Michal Privoznik.
33698 2013-12-02  Pádraig Brady  <P@draigBrady.com>
33700         md5, sha1, sha256, sha512: use openssl routines if available.
33701         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
33702         routines will be used if available, requiring apps to link @LIB_CRYPTO@
33703         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
33704         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
33705         in the standard system location.
33706         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
33707         * m4/sha256.m4: Likewise with SHA256.
33708         * m4/sha512.m4: Likewise with SHA512.
33709         * m4/md5.m4: Likewise with MD5.
33710         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
33711         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
33712         * lib/sha256.h: Likewise with SHA256.
33713         * lib/sha512.h: Likewise with SHA512.
33714         * lib/md5.h: Likewise with MD5.
33715         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
33716         * lib/sha256.c: Likewise with SHA256.
33717         * lib/sha512.c: Likewise with SHA512.
33718         * lib/md5.c: Likewise with MD5.
33719         * modules/crypto/sha1 (Link:): Add the new optional lib.
33720         (Depends-on:): Add dependency on extern-inline.
33721         * modules/crypto/sha256: Likewise.
33722         * modules/crypto/sha512: Likewise.
33723         * modules/crypto/md5: Likewise.
33724         * modules/crypto/sha1-tests: Reference the lib here too.
33725         * modules/crypto/md5-tests: Likewise.
33726         * modules/crypto/gc-des-tests: Likewise.
33727         * modules/crypto/gc-hmac-md5-tests: Likewise.
33728         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33729         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33730         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33731         * modules/crypto/gc-md5-tests: Likewise.
33732         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33733         * modules/crypto/gc-sha1-tests: Likewise.
33734         * modules/crypto/gc-tests: Likewise.
33735         * modules/crypto/hmac-md5-tests: Likewise.
33736         * modules/crypto/hmac-sha1-tests: Likewise.
33737         * modules/crypto/hmac-sha256-tests: Likewise.
33738         * modules/crypto/hmac-sha512-tests: Likewise.
33740 2013-11-29  RV1971  <rv1971@web.de>
33742         base64: (trivial) fix compilation regression on some compilers
33743         * lib/base64.c: Don't return the void function,
33744         instead split to a separate return statement.
33746 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
33748         ignore-value: revert previous code change
33749         * lib/ignore-value.h (ignore_value): Use __extension__ and
33750         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
33751         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
33752         Change the comment to try to explain this better.
33754 2013-11-27  Pádraig Brady  <P@draigBrady.com>
33756         selinux-h: improve stub types and add more stub functions
33758         * lib/se-selinux.in.h: Change security_context_t to a typedef
33759         rather than a define, as it's a pointer type and so is better
33760         as a typedef to avoid issues declaring multiple variables
33761         with the comma operator.  Also add stub for string_to_security_class().
33762         * lib/se-context.in.h: Add stub functions for
33763         context_{type,range,role,user}_get().
33765 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33767         ignore-value: prefer GCC version back through 2.0
33768         The code didn't match the comments, so I did a bit of software
33769         archaeology.  GCC 2.0 seems to support __extension__ and
33770         __typeof__, so fix both code and comments to use 2.0.
33771         * lib/ignore-value.h (ignore_value): Use __extension__ and
33772         __typeof__ for GCC 2.0 through 3.3, too.
33774 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
33776         pty: Activate the signature wrapper of forkpty.
33777         The intended preprocessor macro HAVE_FORKPTY is
33778         never defined, yet `lib/forkpty.c' depends on it.
33780         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
33781         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
33782         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
33784 2013-11-18  Jim Meyering  <meyering@fb.com>
33785         and Paul Eggert  <eggert@cs.ucla.edu>
33787         quotearg: don't attempt to store 1 << 31 into an "int"
33788         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
33789         gcc's new -fsanitize=undefined and running its tests triggered some
33790         new test failures due to undefined behavior, all with this diagnostic:
33791           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
33792             cannot be represented in type int
33793         Rather than shifting "1" left to form a mask, shift the bits right and
33794         simply use "1" as the mask.
33796 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
33798         error: depend on stdio
33799         Problem reported by Nikos Mavrogiannopoulos in
33800         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
33801         * modules/error (Depends-on): Add stdio.
33803 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
33805         * doc/relocatable-maint.texi (Supporting Relocation): Improve
33806         wording.
33807         Reported by Reuben Thomas <rrt@sc3d.org>.
33809 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
33811         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
33812         New function and macro, to work around _DARWIN_C_SOURCE problem.
33813         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
33815 2013-11-11  Pádraig Brady  <P@draigBrady.com>
33817         base64: provide a fast path for encoding well sized buffers
33818         Avoid conditionals in the base64 encoding loop,
33819         which was seen to give 60% better throughput.
33820         * lib/base64.c (base64_encode_fast): A new function to be called
33821         when we don't want to NUL terminate, and we have enough space
33822         in the output to encode the given input.
33823         (base64_encode): Call the _fast() version when appropriate.
33824         Also remove a redundant mask with 0x3F on the first encoded byte.
33826 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33828         extern-inline: port better to OS X 10.9
33829         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
33830         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
33831         OS X 10.9, except for g++ where the bug is still present.
33832         See <http://trac.macports.org/ticket/41033>.
33834 2013-11-08  Eric Blake  <eblake@redhat.com>
33836         fpending: fix regression on DragonFly BSD
33837         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
33838         * lib/fpending.h (__fpending): Don't declare twice.
33839         Reported by GW in
33840         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
33842 2013-11-05  Jim Meyering  <meyering@fb.com>
33844         hash: relax license to LGPLv2+, for libguestfs
33845         * modules/hash (License): Change from GPL to LGPLv2+.
33847 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33849         intprops: port to Oracle Studio c99
33850         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
33851         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
33853 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33855         obstack: pacify HP C
33856         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
33857         warning "conversion from pointer to smaller integer" from HP
33858         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
33859         C89 or later nowadays, so cast to void instead of int.  Privately
33860         reported by H.Merijn Brand.  Also, change header to match glibc's,
33861         to make checking against glibc easier.
33863 2013-10-29  Jim Meyering  <meyering@fb.com>
33865         maint.mk: prefer gpgv2 over gpgv
33866         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
33867         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
33868         Reported by Gary Vaughan.
33870 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
33872         isnan: port to VAX
33873         Reported by John Klos for NetBSD-5/VAX in
33874         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
33875         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
33876         (FUNC): Use it.
33878 2013-10-28  Jim Meyering  <meyering@fb.com>
33880         gnulib-tool: protect against CDPATH
33881         * gnulib-tool: Many "cd" built-in functions print a directory name
33882         to stdout when CDPATH is set, e.g.,
33883           $ bash -c 'CDPATH=/; cd tmp'
33884           /tmp
33885         Unset it, when possible.  Prompted by a comment from Bruce Korb.
33887         maint.mk: restore functionality removed by recent change...
33888         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
33889         the context of a shallow-cloned gnulib repository: "git describe"
33890         would fail in such a directory.  However, that change made it so
33891         the reported gnulib revision no longer includes the version number
33892         or a commit count, even when run from a full clone.
33893         * top/maint.mk (gnulib-version): Use the full "git describe"
33894         output when possible, e.g., the form above, rather than the
33895         abbreviated, no-tag, no-commit-count string, and fall back to
33896         using a 10-byte hash, rather than the default minimal-length
33897         hash prefix, since while the minimal-length one may be fine today,
33898         it is likely not to be unique for very long.
33900 2013-10-26  Jim Meyering  <meyering@fb.com>
33902         maint.mk: fix "release" target to build _version
33903         This fixes a bug in README-release whereby following the outlined
33904         steps, one would publish a tarball whose programs would report
33905         --version output not consistent with the package version number.
33906         This bug caused grep-2.15 to produce a grep program whose
33907         --version option made it print 2.14.56-1e3d rather than 2.15.
33908         * top/maint.mk (release): Making this target build "_version"
33909         ensures that the new version number is reflected in configure.
33911 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
33913         install-reloc: Support multi-binary installation.
33914         * build-aux/install-reloc: Support installing multiple programs in
33915         one invocation, as done by Automake starting with commit
33916         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
33917         Haible <bruno@clisp.org>, archived at
33918         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
33919         Reported by Sylvain <beuc@gnu.org>.
33921 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33923         selinux-h: Really build without selinux when library is missing.
33924         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
33925         continue without selinux, as already told in the warning message.
33927 2013-10-21  Jim Meyering  <meyering@fb.com>
33929         regex: also remove dependency on HAVE_WCSCOLL
33930         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
33932 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
33934         xfreopen: Fix typo. s/frepoen/freopen/
33935         * lib/xfreopen.c: Fix description.
33936         * modules/xfreopen: Likewise.
33938 2013-10-21  Jim Meyering  <meyering@fb.com>
33940         regex: don't depend on wcscoll
33941         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
33942         It is no longer used.
33944 2013-10-20  Jim Meyering  <meyering@fb.com>
33946         error: add the printf attribute to a static function
33947         * lib/error.c (error_tail): Add the printf attribute, to placate
33948         gcc's -Werror=suggest-attribute=format option.
33950 2013-09-30  Jim Meyering  <meyering@fb.com>
33952         fpending, obstack, strerror-override: use pure+const function attrs
33953         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
33954         * lib/obstack.c (_obstack_allocated_p): Likewise.
33955         * lib/obstack.h (_obstack_memory_used): Likewise.
33956         (_obstack_memory_used): Likewise.
33957         * lib/strerror-override.h (strerror_override): Declare with
33958         the "const" attribute.
33960 2013-10-18  Eric Blake  <eblake@redhat.com>
33962         extern-inline: make safe for -Wundef usage
33963         Reported by Vladimir 'phcoder' Serbinenko in
33964         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
33965         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
33967 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33969         mkfifo-tests, etc.: allow HP-UX 11.11 bug
33970         Problem reported by Daniel Richard G. in
33971         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
33972         * doc/posix-functions/mkfifo.texi (mkfifo):
33973         * doc/posix-functions/mkfifoat.texi (mkfifoat):
33974         * doc/posix-functions/mknod.texi (mknod):
33975         * doc/posix-functions/mknodat.texi (mknodat):
33976         Document the HP-UX 11.11 bug.
33977         * tests/test-mkfifo.h (test_mkfifo):
33978         Allow the HP-UX 11.11 bug.
33980 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
33982         acl: allow cross-compilation to Gentoo
33983         Problem reported by Gabriel Marcano in
33984         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
33985         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
33986         test only whether it links.
33988 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
33990         mgetgroups: remove dependency on realloc-gnu
33991         The dependency violates the comment in realloc-gnu, which
33992         says that tests can't depend on realloc-gnu; some tests depend
33993         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
33994         Problem reported by Daniel Richard G. in
33995         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
33996         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
33997         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
33998         not realloc-gnu.
34000 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34002         regex-tests: port to HP-UX 11.11
34003         Problem reported by Daniel Richard G. in
34004         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
34005         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
34007 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34009         verify: document some 'assume' pitfalls
34010         * doc/verify.texi (Compile-time Assertions):
34011         Mention that 'assume (E)' can sometimes slow things down.
34012         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
34014 2013-10-10  Eric Blake  <eblake@redhat.com>
34016         strtoumax: fix typo in previous commit.
34017         * modules/strtoumax (Depends-on): Fix typo.
34018         * modules/strtoimax (Depends-on): Likewise.
34020 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34022         strtoumax: port to Solaris 8
34023         This problem was introduced in the recent HP-UX patch.
34024         Reported by Tom G. Christensen in
34025         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
34026         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
34027         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
34029 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34031         strtoimax, strtoumax: port to HP-UX 11.11
34032         Problem reported by Daniel Richard G. in
34033         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
34034         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
34035         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
34036         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
34037         REPLACE_STRTOUMAX.
34038         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
34039         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
34040         Replace the function if defined as a macro but not as a function.
34041         * modules/inttypes-incomplete (inttypes.h): Substitute
34042         REPLACE_STRTOUMAX.
34043         * modules/strtoumax (configure.ac): Replace strtoumax if
34044         REPLACE_STRTOUMAX.
34046 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34048         strtoimax: port to HP-UX 11.11
34049         Problem reported by Daniel Richard G.
34050         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
34051         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
34052         they might clash with inttypes.h.
34054 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34056         New module 'count-trailing-zeros'.
34057         * MODULES.html.sh: Mention it.
34058         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
34059         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
34060         * modules/count-trailing-zeros-tests:
34061         * tests/test-count-trailing-zeros.c:
34062         New files.
34064         count-leading-zeros: port to MSC; support types wider than 64 bits
34065         The ideas behind the MSC port are stolen from Emacs.
34066         * lib/count-leading-zeros.h:
34067         Don't include verify.h: it's no longer needed, as types wider than
34068         64 bits are now supported.
34069         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
34070         performance with MSC.  All uses changed.  Do not assume that TYPE
34071         has at most 64 bits.
34072         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
34073         All uses changed.  Fold the subtraction from 31 into the table.
34075         count-one-bits: port to MSC; support types wider than 64 bits
34076         The ideas behind the MSC port are stolen from Emacs.
34077         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
34078         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
34079         Don't include verify.h: it's no longer needed, as types wider than
34080         64 bits are now supported.
34081         (COUNT_ONE_BITS_GENERIC): New macro.
34082         (popcount_supported) [_MSC_VER]: New inline function.
34083         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
34084         performance with MSC.  All uses changed.  Do not assume that TYPE
34085         has at most 64 bits.
34086         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
34088 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
34090         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
34091         * lib/mountlist.c (read_file_system_list): fix leak of directory
34092         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
34094 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34096         tests: improve diagnostic when an assertion fails
34097         * tests/macros.h (ASSERT): Report the assertion that failed.
34099 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
34101         verify: new macro 'assume'
34102         This is taken from Emacs, and should be generally useful.
34103         * doc/verify.texi (assume): Document it.
34104         * lib/verify.h (assume): New macro.
34105         (__has_builtin): Expand to 0 if not defined.
34107 2013-09-26  Eric Blake  <eblake@redhat.com>
34109         dup2, dup3: work around another cygwin crasher
34110         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
34111         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
34112         * tests/test-dup2.c (main): Likewise.
34113         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
34114         * lib/dup3.c (dup3): Likewise.
34115         * doc/posix-functions/dup2.texi (dup2): Document it.
34116         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34118         getdtablesize: work around cygwin issue
34119         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
34120         * modules/getdtablesize (configure.ac): Build replacement.
34121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
34122         * modules/unistd (Makefile.am): Expose the witness.
34123         * lib/unistd.in.h (getdtablesize): Declare replacement.
34124         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
34125         * tests/test-getdtablesize.c (main): Test it.
34126         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
34128 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
34130         pmccabe2html: escaping of special characters
34131         Escape all '<', '>', and '&' in HTML output.
34132         * build-aux/pmccabe2html (html_fnc): Call gsub()
34133         instead of sub() to capture all '<', '>', and '&'.
34134         Neither of '<' and '>' is special in a regexp,
34135         so first arguments to gsub() are corrected. Also,
34136         in replacement strings, ampersand must be escaped.
34137         Finally, '&' must be handled first, then '<' and '>'.
34139 2013-09-24  Eric Blake  <eblake@redhat.com>
34141         manywarnings: enable nicer gcc warning messages
34142         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
34143         some -f options for optimal warnings.
34145 2013-09-21  Jim Meyering  <meyering@fb.com>
34147         timespec: use the new TIMESPEC_RESOLUTION in a few more places
34148         * lib/timespec-add.c (timespec_add): Also replace 999999999
34149         with TIMESPEC_RESOLUTION - 1.
34150         * lib/timespec-sub.c (timespec_sub): Likewise.
34152 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
34154         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
34155         Problem reported by Dagobert Michelsen via Eric Blake in
34156         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
34157         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
34158         not AC_COMPILE_IFELSE.
34160 2013-09-23  Eric Blake  <eblake@redhat.com>
34162         configmake: support new --runstatedir option
34163         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
34164         even if autoconf was too old to provide the command line option.
34165         * modules/configmake (Makefile.am): Propagate it to .h file.
34167 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
34169         ctype, string: depend on extern-inline
34170         This is needed to complete the recent OS X fixes.
34171         Also, fix related documentation as suggested by Eric Blake.
34172         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34173         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
34174         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
34175         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
34176         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
34177         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
34178         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
34179         * doc/posix-functions/toupper.texi:
34180         List the 'ctype' gnulib module.
34181         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
34182         * doc/posix-functions/strncpy.texi:
34183         List the 'string' gnulib module.
34184         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
34185         Add string.
34186         * modules/ctype, modules/string (Depends-on): Add extern-inline.
34188 2013-09-19  Pádraig Brady  <P@draigBrady.com>
34190         userspec: support optional parameters to parse_user_spec()
34191         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
34192         then avoid group processing and treat the full spec as a user.
34193         (parse_with_separator): Allow the USERNAME and GROUPNAME to
34194         be optional params (NULL), in which case they're ignored.
34196 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
34198         timespec: new function make_timespec, and new constants
34199         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
34200         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
34201         (make_timespec): New function.
34202         * lib/dtotimespec.c (dtotimespec):
34203         * lib/timespec-add.c (timespec_add):
34204         * lib/timespec-sub.c (timespec_sub):
34205         * lib/utimens.c (validate_timespec):
34206         * lib/utimensat.c (rpl_utimensat):
34207         Use these new constants and functions.
34209         stdio: OS X port of putc_unlocked + extern inline
34210         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
34211         * doc/posix-functions/putc_unlocked.texi:
34212         * doc/posix-functions/putchar_unlocked.texi:
34213         Document this portability problem.
34215         signal: OS X port of sigaddset etc. + extern inline
34216         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
34217         (sigismember): #undef on problematic Apple platforms.
34218         * doc/posix-functions/sigaddset.texi:
34219         * doc/posix-functions/sigdelset.texi:
34220         * doc/posix-functions/sigemptyset.texi:
34221         * doc/posix-functions/sigfillset.texi:
34222         * doc/posix-functions/sigismember.texi:
34223         Document this portability problem.
34225         extern-inline: do not always suppress extern inline on OS X
34226         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
34227         extern inline on Apple only if the particular compile-time
34228         configuration is known to have the problem.
34229         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
34230         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
34231         other Gnulib modules.
34233         extern-inline: document fixes for ctype and wctype macros
34234         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34235         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
34236         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
34237         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
34238         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
34239         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
34240         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
34241         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
34242         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
34243         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
34244         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
34245         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
34246         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
34247         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
34248         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
34249         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
34250         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
34251         * doc/posix-functions/strncpy.texi:
34252         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
34253         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
34254         Document that Gnulib fixes portability problems with these
34255         functions on OS X 10.8 and earlier when called from plain inline
34256         or extern inline functions.
34258 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
34260         fflush, freadahead, fseeko: Fix for Android
34261         Suggested by Bruno Haible in:
34262         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
34263         * lib/stdio-impl.h: Use local __sfileext definition.
34265 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
34267         pmccabe2html: Portability to other awk versions.
34268         The functions systime() and strftime() are available
34269         in Gawk only.  Properly close two HTML-tags 'style'
34270         and 'span'.
34271         * build-aux/pmccabe2html (BEGIN): Store timing
34272         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
34273         systime() in HTML_COMMENT.
34274         (html_header): Correctly close tag 'style'.
34275         (END): Replace strftime() by CHRONOS_TIME.  Close
34276         tag 'span' correctly, not as 'div'.
34278 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
34280         getgroups: statement without effect
34281         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
34282         Change equality conditional to expected assignment.
34284 2013-09-09  Eric Blake  <eblake@redhat.com>
34286         glob: fix compilation
34287         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
34289 2013-09-07  Eric Blake  <eblake@redhat.com>
34291         glob: fix build for platforms without __THROW
34292         * lib/glob.in.h (__THROW): Add definition again.
34294 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
34296         regex-quote: fix buffer access out of bounds
34297         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
34298         * lib/regex-quote.c (regex_quote_spec_pcre):
34299         Fix typo that resulted in an out-of-bounds read.
34301 2013-09-04  Eric Blake  <eblake@redhat.com>
34303         glob: avoid -Wattribute warnings on glibc
34304         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
34305         __THROWNL, not __THROW, on static functions.
34306         * lib/glob.in.h (__THROW): Adjust...
34307         (__THROWNL): ...accordingly.
34309 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34311         headers: check that _GL_INLINE_HEADER_BEGIN is defined
34312         Suggested by Bruce Korb in:
34313         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
34314         * doc/extern-inline.texi (extern inline):
34315         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
34316         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
34317         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
34318         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
34319         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
34320         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
34321         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
34322         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
34323         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
34324         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
34325         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
34326         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
34327         * lib/xtime.h:
34328         Check that _GL_INLINE_HEADER_BEGIN is defined.
34330 2013-08-29  Pádraig Brady  <P@draigBrady.com>
34332         bootstrap: remove the --version requirement from ancillary tools
34333         * build-aux/bootstrap (check_exists): A new refactored function to
34334         determine if a command exists.
34335         (find_tool): Use the new function which does not require the
34336         --version option to be supported.
34337         (check_versions): Use the new function.
34339 2013-08-26  Simon Josefsson  <simon@josefsson.org>
34341         gc: support HMAC-SHA256 and HMAC-SHA512.
34342         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
34343         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
34344         functions.
34345         (gc_hmac_md5): Use symbolic constant.
34346         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
34347         (gc_hmac_sha256, gc_hmac_sha512): New functions.
34348         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
34349         * m4/sha256.m4: Protect against empty expansion.
34350         * m4/sha512.m4: Likewise.
34351         * lib/hmac-sha256.c: New file.
34352         * lib/hmac-sha512.c: Likewise.
34353         * m4/gc-hmac-sha256.m4: Likewise.
34354         * m4/gc-hmac-sha512.m4: Likewise.
34355         * m4/gc-sha256.m4: Likewise.
34356         * m4/gc-sha512.m4: Likewise.
34357         * modules/crypto/gc-hmac-sha256: Likewise.
34358         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34359         * modules/crypto/gc-hmac-sha512: Likewise.
34360         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34361         * modules/crypto/hmac-sha256: Likewise.
34362         * modules/crypto/hmac-sha256-tests: Likewise.
34363         * modules/crypto/hmac-sha512: Likewise.
34364         * modules/crypto/hmac-sha512-tests: Likewise.
34365         * tests/test-gc-hmac-sha256.c: Likewise.
34366         * tests/test-gc-hmac-sha512.c: Likewise
34367         * tests/test-hmac-sha256.c: Likewise.
34368         * tests/test-hmac-sha512.c: Likewise
34370 2013-08-24  Daiki Ueno  <ueno@gnu.org>
34372         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
34373         of AC_CHECK_DECLS.
34375 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34377         selinux-at: omit unnecessary include
34378         * lib/selinux-at.c: Don't include dosname.h; not needed, since
34379         this source file doesn't use its macros, and subsidiary files that
34380         use the macros already include it.
34382 2013-08-21  Eric Blake  <eblake@redhat.com>
34384         d-ino: avoid false negative on symlink
34385         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
34386         Reported by Stephane Chazelas.
34388 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
34390         bootstrap: port to OpenBSD sed
34391         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
34392         does not interpret `-' as a file argument to mean stdin.
34394 2013-08-15  Eric Blake  <eblake@redhat.com>
34396         warnings: minor optimization
34397         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
34399         warnings: check -Wfoo rather than -Wno-foo
34400         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
34401         -Wno-, test if the compiler recognizes the positive form instead.
34403 2013-08-15  Karl Berry  <karl@gnu.org>
34405         * config/srclist-update: add option "doclicense" to placate
34406         pulling *.texi files from Emacs.  Write terse usage
34407         documentation at the top.
34409 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34411         xvasprintf-tests: port to GCC with hardening flags
34412         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
34413         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
34414         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
34416 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34418         fpending: port to recent Cygwin change to stdio_ext.h
34419         Reported by LRN in
34420         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
34421         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
34422         just declare __fpending unless it's a macro.
34423         A duplicate decl shouldn't hurt.
34424         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
34425         call compiles and links, instead of separately checking for
34426         decl and lib function.
34427         * modules/fpending (configure-ac):
34428         Adjust to fpending.m4's renaming of shell variable.
34430 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34432         sys_time: port to OpenBSD
34433         * lib/sys_time.in.h: Simply delegate to the system's header
34434         in the BSDish cases as well.  Problem reported by Mike Miller in
34435         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
34436         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
34437         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
34438         wider than time_t.
34440 2013-08-09  Pádraig Brady  <P@draigBrady.com>
34442         bootstrap: support checksum utils having -c but not --status
34443         * build-aux/bootstrap: Only look for sha1sum if updating po files.
34444         Add sha1 to the list of supported checksum utils since it's now
34445         supported through adjustments below.
34446         (update_po_files): Remove the use of --status
34447         in a way that will suppress all error messages, but since this is
34448         only used to minimize updates, it shouldn't cause an issue.
34449         Exit early if there is a problem updating the po file checksums.
34450         (find_tool): Remove the check for --version support as this
34451         is optional as per commit 86186b17.  Don't even check for the
34452         presence of the command as if that is needed, it's supported
34453         through configuring prerequisites in bootstrap.conf.
34454         Prompt that when a tool isn't found, one can define an environment
34455         variable to add to the hardcoded search list.
34457 2013-08-05  Jim Meyering  <meyering@fb.com>
34459         regex: port to non-glibc/lock-using systems
34460         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
34461         system with GNULIB_LOCK would fail due to absence of the
34462         included "glthread/lock.h".  This would affect any package
34463         for which the "lock" module is used only by the regex module,
34464         and not explicitly used.
34465         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
34466         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
34467         Add a dependency on the "lock" module.
34469 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34471         localecharset: make locale_charset thread-safe on Mac OS X
34472         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
34473         instead of MB_CUR_MAX.
34475 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34477         gettext: update to version 0.18.3
34478         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
34479         require AC_PROG_SED to allow user to specify custom sed command when
34480         generating en@quot PO file.
34482 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
34484         bootstrap: use correct source when copying build-aux files
34485         * build-aux/bootstrap (gnulib_extra_files): This variable is
34486         relative to upstream gnulib layout, not downstream.
34488 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
34490         tmpdir: fix bug in VMS port
34491         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
34492         See Steven M. Schweda in
34493         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
34495 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34497         tmpdir: port to VMS, to // != /, and to long dirs
34498         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
34499         __secure_getenv, so that we're more like the glibc version.
34500         All uses changed.
34501         (path_search): Don't put slash after directory if __VMS.
34502         Problem reported by Steven M. Schweda in
34503         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
34504         Simplify code to add slash; no need for a loop.
34505         Do not remove trailing slash from "//".
34506         Do not assume dlen <= INT_MAX.
34508 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34510         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
34511         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
34512         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
34513         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
34515         accept4, dup3, pipe2: port to Cygwin
34516         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
34517         * lib/accept4.c (accept4) [O_BINARY]:
34518         * lib/dup3.c (dup3) [O_BINARY]:
34519         * lib/pipe2.c (pipe2) [O_BINARY]:
34520         Use set_binary_mode, not setmode.
34521         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
34522         * modules/binary-io (Depends-on): Remove module indicator.
34523         These last two bits undo the previous change to pipe2 and binary-io.
34525 2013-07-09  Pádraig Brady  <P@draigBrady.com>
34527         mountlist: add support for deallocating returned list entries
34528         * lib/mountlist.c (free_mount_entry): A new exported function
34529         to deallocate a mount list entry.
34530         (read_file_system_list): Refactor to use the new deallocation function.
34531         Suggested by Anton Ovchinnikov.
34533 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
34535         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
34536         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
34537         * lib/stdalign.in.h (_Alignas, _Alignof):
34538         Port to FreeBSD 9.1, and to C11 and C++11.
34539         (_Alignas): Also support ICC.
34540         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
34541         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
34543 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34545         fnmatch: don't goto over declaration
34546         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
34547         undefined behavior for goto over a declaration.
34548         Problem reported by Charlie Brown in
34549         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
34551         pipe2: decouple from binary-io a bit
34552         This is for Emacs, which needs pipe2 but not binary-io.
34553         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
34554         * modules/binary-io (Depends-on): Add module indicator.
34556 2013-07-03  Eric Blake  <eblake@redhat.com>
34558         mgetgroups: relax license to LGPLv2+
34559         * modules/getugroups (License): Change from GPLv3+.
34560         * modules/mgetgroups (License): Likewise.
34561         * modules/getgroups (License): Change from LGPLv3+.
34563         xalloc-oversized: relax license to LGPLv2+
34564         * modules/xalloc-oversized (License): Change from GPLv3+.
34566         nproc: relax license to LGPLv2+
34567         * modules/nproc (License): Change from LGPLv3+.
34569         bootstrap: honor --no-git
34570         * build-aux/bootstrap: Don't even try to use git when user is
34571         pointing to a static checkout.
34573 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34575         ignore-value: port to gcc -pedantic
34576         * lib/ignore-value.h (ignore_value):
34577         Port to gcc -pedantic, by using __extension__.
34578         Reindent as per usual gnulib style nowadays.
34579         Simplify GCC version check.
34581 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34583         extern-inline: port to gcc -std=c89
34584         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34585         Do not use __gnu_inline__ if pedantic and pre-C99.
34587 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34589         doc: document extern-inline
34590         * doc/extern-inline.texi: New file.
34591         * doc/gnulib.texi (alloca-opt): Include it.
34592         * m4/extern-inline.m4: Move some comments to documentation,
34593         and others closer to what they describe.
34595         doc: chatter less
34596         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
34597         (updated-stamp): Use it.  This causes 'make' to output just
34598         one file name rather than zillions.
34600         fflush, fseeko: port to musl cross-compiles
34601         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
34602         on some implementation that (1) is not known to be buggy,
34603         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
34604         cross-compiled to so we can't easily check for lack of
34605         conformance.  This is for cross-compiling to musl.
34606         Reported by Rich Felker in
34607         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
34608         * m4/fclose.m4 (gl_FUNC_FCLOSE):
34609         * m4/fflush.m4 (gl_FUNC_FFLUSH):
34610         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
34611         Adjust to above change.
34612         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
34613         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
34614         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
34615         known not to work, or unknown.
34617 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34619         msvc-inval: port to mingw-w64
34620         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
34621         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
34622         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
34624 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
34626         getcwd-lgpl: port to Tru64
34627         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
34628         Problem reported by Steven M. Schweda in
34629         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
34631         tests: port large-fd POSIX spawn tests to OS X
34632         Problem reported by Daiki Ueno in
34633         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
34634         * tests/test-posix_spawn_file_actions_addclose.c:
34635         * tests/test-posix_spawn_file_actions_adddup2.c:
34636         * tests/test-posix_spawn_file_actions_addopen.c:
34637         Include <limits.h>, for OPEN_MAX, if available.
34638         (big_fd): New static function.
34639         (main): Use it.
34641 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
34643         tests/nap.h: use an adaptive delay to avoid ctime update issues
34644         The recent change in nap.h (5191133e) decreased the probability of lost
34645         races to about a third, however such problems could still be observed
34646         in virtual machines and openSUSE's OBS.
34647         Before, nap() detected the needed time once empirically and then used
34648         that delay (together with a small correction multiplier) in further
34649         calls.  This problem has been reported and discussed several times,
34650         including guesses about possible kernel issues:
34651         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
34652         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
34653         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
34654         http://bugs.gnu.org/12820
34655         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
34656         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
34657         Now, nap() avoids the race alltogether by verifying on a reference
34658         file whether a timestamp difference has happened.
34659         * tests/nap.h (nap_fd): Define file descriptor variable for the
34660         witness file.
34661         (nap_works): Change return value to bool.  Change passing
34662         the old file's status by value instead of by reference as this function
34663         does no longer update that timestamp; rename the function argument from
34664         st to old_st.  Remove the local variables cdiff and mdiff because that
34665         function now returns true/false instead of the precise delay.
34666         (guess_delay): Remove function.
34667         (clear_tmp_file): Add new function to close and unlink the witness file.
34668         (nap): Instead of re-using the delay which has been calculated during
34669         the first call, avoid the race by actually verifying that a timestamp
34670         difference can be observed on the current file system.  Use an adaptive
34671         approach for the delay to minimize execution time.  Assert that the
34672         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
34673         = 2^31 - 1 = 2.1s.
34674         Use atexit to call clear_tmp_file when the process terminates.
34676 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
34678         sig2str: port to C++
34679         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
34680         Reported by Daniel J Sebald in
34681         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
34683 2013-05-30  Eric Blake  <eblake@redhat.com>
34685         docs: mention cygwin shortcoming in <sys/un.h>
34686         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
34688         vasnprintf: silence mingw compiler warning
34689         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
34691 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34693         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
34694         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
34695         This fixes a porting bug I recently reintroduced in regex, and
34696         some other instances that I discovered while testing the fix.
34697         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
34698         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
34699         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
34700         with an empty argument if this is a pedantic pre-C99 GCC.
34701         * lib/verify.h: Do not use _Static_assert if this is a pedantic
34702         pre-C11 GCC.
34704         regex: adapt to locking regime instead of depending on pthread
34705         Instead of depending on pthread, adapt to whatever thread
34706         modules are in use.  Problem reported by Ludovic Courtès in
34707         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
34708         and by Mats Erik Andersson in
34709         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
34710         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34711         Support either the 'lock' module, or the 'pthread' module, or
34712         no module.
34713         (lock_lock, lock_unlock): New macros.
34714         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
34715         * modules/lock, modules/pthread (configure.ac): Add module indicator.
34716         * modules/regex (Depends-on): Remove pthread.
34718 2013-05-22  Eric Blake  <eblake@redhat.com>
34720         getgroups: document portability issues
34721         * doc/glibc-functions/initgroups.texi (initgroups): Mention
34722         multithread safety.
34723         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
34724         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
34725         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
34726         getugroups.
34727         * doc/posix-functions/getgroups.texi (getgroups): Mention
34728         multithread safety and mgetgroups.
34730 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
34732         test-lchown, test-chown: also skip test if chown fails with EPERM
34733         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
34734         skip this test, to handle FAT file systems.
34735         * tests/test-chown.h (test_chown): Likewise.
34737 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34739         regex: fix dfa race in multithreaded uses
34740         Problem reported by Ludovic Courtès in
34741         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
34742         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34743         New macros.  All uses of __libc_lock_define, __libc_lock_init
34744         changed to use the first two of these.
34745         (__libc_lock_lock, __libc_lock_unlock): New macros, for
34746         non-glibc platforms.
34747         (struct re_dfa_t): Define the lock unconditionally.
34748         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
34749         '#ifdef _LIBC"s.
34750         * modules/regex (Depends-on): Add pthread, if we use the
34751         included regex.
34753         * lib/regcomp.c: Do actions that are not needed for glibc,
34754         but may be needed elsewhere.
34755         (regfree, re_compile_internal): Destroy the lock.
34756         (re_compile_internal): Check for lock-initialization failure.
34758         malloca: port to compilers that reject size-zero arrays
34759         This fixes a bug introduced in my previous patch.
34760         * lib/malloca.c (struct preliminary_header): Use an int
34761         rather than a character array of size int; that's simpler.
34762         (struct header): Remove, replacing with ...
34763         (union header): New type.  This avoids the need for declaring a
34764         character array of size zero, which is not allowed on some platforms.
34765         All uses changed.
34767 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
34769         parse-datetime, tests: don't use "string" + int
34770         Recent versions of 'clang' complain about C source code that
34771         uses expressions of the form '"string literal" + integer',
34772         I guess on the theory that it's confusing for readers who are
34773         used to C++.  On those grounds I suppose it's OK to make this
34774         minor style change.
34775         * lib/parse-datetime.y (parse_datetime):
34776         * tests/test-fchdir.c (main):
34777         * tests/test-snprintf-posix.h (test_function):
34778         * tests/test-snprintf.c (main):
34779         * tests/test-vasnprintf-posix.c (test_function):
34780         * tests/test-vasnprintf.c (test_function):
34781         * tests/test-vsnprintf.c (main):
34782         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
34783         Rewrite '"str" + E' to '&"str"[E]'.
34785 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34787         argmatch: port to C++
34788         * lib/argmatch.h [__cplusplus]: Add extern "C".
34790         argp: typo fix
34791         * lib/argp-help.c: Typo in comment.
34793 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34795         manywarnings: update for GCC 4.8.0
34796         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
34797         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
34798         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
34799         -Wmissing-noreturn, as they are duplicates of other warnings.
34800         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
34801         was documented to be flaky in earlier versions of GCC.
34803         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
34804         * tests/test-spawn.c (main):
34805         * tests/test-sys_socket.c (main):
34806         * tests/test-sys_wait.c (main):
34807         Don't have a switch value that isn't covered by a case.
34809         getaddrinfo-tests: port --enable-gcc-warnings to clang
34810         * tests/test-getaddrinfo.c (simple):
34811         Avoid casts from looser to stricter-aligned pointers.
34813         thread: port --enable-gcc-warnings to clang
34814         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
34815         Include <signal.h>, to pacify a warning about pthread_sigmask.
34817         stdio: use __REDIRECT for fwrite, fwrite_unlocked
34818         * lib/stdio.in.h (fwrite):
34819         When working around bug 11959, use __REDIRECT rather than '#define
34820         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
34821         fix the -Wunused-value issue with clang, and it works with GCC too.
34822         Problem with targeting reported by Eric Blake in
34823         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
34824         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
34825         debugging the fwrite issue.
34827         stdio: port --enable-gcc-warnings to clang
34828         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
34829         since the GCC workaround for fwrite does not pacify clang.
34831         sig2str: port --enable-gcc-warnings to clang
34832         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
34834         obstack: port --enable-gcc-warnings to clang
34835         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
34836         Avoid casts from looser to stricter-aligned pointers.
34838         memchr2: port --enable-gcc-warnings to clang
34839         * lib/memchr2.c (memchr2):
34840         Avoid casts from looser to stricter-aligned pointers.
34842         mbsstr: port --enable-gcc-warnings to clang
34843         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
34844         Avoid casts from looser to stricter-aligned pointers.
34846         malloca: port --enable-gcc-warnings to clang
34847         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
34848         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
34850         inttostr: port --enable-gcc-warnings to clang
34851         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
34853         warnings: port to clang
34854         Problem reported by Daniel P. Berrange via Eric Blake in
34855         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
34856         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
34857         (gl_WARN_ADD): Use it.
34859 2013-05-11  Jim Meyering  <meyering@fb.com>
34861         quotearg: do not read beyond end of buffer
34862         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
34863         end of an ARG for which no length was specified.  With an N-byte
34864         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
34865         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
34866         via coreutils' misc/sort-debug-keys.sh test and detected by running
34867         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
34868         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
34869         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
34870         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
34871         characters correctly."
34873 2013-05-11  Daiki Ueno  <ueno@gnu.org>
34875         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
34876         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
34877         compilation target is Mac OS X 10.6.
34878         Problem reported by parafin and Andoni Morales in
34879         <http://savannah.gnu.org/bugs/?37844> and
34880         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
34882 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34884         mkdir-p: remove assumptions about umask and mode
34885         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
34886         umask is 0, or that MODE is a subset of MODE_BITS.
34888 2013-05-10  Eric Blake  <eblake@redhat.com>
34890         maint.mk: catch more abuse of HAVE_DECL in syntax-check
34891         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
34893 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
34895         deps: require Automake >= 1.9.6 in generated Makefile fragments
34897         That is the same minimal version required in the DEPENDENCIES file.
34898         Moreover, the old code generated a requirement of Automake >= 1.5,
34899         and that is an insanely outdated version.
34901         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
34902         * tests/havelib/rpathlx/Makefile.am: Likewise.
34903         * tests/havelib/rpathly/Makefile.am: Likewise.
34904         * tests/havelib/rpathlyx/Makefile.am: Likewise.
34905         * tests/havelib/rpathlz/Makefile.am: Likewise.
34906         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
34907         * tests/havelib/rpathx/Makefile.am: Likewise.
34908         * tests/havelib/rpathy/Makefile.am: Likewise.
34909         * tests/havelib/rpathz/Makefile.am: Likewise.
34911 2013-05-08  Eric Blake  <eblake@redhat.com>
34913         bootstrap: AC_INIT may have more than four parameters
34914         * build-aux/bootstrap (extract_package_name): Correctly extract
34915         non-empty tarname field.  Avoid range in regex.
34916         Based on a report by Sami Kerola <kerolasa@iki.fi>.
34918 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
34920         qacl: port to MS-Windows port of GNU Emacs
34921         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
34922         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
34923         port of GNU Emacs.  Problem reported by Eli Zaretskii in
34924         <http://bugs.gnu.org/14295#14>.
34926 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
34928         acl: include quote.h
34929         * lib/copy-acl.c: Include quote.h.
34930         * lib/set-acl.c: Likewise.
34932 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
34934         fchownat, renameat, unlinkat: update statat dependencies
34935         These modules use statat and lstatat, not fstatat; so depend on
34936         the statat module, which was split out recently from fstatat.
34937         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
34938         * modules/renameat: Likewise.  Also delete fstat.
34939         URL: http://bugs.gentoo.org/468790
34941 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
34943         Assume gnulib is checked out from Git, not CVS
34945         In fact, access to the gnulib repository through CVS has been
34946         disabled, or more precisely, got broken and was never restored; see:
34947         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
34949         Note that support for CVS is not removed completely and unthinkingly
34950         by this change: only support for CVS checkouts of gnulib itself is
34951         removed.  For example, the 'bootstrap' script still cater to .cvsingore
34952         files and CVS directories, for the benefit of those poor gnulib clients
34953         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
34955         * gnulib-tool: Simplify accordingly.
34956         * posix-modules: Likewise.
34957         * MODULES.html.sh: Likewise.
34958         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
34959         repository.
34960         * doc/gnulib-intro.texi: Likewise.
34961         * doc/gnulib-readme.texi: Likewise.
34962         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
34963         sample '.gitignore' file rather than a sample '.cvsignore'.
34964         * NEWS: Update.
34965         * m4/extensions.m4: While at it, remove a comment mistakenly referring
34966         to "CVS Autoconf" rather than "git Autoconf".
34968 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
34970         utimensat-tests, etc.: try to fix some races
34971         Problem reported by Bernhard Voelker in
34972         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
34973         I don't know whether this patch fixes that race condition, but it
34974         fixes *some* race conditions, so it should be a win.
34975         * modules/chown-tests (Depends-on):
34976         * modules/fchownat-tests (Depends-on):
34977         * modules/fdutimensat-tests (Depends-on):
34978         * modules/futimens-tests (Depends-on):
34979         * modules/lchown-tests (Depends-on):
34980         * modules/stat-time-tests (Depends-on):
34981         * modules/utimens-tests (Depends-on):
34982         * modules/utimensat-tests (Depends-on):
34983         Depend on nanosleep, not usleep.
34984         * modules/chown-tests (test_chown_LDADD):
34985         * modules/lchown-tests (test_lchown_LDADD):
34986         * modules/stat-time-tests (test_stat_time_LDADD):
34987         New macro.
34988         * modules/fchownat-tests (test_fchownat_LDADD):
34989         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
34990         * modules/futimens-tests (test_futimens_LDADD):
34991         * modules/utimens-tests (test_utimens_LDADD):
34992         * modules/utimensat-tests (test_utimensat_LDADD):
34993         Add $(LIB_NANOSLEEP).
34994         * modules/stat-time-tests (Files): Add tests/nap.h.
34995         * tests/nap.h: Include <limits.h>, for INT_MAX.
34996         (lt_mtime): Remove.
34997         (diff_timespec): New function.
34998         (get_stat): Rename from get_mtime.  All callers changed.
34999         (nap_works): Determine the needed delay by inspecting the
35000         file system's timestamp jumps; this should be more reliable.
35001         Look at both mtime and ctime, and take the maximum of the two jumps.
35002         (nap_works, guess_delay):
35003         Return a nanosecond count, not a microsecond count.
35004         All callers changed.
35005         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
35006         failure.
35007         (nap): Multiply the guess by 1.125, to accommodate the case where
35008         the file system's clock is a bit slower than nanosleep's clock.
35009         * tests/test-stat-time.c (BASE): New macro.
35010         Include nap.h.
35011         (nap): Remove; nap.h now defines this.  This removes a duplicate
35012         implementation of 'nap'.
35014         utimens, utimensat: work around Solaris UTIME_OMIT bug
35015         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
35016         Linux kernel 2.6.32 does.  Work around it in the same way.
35017         * doc/posix-functions/futimens.texi (futimens):
35018         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
35019         * lib/utimens.c (fdutimens, lutimens):
35020         * lib/utimensat.c (rpl_utimensat): Work around the bug.
35022         gettext: now it's your responsibility to add -I$(top_builddir)/intl
35023         Formerly, it was your responsibility to do this for all Makefile.ams
35024         other than Gnulib's.  Now it's your responsibility to do it for
35025         Gnulib's Makefile.am, too.
35026         * NEWS: Document this.
35027         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
35029         acl: include errno.h to get errno
35030         Reported by Daiki Ueno in
35031         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
35032         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
35034 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
35036         tests: don't assume getdtablesize () <= 10000000
35037         * modules/cloexec-tests:
35038         * modules/dup2-tests:
35039         * modules/dup3-tests:
35040         * modules/nonblocking-tests:
35041         * modules/posix_spawn_file_actions_addclose-tests:
35042         * modules/posix_spawn_file_actions_adddup2-tests:
35043         * modules/posix_spawn_file_actions_addopen-tests:
35044         * modules/unistd-safer-tests:
35045         Depend on the getdtablesize module.
35046         * tests/test-cloexec.c:
35047         * tests/test-dup-safer.c:
35048         * tests/test-dup2.c:
35049         * tests/test-dup3.c:
35050         * tests/test-fcntl.c:
35051         * tests/test-nonblocking.c:
35052         * tests/test-posix_spawn_file_actions_addclose.c:
35053         * tests/test-posix_spawn_file_actions_adddup2.c:
35054         * tests/test-posix_spawn_file_actions_addopen.c:
35055         Don't assume getdtablesize () <= 10000000.
35057 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
35059         extern-inline: work around bug in Sun c99
35060         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35061         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
35063 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
35065         qacl: new module, broken out from the acl module
35066         This is for GNU Emacs, which wants the acl functions but does
35067         not want 'error' invoked when they fail.
35068         * lib/acl-internal.h: Do not include error.h, quote.h.
35069         (ENOSYS, ENOTSUP): Remove; no longer needed.
35070         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
35071         * lib/acl.h: Include <stdbool.h>.
35072         (acl_errno_valid): New function.
35073         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
35074         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
35075         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
35076         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
35077         (ACL_INTERNAL_INLINE): Remove; no longer needed.
35078         * lib/file-has-acl.c (file_has_acl):
35079         * lib/qcopy-acl.c (qcopy_acl):
35080         * lib/qset-acl.c (qset_acl):
35081         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
35082         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
35083         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
35084         lib/file-has-acl.c, m4/acl.m4 to qacl module.
35085         Add lib/set-acl.c.
35086         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
35087         Add qacl.
35088         (configure.ac): Move gl_FUNC_ACL to qacl module.
35089         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
35090         Rename set-mode-acl.c to set-acl.c.
35091         * lib/acl-errno-valid.c: New file.
35092         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
35093         copy_acl function remains in copy-acl.c.
35094         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
35095         (_): Remove; not needed.
35096         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
35097         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
35098         * modules/qacl: New file, moved from the old modules/acl.
35099         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
35100         Remove set-mode-acl.c, copy-acl.c.
35101         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
35103         alignof, intprops, malloca: port better to IBM's C compiler
35104         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
35105         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
35106         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
35108 2013-04-25  Daiki Ueno  <ueno@gnu.org>
35110         wctype-h: fix gettext link error on mingw
35111         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
35112         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
35113         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
35114         rpl_towupper and rpl_towupper.
35116 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
35118         regex-tests, regex: allow glibc re_search behavior
35119         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
35120         re_search input data to make the multi-character collating element
35121         in it clearly visible, and treat re_search return code 0 as valid.
35122         * m4/regex.m4 (gl_REGEX): Likewise.
35124 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35126         stdalign: doc fix
35127         * doc/posix-headers/stdalign.texi (stdalign.h):
35128         Gnulib doesn't support '_Alignof expr'.
35130 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
35132         stdalign: port to stricter ISO C11
35133         ISO C11 says that _Alignof's operand must be a parenthesized type.
35134         Problem reported by Eli Zaretskii in
35135         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
35136         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
35137         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
35139 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
35141         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
35142         Problem reported by Marco Atzeri in
35143         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
35144         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
35145         Simply delegate to the system <sys/select.h> in this case too.
35146         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
35147         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
35148         be needed on Solaris either.
35149         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35150         Simply delegate to the system <sys/time.h> in this case.
35152 2013-03-19  Karl Berry  <karl@gnu.org>
35154         * build-aux/gnupload: check for erroneous (with gnupload) use of
35155         ftp-upload.gnu.org, tweak help.
35157 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
35159         copy-file, rpmatch: fix problems found by cppcheck
35160         Reported by Arno Onken in
35161         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
35162         * lib/rpmatch.c (try): Fix memory leak.
35163         * lib/copy-file.c: Include "ignore-value.h".
35164         (qcopy_file_preserving): Ignore chown value.
35165         * modules/copy-file (Depends-on): Add ignore-value.
35167 2013-01-27  Jim Meyering  <jim@meyering.net>
35169         prefix-gnulib-mk: give better diagnostics
35170         * build-aux/prefix-gnulib-mk: Don't just "die".
35171         Give better diagnostics upon failure.
35173 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
35175         putenv: port to Solaris 10
35176         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
35177         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
35178         is not what is wanted here.
35179         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
35180         declaration, not for its existence.
35182 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
35184         mktime: fix configure typo
35185         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
35187 2013-03-12  Eric Blake  <eblake@redhat.com>
35189         regex-tests: skip UTF-8 test on mingw
35190         * modules/regex-tests (Depends-on): Add localcharset.
35191         * tests/test-regex.c (main): Use it to skip test on mingw.
35193 2013-03-11  Eric Blake  <eblake@redhat.com>
35195         tests: make it easier to bypass alarm time in debugger
35196         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
35197         * tests/test-memmem.c (main): Likewise.
35198         * tests/test-passfd.c (main): Likewise.
35199         * tests/test-ptsname.c (main): Likewise.
35200         * tests/test-ptsname_r.c (main): Likewise.
35201         * tests/test-strcasestr.c (main): Likewise.
35202         * tests/test-strstr.c (main): Likewise.
35204         regex: port to mingw's recent addition of undeclared alarm
35205         * doc/posix-functions/alarm.texi (alarm): Document that alarm
35206         exists but still doesn't work in newer mingw.
35207         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
35208         not existence.  Ensure SIGALRM is not trapped.
35209         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
35210         * m4/regex.m4 (gl_REGEX): Likewise.
35211         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
35212         * tests/test-regex.c (main): Use correct probe for alarm.
35214         putenv: avoid compilation warning on mingw
35215         * lib/putenv.c (_unsetenv): Protect variable declaration.
35216         (putenv): Fix indentation.
35218 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
35220         unistd: don't prevent Tru64 Unix from using gnulib strtod.
35221         * lib/unistd.in.h: be careful not to include un-needed system
35222         stdlib.h from here, because that prevents gnulib stdlib.h from
35223         defining rpl_strtod correctly.
35225 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
35227         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
35228         changesets, but for the 'precision 0' test.
35229         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35230         round-to-even, since POSIX says rounding is implementation-defined
35231         and OS X 10.8.2 rounds 1.51 to 1 here.
35233         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
35234         changeset.
35235         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35236         round-to-even, since POSIX says rounding is implementation-defined
35237         and OS X 10.8.2 rounds 1.5 to 1 here.
35239 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
35241         vasnprintf-posix-tests: allow rounding 1.5 to 1
35242         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
35243         round-to-even, since POSIX says rounding is implementation-defined
35244         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
35245         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
35247         bootstrap: port to FreeBSD
35248         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
35249         that treat '--' differently.  Reported by Mats Erik Andersson in
35250         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
35252 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
35254         regex: rename remaining __attribute calls to __attribute__.
35255         2012-02-25 changed definition of __attribute, but left some uses
35256         unchanged, preventing compilation of regex module on most non-gcc
35257         environments.
35258         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
35259         (lookup_collation_sequence_value, build_range_exp)
35260         (build_collating_symbol): Set attributes with newly renamed
35261         __attribute__ decorator.
35262         * lib/regex_internal.c (re_string_peek_byte_case)
35263         (re_node_set_compare, re_node_set_contains): Likewise.
35264         * lib/regexec.c (acquire_init_state_context): Likewise.
35266 2013-03-06  Bruno Haible  <bruno@clisp.org>
35268         execute: Revert last change, but use a different condition.
35269         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
35270         on Windows.
35272 2013-03-05  Eric Blake  <eblake@redhat.com>
35274         execute: drop dead code
35275         * lib/execute.c (nonintr_close, nonintr_open): Delete.
35277 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
35279         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
35280         * m4/non-recursive-gnulib-prefix-hack.m4
35281         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
35282         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
35283         <http://bugs.gnu.org/10305#237>.
35285 2013-03-04  Eric Blake  <eblake@redhat.com>
35287         test-getsockopt: avoid compiler warning
35288         * tests/test-getsockopt.c (includes): Ensure close is declared.
35290 2013-03-02  Bruno Haible  <bruno@clisp.org>
35292         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
35293         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
35295 2013-03-02  Bruno Haible  <bruno@clisp.org>
35297         gettext: Update to version 0.18.2.
35298         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
35299         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
35300                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
35302 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35304         regex: merge patches from libc
35306         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
35307         * lib/regex_internal.h (__attribute__): Rename from __attribute.
35308         All uses changed.
35309         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
35310         (re_string_wchar_at, re_string_elem_size_at):
35311         Mark function as possibly unused.
35313         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
35314         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
35315         elements compare against the byte sequence of it, not its name.
35317 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35319         putenv: port better to native Windows
35320         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35321         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
35322         (_unsetenv): Use _putenv if available.
35323         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
35324         a bit less likely to cause damage.
35325         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35326         Fix the wrong value with SetEnvironmentVariable.
35327         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
35328         code better.
35330 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35332         regex: ignore old-style-definition warnings
35333         * lib/regex.c: Add pragma to ignore these warnings.
35334         Problem reported for GNU tar by Pavel Raiskup.
35336 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35338         getcwd: support coreutils better
35339         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
35340         but this might not be correct in coreutils, which disables
35341         the raw decl checks.  Problem reported by Nagendra in
35342         <http://bugs.gnu.org/10305#192>.
35343         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
35344         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
35345         Test the getcwd function, not any macro, since getcwd.c wants the
35346         function.
35347         * m4/getcwd.m4 (gl_FUNC_GETCWD):
35348         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
35349         compile, as might happen if there's a macro but no function.
35351         strtod: support coreutils better
35352         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
35353         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
35354         disables the raw decl checks.  This assumes there is an underlying
35355         strtod, but that's a safe assumption these days.
35356         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
35358         mountlist: port to HP NonStop
35359         Reported by Joachim Schmitz in
35360         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
35361         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
35362         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
35364 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
35366         extern-inline: avoid compilation error with HP-UX cc
35367         Reported by Richard Lloyd in
35368         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
35369         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35370         Suppress extern inline with HP-UX cc.  This should be safe,
35371         though it may hurt performance.  Perhaps someone with some HP-UX
35372         experience can come up with a higher-performance fix.
35374 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35376         putenv: fix heap corruption with mixed putenv/_putenv
35377         Problem reported by Michael Goffioul in
35378         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
35379         * lib/putenv.c (putenv) [HAVE__PUTENV]:
35380         Rely on _putenv to allocate the new environment.
35381         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
35382         * modules/putenv (configure.ac): Use it.
35384 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
35386         unsetenv etc.: port to Solaris 11 + GNU Emacs
35387         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
35388         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
35389         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
35390         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
35391         idea but is too painful to fix right now), and without this gnulib
35392         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
35393         compiling unsetenv.c on Solaris 11.  Fix the problem for
35394         unsetenv.c, and fix other similar occurrences.
35396 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
35398         secure_getenv: fix C++ declaration typo
35399         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
35400         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
35401         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
35403 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
35405         careadlinkat: stop exporting careadlinkatcwd
35406         Only Emacs used it directly, and Emacs no longer needs it.
35407         * NEWS: Document this simplification.
35408         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
35409         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
35410         for readlink.
35411         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
35412         Don't include stdlib.h; no longer needed.
35413         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
35414         * lib/relocwrapper.c: Adjust comment to match new dependencies.
35415         * modules/areadlink (Depends-on): Add readlink.
35416         (Maintainer): Add self.
35417         * modules/careadlinkat (Depends-on): Remove readlink.
35419         extensions: port better to HP-UX
35420         This is merged from git Autoconf.
35421         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35422         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
35423         so that it's compatible with the value used when compiling.
35425         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
35426         Problem reported by Mats Erik Andersson in
35427         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
35428         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35429         openpty function exists, not merely when we intend to replace it.
35430         This corrects the 2013-01-31 patch, which mistakenly defined
35431         HAVE_OPENPTY even on hosts that lacked it.
35433 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35435         secure_getenv: fix include typo
35436         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
35438         secure_getenv: port better to FreeBSD and Solaris
35439         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
35440         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
35441         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
35442         This works better on BSDish platforms.
35443         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
35444         Test for issetugid if __secure_getenv is missing.
35446 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
35448         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
35449         Some of these changes are merged in from git Autoconf.
35450         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35451         When deciding whether to define _XOPEN_SOURCE, inspect the
35452         preprocessor macro __hpux instead of the more-heavyweight
35453         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
35454         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
35455         as the key for __EXTENSIONS__.
35457         unistd: avoid namespace pollution on non-glibc systems
35458         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
35459         This avoids namespace pollution on non-glibc systems, by causing
35460         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
35461         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
35462         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
35464 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35466         tmpdir: use secure_getenv
35467         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
35468         Define to secure_getenv, not getenv.
35469         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
35470         as that's now secure_getenv's job.
35471         * modules/tmpdir (Depends-on): Add secure_getenv.
35473         tempname: use secure_getenv
35474         * lib/tempname.c (__secure_getenv) [!_LIBC]:
35475         Define to secure_getenv, not getenv.
35476         * modules/tempname (Depends-on):
35477         Add secure_getenv.
35479         secure_getenv: new module
35480         * MODULES.html.sh (Extra functions based on ANSI C 89):
35481         Add secure_getenv.
35482         * doc/glibc-functions/secure_getenv.texi: New file.
35483         * doc/gnulib.texi: Include it.
35484         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
35485         New files.
35486         * lib/stdlib.in.h (secure_getenv): New decl.
35487         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
35488         * modules/stdlib (stdlib.h):
35489         Add secure_getenv checks.
35491 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35493         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
35494         Reported for OS X 10.8.2 by Assaf Gordon in
35495         <http://bugs.gnu.org/13516>.
35496         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
35497         !HAVE_OPENAT && !HAVE_FDOPENDIR.
35498         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
35499         so that they can be kept in sync more easily.  Avoid PATH_MAX
35500         test on the Hurd.  Sync from test-getcwd.c for errno tests after
35501         mkdir or chdir failure.
35502         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
35503         lib/getcwd.c.
35504         (test_abort_bug): Do not test for the deep directory bug unless we
35505         have openat support.  Avoid PATH_MAX test on the Hurd.
35507         regex-tests, regex: fix bug: memset undeclared
35508         * tests/test-regex.c: Don't include regex.h twice.  Include
35509         string.h, to declare memset.  Christensen's report also mentioned
35510         this issue.
35511         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
35512         test-regex.c, to avoid future problems like this.  Remove
35513         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
35514         twice.
35516         regex-tests: fix link errors on older Solaris
35517         These need to link with @LIBINTL@ to get libintl_gettext.
35518         Problem reported by Tom G. Christensen in
35519         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
35520         * modules/regex-tests (test_regex_LDADD): New macro.
35522 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35524         regex-tests: new module
35525         * modules/regex-tests, tests/test-regex.c: New files.
35527         regex: fix off-by-one error in configure test
35528         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
35530 2013-01-31  Eric Blake  <eblake@redhat.com>
35532         regex: avoid infinite configure test
35533         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
35535 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
35537         openpty: fix bug where HAVE_OPENPTY wasn't defined
35538         See the thread starting at:
35539         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
35540         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35541         openpty function exists, not merely when we intend to replace it.
35543 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
35545         sys_time: port to Solaris 2.6
35546         There is a circularity problem on Solaris 2.6, where <time.h> includes
35547         <sys/time.h> for struct timespec.  The include nesting is gnulib
35548         <time.h>, system <time.h>, gnulib <sys/time.h>, system
35549         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
35550         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
35551         <sys/siginfo.h>; the last, innermost file needs struct
35552         timestruc_t, which is defined in <sys/time.h>, which has not been
35553         fully parsed.  Problem reported by Tom G. Christensen in
35554         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
35555         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
35556         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
35557         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
35558         uses split double-inclusion guards.
35560 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35562         regex: test for buffer overrun
35563         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
35564         for the just-fixed regex bug.
35566 2013-01-29  Andreas Schwab  <schwab@suse.de>
35568         regex: fix buffer overrun in regexp matcher [BZ #15078]
35569         * lib/regexec.c (extend_buffers): Add parameter min_len.
35570         (check_matching): Pass minimum needed length.
35571         (clean_state_log_if_needed): Likewise.
35572         (get_subexp): Likewise.
35574 2013-01-28  Pádraig Brady  <P@draigBrady.com>
35576         mountlist: don't consider "devtmpfs" as dummy
35577         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
35578         as there is storage associcated with it.
35580 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35582         futimens-tests, utimens-tests: Depend on gettext.
35583         This works around a problem introduced in my 2013-01-12 patch,
35584         which added @LIBINTL@ to these modules.
35585         * modules/futimens-tests (Depends-on):
35586         * modules/utimens-tests (Depends-on): Add gettext.
35588 2013-01-26  Eric Blake  <eblake@redhat.com>
35590         test-getpeername: fix typo
35591         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
35593 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
35595         bootstrap: remove the need for a sorted .gitignore file
35596         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
35597         rename to insert_if_absent(), so that we don't need or generate
35598         a sorted .gitignore file.  We do require a .gitignore with no
35599         existing duplicate entries and enforce that.
35600         (sort_patterns): Remove this function as we now use the simpler
35601         technigue of inserting blacklist entries at the top of the file,
35602         assuming gnulib won't be inserting !whitelist entries.
35604 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35606         readlinkat: don't depend on gl_FUNC_OPENAT
35607         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
35608         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
35609         renameat.m4, symlinkat.m4; but one thing at a time.
35611         statat: new module, split out from fstatat
35612         GNU Emacs needs the POSIX-specified fstatat, but not the
35613         gnulib-specified statat and lstat.  Split the latter two into a
35614         new module 'statat'.
35615         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
35616         * lib/openat.h, lib/statat.c (STATAT_INLINE):
35617         Rename from FSTATAT_INLINE. All uses changed.
35618         * modules/fstatat (Files): Remove lib/statat.c.
35619         (gl_MODULE_INDICATOR([fstatat])): Remove.
35620         (lib_SOURCES): Remove.
35621         (Maintainer): Add self.
35622         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
35623         * tests/test-fstatat.c (BASE): Don't define if already defined.
35624         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
35626 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35628         tests: don't assume fd 99 is closed
35629         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
35630         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
35631         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
35632         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
35633         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
35634         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
35635         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
35636         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
35637         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
35638         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
35639         * tests/test-fwrite.c, tests/test-getpeername.c:
35640         * tests/test-getsockname.c, tests/test-getsockopt.c:
35641         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
35642         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
35643         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
35644         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
35645         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
35646         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
35647         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
35648         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
35649         * tests/test-unlinkat.c, tests/test-unlockpt.c:
35650         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
35651         Close file descriptor 99, instead of assuming it's already closed.
35653 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
35655         stpncpy: port to OS X 10.8
35656         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
35657         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
35659 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35661         unistd: port to recent mingw
35662         * lib/unistd.in.h: Remove special invocation convention for mingw,
35663         which breaks for the latest mingw version.  See John W. Eaton in
35664         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
35666         largefile: port better to Mac OS X 10.5
35667         This patch is backported from Autoconf git.
35668         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
35669         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
35670         with ino_t size being different for configuration time versus
35671         build/run time.  Problem reported by PHO in
35672         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
35674 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35676         doc: clarify -Werror
35677         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
35678         clarify that it's intended for developers, not for ordinary builds,
35679         and mention --enable-gcc-warnings as one possible use.
35681 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
35683         stdint: fix build with Android's Bionic fox x86
35684         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
35685         was already included as _SSIZE_T_DEFINED_ might also be defined
35686         in include/machine/_types.h, which is included by stdio.h
35688 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
35690         net_if-tests: port to Solaris 7 + GCC 3.4.6
35691         Problem reported by Tom G. Christensen in
35692         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
35693         * tests/test-net_if.c (ni): Move to next the code that uses it,
35694         so that it's declared only if needed.
35696 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35698         net_if-tests: port to older Solaris
35699         Problem reported by Tom G. Christensen in
35700         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35701         * modules/net_if-tests (NET_IF_LIB): New substitution.
35702         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
35703         (HAVE_IF_NAMEINDEX): New C macro.
35704         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
35706         system-quote-tests: port to older Solaris
35707         Problem reported by Tom G. Christensen in
35708         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35709         * tests/test-system-quote-child.c (fopen, fread): Undef.
35711         c-xvasprintf etc.: fix link errors on older Solaris
35712         These need to link with @LIBINTL@ to get libintl_gettext.
35713         Problem reported by Tom G. Christensen in
35714         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35715         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
35716         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
35717         * modules/futimens-tests (test_futimens_LDADD):
35718         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
35720 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35722         locale: port to Solaris 2.6 and 7 + GNU gettext
35723         * lib/locale.in.h: Just include_next <locale.h> when
35724         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
35725         when combining the localename module with GNU gettext 0.18.2.
35726         Problem reported by Tom G. Christensen in
35727         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
35729 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35731         stdlib: port to Solaris 2.6
35732         Also, the code worked on Solaris 7 through 9 only by accident.
35733         Problem reported by Tom G. Christensen in
35734         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
35735         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
35736         simply include the system stdlib.h.
35737         * lib/getopt.in.h (__need_system_stdlib_h):
35738         * lib/pthread.in.h (__need_system_stdlib_h):
35739         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
35740         Define when including <stdlib.h>, to avoid problems at least for
35741         the pthread case on Solaris 2.6 and 7.  These .h files can get by
35742         with the system stdlib.h.
35744 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
35746         doc: update main copyright year
35747         * doc/gnulib.texi: Update copyright date.
35749         doc: improve ISO 8601 discussion
35750         * doc/parse-datetime.texi (Combined date and time of day items):
35751         Specify more carefully what formats are supported and what is
35752         done with excess precision.
35754 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35756         doc: avoid small caps
35757         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
35758         they're more trouble than they're worth.  Suggested by Karl Berry
35759         in <http://bugs.gnu.org/13360>.
35761         regex: conform to strict C
35762         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
35763         From Aharon Robbins.
35765         gnulib-tool: fix incompatibility with autopoint 0.18.2
35766         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
35767         Problem reported by Tom G. Christensen in
35768         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
35770 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35772         fprintftime: bring back and reword fwrite comment
35773         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
35775         stdio: remove now-unnecessary stdio.c
35776         Since stdio.in.h no longer uses inline functions, we no longer
35777         need to compile the extern versions.
35778         * lib/stdio.c: Remove.
35779         * modules/stdio (Files): Remove lib/stdio.c.
35780         (lib_SOURCES): Remove.
35782         unicodeio: depend on stdio, not ignore-value
35783         * lib/unicodeio.c: Do not include ignore-value.h.
35784         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
35785         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
35787         fprintftime: depend on stdio, not ignore-value
35788         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
35789         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
35790         since the stdio module arranges to silence that warning now.
35791         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
35793 2012-10-04  Simon Josefsson  <simon@josefsson.org>
35795         stdint-tests: Fix expanded-before-required-warning.
35796         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
35798 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
35800         fwrite: silence __wur only for older glibc versions
35801         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
35802         This will help us remove this workaround some time in the far future.
35804 2013-01-03  Eric Blake  <eblake@redhat.com>
35806         fwrite: silence __wur without using inline
35807         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
35808         just gcc, and in a way that avoids inline issues.
35809         * modules/stdio (Depends-on): Drop extern-inline.
35811 2013-01-03  Jim Meyering  <jim@meyering.net>
35813         update-copyright: avoid copyright notice date corruption
35814         Given a sequence of copyright year numbers in which the final
35815         one was a two-digit number that happened to be a substring of
35816         a preceding four-digit year number, we would mistakenly update
35817         the substring (from two- to four-digit) rather than the two-digit
35818         number at the end, which, combined with the addition of the current
35819         4-digit year number would yield two 5-digit year numbers, e.g.,
35820         here, it would convert the first "99" to "1999, 2013" rather than
35821         the final one:
35822           1991, 99
35823           11999, 20131, 1999
35824         * build-aux/update-copyright: Tighten a regexp.
35825         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
35826         Reported by Joseph Myers in
35827         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
35829 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35831         regex: omit needless signed-pointer casts
35832         * lib/regcomp.c (build_charclass, build_charclass_op):
35833         Use char *, not unsigned char *, for class name and extra.
35834         The char values are always nonnegative so there's no need to
35835         insist on unsigned char * here, and using char * removes the need
35836         for casts.  Reported by Aharon Robbins in
35837         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35839         regex: support Gawk, which never uses alloca
35840         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
35841         Do not include in this case.  Gawk doesn't supply a substitute
35842         alloca.h and doesn't need one.
35844         regex: port __libc_lock_define usage to C89
35845         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
35846         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
35847         does not conform to C89, as it has an empty macro argument.
35848         Reported by Aharon Robbins in
35849         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35851 2013-01-01  Eric Blake  <eblake@redhat.com>
35853         maint: update all copyright year number ranges
35854         Run "make update-copyright".
35856         version-etc: bump copyright year reported in --version
35857         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
35859 2012-12-31  Eric Blake  <eblake@redhat.com>
35861         sigprocmask-tests: skip test if pid is unexpectedly large
35862         * tests/test-sigprocmask.c (main): Add range check.
35864         git-version-gen: avoid test -z portability glitch
35865         * build-aux/git-version-gen: Prefer portable test spelling, since
35866         git-version-gen is run on more than just developer machines.
35868 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
35870         git-version-gen: add --fallback option to use if git is not present
35871         * build-aux/git-version-gen: Add support for the new option --fallback,
35872         which comes into play when there is no $tarball_version_file and
35873         git is not working.
35874         (scriptversion): Update.
35876         maint.mk: handle missing git with more grace
35877         * top/maint.mk (no-submodule-changes, public-submodule-commit):
35878         Quietly proceed if git is not present.
35880 2012-12-31  Eric Blake  <eblake@redhat.com>
35882         dup2: work around cygwin bug
35883         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
35884         * lib/dup2.c (rpl_dup2): Work around it.
35885         * doc/posix-functions/dup2.texi (dup2): Document it.
35887 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35889         regex: remove unnecessary dependency on localcharset.h
35890         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
35891         hasn't been needed for years.
35892         * modules/regex (Depends-on): Remove localcharset.
35894         regex: revert single-byte change
35895         * lib/regexec.c (check_node_accept_bytes): Revert previous change
35896         to this function.  This was alredy fixed in a different way, at
35897         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
35898         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
35899         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
35901         regex: simplify based on Gawk version
35902         * lib/regex_internal.c (re_dfa_add_node): Simplify.
35903         Reported by Aharon Robbins in
35904         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35906 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35908         regex: check that pattern char is single-byte
35909         Reported by Aharon Robbins in
35910         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35911         * lib/regexec.c (check_node_accept_bytes):
35912         Return 0 if the pattern string has a multibyte character here.
35914         regex: implement rational ranges
35915         Reported by Aharon Robbins in
35916         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35917         * lib/regcomp.c (build_range_exp) [!_LIBC]:
35918         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
35919         Implement rational ranges.
35921         regex: avoid redefining __wctype
35922         Reported by Aharon Robbins in
35923         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35924         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
35925         #undef before defining.
35927         regex: port to hosts where malloc (0) == NULL
35928         Reported by Aharon Robbins in
35929         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35930         * lib/regex_internal.c (re_node_set_alloc):
35931         Don't assume that malloc (0) yields nonnull.
35932         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
35933         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
35934         * modules/regex (Files): Add m4/eealloc.m4.
35936         regex: port to C89
35937         Reported by Aharon Robbins in
35938         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35939         * lib/regcomp.c (init_word_char): Declaration before statement.
35941         regex: merge glibc changes
35942         Also, copy the license wording from glibc.  This simplifies
35943         merging changes.  gnulib-tool will change the wording to GPL as
35944         appropriate, when importing it to other packages.  The only
35945         glibc change made since the last merge, which needs merging, is:
35946         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
35947         * lib/regex_internal.h (gettext): Remove use of INTUSE.
35949         * users.txt: Add Emacs.
35951         doc: omit mention of version when not needed
35952         * doc/gnulib-intro.texi (Portability and Application Code):
35953         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
35954         Don't mention particular dates or versions when not necessary, so
35955         that the documentation won't go out of date so quickly.
35957         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
35959 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
35961         bootstrap: pass --force to autoreconf.
35962         * build-aux/bootstrap (AUTORECONFFLAGS): New.
35963         Add "--force" so that Automake's ylwrap and other such tools
35964         be updated at each bootstrap invocation.
35965         Use it.
35967 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
35969         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
35970         The earlier patch forgot to update one of the #if conditions, causing
35971         a problem on Debian testing i386 reported by Mats Erik Andersson
35972         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
35973         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
35974         (__argp_fmtstream_puts, argp_fmtstream_puts)
35975         (__argp_fmtstream_write, argp_fmtstream_write)
35976         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
35978         * doc/gnulib-readme.texi: Minor fixups.
35979         (Portability guidelines): Modernize URLs.  Remove some repetition.
35980         (Indent with spaces not TABs): Reword to avoid too-long lines.
35981         Remove some '@ifset standalone' stuff that isn't used.
35983         * doc/gnulib-readme.texi (Portability guidelines):
35984         ctype.h, not ctime.h.
35986         Correct name of POSIX.1-2001.
35987         * doc/posix-functions/fgetc.texi (fgetc):
35988         * doc/posix-functions/fgets.texi (fgets):
35989         * doc/posix-functions/fread.texi (fread):
35990         * doc/posix-functions/fscanf.texi (fscanf):
35991         * doc/posix-functions/getc.texi (getc):
35992         * doc/posix-functions/getchar.texi (getchar):
35993         * doc/posix-functions/scanf.texi (scanf):
35994         POSIX.1-2001, not POSIX-2001.
35996         doc: move README into manual
35997         * README: Move contents to new file doc/gnulib-readme.texi.
35998         Replace with a one-line summary.
35999         * doc/gnulib.texi (Brief Overview): New section,
36000         with old intro preface.  Include gnulib-readme.texi for contents.
36001         (Philosophy): Rename from "Introduction", since this
36002         section no longer introduces the rest.  Write a new preface.
36003         * doc/gnulib-readme.texi: New file, with the old contents of
36004         README texinfo-ized.  This way, the README info appears
36005         in the online and printed manual.
36007 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
36009         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
36010         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
36011         c_vasprintf() prototype.
36013 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
36015         c-vasprintf: Fix "empty declaration" warning reported by GCC.
36016         * lib/c-vasprintf.h: Remove stray semicolon.
36018 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
36020         gettext: avoid obsolete macro AM_PROG_MKDIR_P
36021         It is obsolete and is planned to be removed from Automake 1.14; see
36022         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
36023         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
36024         (installdirs-data, installdirs-data-yes):
36025         Use $(MKDIR_P), not $(mkdir_p).
36026         * m4/intl.m4 (AM_INTL_SUBDIR):
36027         * m4/po.m4 (AM_PO_SUBDIRS):
36028         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
36030 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36032         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
36033         On this platform, we are not optimizing but we are using
36034         the substitute for extern inlines, so compile as if
36035         C99-style extern inline, or a substitute, is available.
36036         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
36037         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
36038         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
36039         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
36040         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
36041         Declare as ARGP_FS_EI, not as extern.
36042         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
36043         (__option_is_short, _option_is_end, __option_is_end)
36044         [!_LIBC && __USE_EXTERN_INLINES]:
36045         Declare as ARGP_EI, not as extern.
36047 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36049         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
36050         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
36051         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
36052         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
36053         ...), as the latter is fatal with older Autoconfs.
36054         Problem reported and fix suggested by Eric Blake in thread starting at
36055         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
36057 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
36059         AC_PROG_MKDIR_P: don't workaround if not buggy
36060         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
36061         Define only for Autoconf versions before 2.62.
36062         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
36063         undocumented m4_PACKAGE_VERSION, for consistency with the
36064         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
36065         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
36066         was introduced in 2.62.
36068 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
36070         New 'c-*printf' modules for formatted output in C locale.
36072         New module 'c-vasnprintf'.
36073         * modules/c-vasnprintf: New file.
36074         * lib/c-vasnprintf.c: New file.
36075         * lib/c-vasnprintf.h: New file.
36077         New module 'c-snprintf'.
36078         * modules/c-snprintf: New file.
36079         * modules/c-snprintf-tests: New file.
36080         * lib/c-snprintf.c: New file.
36081         * lib/c-snprintf.h: New file.
36082         * tests/test-c-snprintf.c: New file.
36083         * tests/test-c-snprintf.sh: New file.
36085         New module 'c-vsnprintf'.
36086         * modules/c-vsnprintf: New file.
36087         * modules/c-vsnprintf-tests: New file.
36088         * lib/c-vsnprintf.c: New file.
36089         * lib/c-vsnprintf.h: New file.
36090         * tests/test-c-vsnprintf.c: New file.
36091         * tests/test-c-vsnprintf.sh: New file.
36093         New module 'c-vasprintf'.
36094         * modules/c-vasprintf: New file.
36095         * modules/c-vasprintf-tests: New file.
36096         * lib/c-asprintf.c: New file.
36097         * lib/c-vasprintf.c: New file.
36098         * lib/c-vasprintf.h: New file.
36099         * tests/test-c-vasprintf.c  +: New file.
36100         * tests/test-c-vasprintf.sh: New file.
36102         New module 'c-xvasprintf'.
36103         * modules/c-xvasprintf: New file.
36104         * modules/c-xvasprintf-tests: New file.
36105         * lib/c-xasprintf.c: New file.
36106         * lib/c-xvasprintf.c: New file.
36107         * lib/c-xvasprintf.h: New file.
36108         * tests/test-c-xvasprintf.c: New file.
36109         * tests/test-c-xvasprintf.sh: New file.
36111 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36113         argp: better 'inline'
36114         Use extern-inline module to declare extern inline functions.
36115         This avoids some bogus warning diagnostics.  Problem discovered
36116         when modifying GNU tar to use the manywarnings module.
36117         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
36118         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
36119         Define based on extern-inline.
36120         * modules/argp (Depends-on): Add extern-inline.
36122 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
36124         filemode, sys_stat: Handle MPX files a la AIX.
36125         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
36126         * lib/sys_stat.in.h (S_ISMPX): New macro.
36127         * tests/test-sys_stat.c: Add tests for MPX files.
36129 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36131         x-to-1: honor $PERL
36132         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
36133         a chance to use his preferred version of Perl.  This is typically
36134         required by Darwin users whose default /usr/bin/perl does not have all
36135         the libraries required by help2man, and who need to use their MacPorts
36136         installation of Perl instead.
36138 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36140         gnu-web-doc-update: add all the new files, even in new directories
36141         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
36142         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
36143         Use it.
36144         (main): Don't use cvsutils to get the list of unknown files,
36145         just add all the existing files and directories.
36147 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36149         gnu-web-doc-update: improve --help
36150         * build-aux/gnu-web-doc-update: Move comments into --help.
36152 2012-12-07  Eric Wong  <normalperson@yhbt.net>
36154         mountlist: recognize more "dummy" file systems
36155         * lib/mountlist.c (ME_DUMMY_0):
36156         Add these dummy FS names to the list:
36157         - "debugfs" virtual filesystem for kernel debugging
36158         - "devpts" PTY slave filesystem
36159         - "devtmpfs" device filesystem on top of tmpfs/ramfs
36160         - "fusectl" control filesystem for FUSE
36161         - "mqueue" enumerates POSIX message queues
36162         - "rpc_pipefs" kernel <-> userspace bridge for NFS
36163         - "sysfs" is for exporting kernel objects
36164         - "devfs" device filesystem for Linux 2.4 and FreeBSD
36166 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36168         extern-inline: avoid incompatibility with Darwin Libc
36169         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
36170         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
36171         Problem reported by Akim Demaille in
36172         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
36174 2012-12-11  Simon Josefsson  <simon@josefsson.org>
36176         gnupload: Work with GnuPG using gpg-agent (for smartcards).
36177         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
36178         let it handle password prompting.
36180 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
36182         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
36183         * lib/canonicalize.c (canonicalize_filename_mode):
36184         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
36185         fetching the current directory.  Don't overrun the beginning of
36186         rpath if there's no slashes after the MS-Windows drive letter.
36188 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
36190         maint.mk: avoid extra forks
36191         * top/maint.mk (_cfg_mk): The GNU make manual documents that
36192         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
36193         So use that instead of "$(shell test -f FILE && echo FILE)".
36195 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36197         vasnprintf: fix ASCII_ONLY typo
36198         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36199         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36200         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36201         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
36202         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
36204 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36206         list, oset, xlist, xoset: fix extern inline issue with C99
36207         This was introduced by my recent changes for 'inline'.
36208         Problem reported for gettext by Daiki Ueno in
36209         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
36210         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
36211         (gl_list_nx_create, gl_list_size, gl_list_node_value)
36212         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
36213         (gl_list_previous_node, gl_list_get_at)
36214         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
36215         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
36216         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
36217         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
36218         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
36219         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
36220         (gl_list_iterator_free, gl_sortedlist_search)
36221         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
36222         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
36223         (gl_sortedlist_remove):
36224         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
36225         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
36226         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
36227         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
36228         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
36229         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
36230         (gl_list_add_at, gl_sortedlist_add):
36231         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
36232         Wrap these extern decls inside "#if 0", because they are implemented
36233         as inline functions, and extern inline is not what's wanted here.
36234         It would simplify these .h files to remove the extern decls entirely,
36235         although a downside would be less-clear separation between
36236         specification and implementation.
36238 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36240         sys_stat: no 'static inline'
36241         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
36242         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
36244         extern-inline: no 'static inline'
36245         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
36246         Do not require AC_C_INLINE.
36247         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
36248         'static inline', for older compilers.
36250         snippet/warn-on-use: no 'static inline'
36251         * build-aux/snippet/warn-on-use.h:
36252         Remove unnecessary 'inline' in comment.
36254         rbtree-list, rbtreehash-list: no 'static inline'
36255         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
36256         * lib/gl_anytree_list2.h (node_at):
36257         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
36258         (gl_oset_first, add_nodes_to_buckets):
36259         Now static, not static inline.
36261         regex: no 'static inline'
36262         * lib/regex_internal.c (calc_state_hash):
36263         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
36264         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
36265         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
36266         Now static, not static inline.
36267         (inline) [__GNUC__ < 3 && _LIBC]:
36268         Remove macro; no longer needed.
36270         xvasprintf: no 'static inline'
36271         * lib/xvasprintf.c (xstrcat):
36272         Now static, not static inline.
36273         * m4/xvasprintf.m4 (gl_XVASPRINTF):
36274         Do not require AC_C_INLINE.
36276         parse-datetime, parse-duration: no 'static inline'
36277         * lib/parse-datetime.y (to_uchar):
36278         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
36279         (scale_n_add):
36280         Now static, not static inline.
36281         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
36282         * modules/parse-duration (configure.ac):
36283         Do not require AC_C_INLINE.
36285         getaddrinfo: no 'static inline'
36286         * lib/getaddrinfo.c (validate_family):
36287         Now static, not static inline.
36288         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
36289         Do not require AC_C_INLINE.
36291         ftruncate, fts, lstat, openat, raise: no 'static inline'
36292         * lib/ftruncate.c (chsize_nothrow):
36293         * lib/fts.c (opendirat, diropen):
36294         * lib/lstat.c (orig_lstat):
36295         * lib/openat.c (orig_openat):
36296         * lib/raise.c (raise_nothrow):
36297         Now static, not static inline.
36298         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
36299         * m4/fts.m4 (gl_FUNC_FTS_CORE):
36300         * m4/lstat.m4 (gl_PREREQ_LSTAT):
36301         * m4/openat.m4 (gl_PREREQ_OPENAT):
36302         * m4/raise.m4 (gl_PREREQ_RAISE):
36303         Do not require AC_C_INLINE.
36305         fflush, stat: no 'static inline'
36306         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36307         (clear_ungetc_buffer, disable_seek_optimization)
36308         (restore_seek_optimization, update_fpos_cache):
36309         * lib/stat.c (orig_stat):
36310         Now static, not static inline.
36311         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
36312         (update_fpos_cache):
36313         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
36314         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
36315         * m4/stat.m4 (gl_PREREQ_STAT):
36316         Do not require AC_C_INLINE.
36318         error, filevercmp: no 'static inline'
36319         * lib/error.c (is_open, flush_stdout):
36320         * lib/filevercmp.c (order):
36321         Now static, not static inline.
36322         * m4/error.m4 (gl_PREREQ_ERROR):
36323         * modules/filevercmp (configure.ac):
36324         Do not require AC_C_INLINE.
36326         dup, execute, fatal-signal, etc.: no 'static inline'
36327         * lib/dup.c (dup_nothrow):
36328         * lib/execute.c (nonintr_close, nonintr_open):
36329         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
36330         * lib/fopen.c (orig_fopen):
36331         * lib/freadseek.c (freadptrinc):
36332         * lib/freopen.c (orig_freopen):
36333         * lib/fstat.c (orig_fstat, fstat_nothrow):
36334         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
36335         (get_rusage_as_via_iterator):
36336         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
36337         * lib/getdtablesize.c (_setmaxstdio_nothrow):
36338         * lib/isatty.c (_isatty_nothrow):
36339         * lib/open.c (orig_open):
36340         * lib/read.c (read_nothrow):
36341         * lib/sigprocmask.c (signal_nothrow):
36342         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
36343         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
36344         * lib/wait-process.c (unregister_slave_subprocess):
36345         * lib/write.c (write_nothrow):
36346         Now static, not static inline.
36347         * lib/spawn-pipe.c (nonintr_open): Define only if
36348         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
36349         * m4/dup.m4 (gl_PREREQ_DUP):
36350         * m4/execute.m4 (gl_EXECUTE):
36351         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
36352         * m4/fopen.m4 (gl_PREREQ_FOPEN):
36353         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
36354         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
36355         * m4/fstat.m4 (gl_PREREQ_FSTAT):
36356         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
36357         * m4/isatty.m4 (gl_PREREQ_ISATTY):
36358         * m4/open.m4 (gl_PREREQ_OPEN):
36359         * m4/read.m4 (gl_PREREQ_READ):
36360         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
36361         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
36362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
36363         * m4/wait-process.m4 (gl_WAIT_PROCESS):
36364         * m4/write.m4 (gl_PREREQ_WRITE):
36365         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
36366         Do not require AC_C_INLINE.
36368         c-strtod, memcoll, readutmp: no 'static inline'
36369         * lib/c-strtod.c (c_locale):
36370         * lib/memcoll.c (strcoll_loop):
36371         * lib/readutmp.c (desirable_utmp_entry):
36372         Now static, not static inline.
36373         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
36374         * m4/memcoll.m4 (gl_MEMCOLL):
36375         * m4/readutmp.m4 (gl_READUTMP):
36376         Do not require AC_C_INLINE.
36378         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
36379         * lib/arctwo.c (to_uchar):
36380         * lib/md4.c (set_uint32):
36381         * lib/md5.c (set_uint32):
36382         * lib/sha1.c (set_uint32):
36383         * lib/sha256.c (set_uint32):
36384         * lib/sha512.c (set_uint64):
36385         Now static, not static inline.  This is a bit simpler, and doesn't
36386         affect performance with GCC and default optimization.
36387         * m4/arctwo.m4 (gl_ARCTWO):
36388         * m4/md4.m4 (gl_MD4):
36389         * m4/md5.m4 (gl_MD5):
36390         * m4/sha1.m4 (gl_SHA1):
36391         * m4/sha256.m4 (gl_SHA256):
36392         * m4/sha512.m4 (gl_SHA512):
36393         Do not require AC_C_INLINE.
36395         cond, lock, thread: better 'inline'
36396         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
36397         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
36398         New macros.  Use them instead of static inline, for header functions.
36399         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
36400         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36401         * lib/glthread/lock.c (gl_waitqueue_init)
36402         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36403         * lib/glthread/thread.c (get_current_thread_handle):
36404         Change 'static inline' to 'inline'.
36405         * lib/glthread/cond.h, lib/glthread/thread.h:
36406         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36407         * m4/cond.m4 (gl_COND):
36408         * m4/lock.m4 (gl_PREREQ_LOCK):
36409         * m4/thread.m4 (gl_THREAD):
36410         Do not require AC_C_INLINE.
36411         * modules/cond, modules/thread (Depends-on): Add extern-inline.
36413         chdir-long, cycle-check, savewd: better 'inline'
36414         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
36415         (find_non_slash):
36416         * lib/cycle-check.c (is_zero_or_power_of_two):
36417         * lib/savewd.c (savewd_delegating):
36418         Change 'static inline' to 'inline'.
36419         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
36420         Replace all remaining uses of 'static inline' with it.
36421         * lib/savewd.h:
36422         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36423         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
36424         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36425         * m4/savewd.m4 (gl_SAVEWD):
36426         Do not require AC_C_INLINE.
36427         * modules/savewd (Depends-on): Add extern-inline.
36429         base32, base64: no need for 'inline'
36430         * lib/base32.c (to_uchar, get_8, decode_8):
36431         * lib/base64.c (to_uchar, get_4, decode_4):
36432         Change 'static inline' to 'inline'.
36433         * m4/base32.m4 (gl_PREREQ_BASE32):
36434         * m4/base64.m4 (gl_PREREQ_BASE64):
36435         Do not require AC_C_INLINE.
36437         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
36438         * lib/gl_array_oset.c (gl_array_nx_add_at):
36439         (gl_array_remove_at):
36440         * lib/gl_linkedhash_list.c (hash_resize_after_add)
36441         (add_to_bucket, remove_from_bucket):
36442         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
36443         Change 'static inline' to 'static', as it's simpler to omit
36444         'inline' unless there's a significant performance advantage.
36446         list, oset, xlist, xoset, xsublist: simplify via extern inline
36447         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
36448         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
36449         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
36450         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
36451         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
36452         New macro.  Replace all uses of 'static inline' with it.
36453         [HAVE_INLINE]: Implement functions as *_INLINE functions,
36454         instead of as macros FOO that are defined to static inline
36455         functions FOO_inline.
36456         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
36457         * lib/gl_xsublist.c:
36458         Reimplement from scratch, by defining the corresponding *_INLINE
36459         macro and including the corresponding .h file.  This is simpler.
36460         * modules/list, modules/oset, modules/xlist, modules/xoset:
36461         (Files): Remove m4/gl_list.m4.
36462         (configure.ac): Remove gl_LIST.
36463         * m4/gl_list.m4: Remove.
36464         * modules/list, modules/oset, modules/xlist, modules/xoset:
36465         * modules/xsublist:
36466         (Depends-on): Depend on extern-inline, not inline.
36468         xalloc: better 'inline'
36469         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
36470         New macro.  Replace all uses of 'static inline' with it.
36471         (static_inline): Remove.
36472         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36473         Let 'extern inline' do the work automatically, instead of doing
36474         it by hand.
36475         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
36476         Remove.  All uses removed.
36477         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
36479         gethrxtime: better 'inline'
36480         * lib/xtime.c: New file.
36481         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
36482         * lib/xtime.h (XTIME_INCLUDE):
36483         New macros.  Replace all uses of 'static inline' with them.
36484         * lib/gethrxtime.c (gethrxtime): Define only if
36485         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
36486         this source file is now always compiled, because of the extern inline.
36487         * lib/gethrxtime.h, lib/xtime.h:
36488         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36489         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
36490         if gethrtime works, as they're not needed in that case.
36491         (gl_XTIME): Do not require AC_C_INLINE.
36492         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
36493         compiled now.  Move the check into gl_GETHRXTIME.
36494         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
36495         (Depends-on): Add extern-inline.
36496         (configure.ac): gethrxtime is always compiled now.
36497         (lib_SOURCES): Add gethrxtime.c.
36499         wctype-h: better 'inline'
36500         * lib/wctype-h.c: New file.
36501         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
36502         New macro.  Replace all uses of 'static inline' with it.
36503         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36504         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
36505         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
36506         (Depends-on): Add extern-inline.
36508         unistd: better 'inline'
36509         * lib/unistd.c: New file.
36510         * lib/unistd.in.h (_GL_UNISTD_INLINE):
36511         New macro.  Replace all uses of 'static inline' with it.
36512         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36513         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
36514         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
36515         (Depends-on): Add extern-inline.
36517         sys_socket: better 'inline'
36518         * lib/sys_socket.c: New file.
36519         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
36520         New macro.  Replace all uses of 'static inline' with it.
36521         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36522         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
36523         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
36524         (Depends-on): Add extern-inline.
36526         stdio: better 'inline'
36527         * lib/stdio.c: New file.
36528         * lib/stdio.in.h (_GL_STDIO_INLINE):
36529         New macro.  Replace all uses of 'static inline' with it.
36530         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36531         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
36532         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
36533         (Depends-on): Add extern-inline.
36535         sigaction: better 'inline'
36536         * lib/sig-handler.c: New file.
36537         * lib/sig-handler.h (SIG_HANDLER_INLINE):
36538         New macro.  Replace all uses of 'static inline' with it.
36539         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36540         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
36541         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
36542         (Depends-on): Add extern-inline.
36544         selinux-h: better 'inline'
36545         * lib/se-context.c, lib/se-selinux.c: New files.
36546         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
36547         * lib/se-context.in.h (SE_CONTEXT_INLINE):
36548         New macro.  Replace all uses of 'static inline' with it.
36549         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36550         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
36551         New macro.  Replace all uses of 'static inline' with it.
36552         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36553         * modules/selinux-h (Files, lib_SOURCES):
36554         Add lib/se-context.c, lib/se-selinux.c.
36555         (Depends-on): Add extern-inline.
36556         (configure.ac): Do not require AC_C_INLINE.
36558         pthread: better 'inline'
36559         * lib/pthread.c: New file.
36560         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
36561         New macro.  Replace all uses of 'static inline' with it.
36562         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36563         * m4/pthread.m4 (gl_PTHREAD_CHECK):
36564         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
36565         * modules/pthread (Files): Add lib/pthread.c.
36566         (Depends-on): Add extern-inline.
36568         math: better 'inline'
36569         * lib/math.c: New file.
36570         * lib/math.in.h (_GL_MATH_INLINE):
36571         New macro.  Replace all uses of 'static inline' with it.
36572         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36573         * m4/math_h.m4 (gl_MATH_H):
36574         Do not require AC_C_INLINE.
36575         * modules/math (Files, lib_SOURCES):
36576         Add lib/math.c.
36577         (Depends-on): Add extern-inline.
36579         count-one-bits: better 'inline'
36580         * lib/count-one-bits.c: New file.
36581         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
36582         New macro.  Replace all uses of 'static inline' with it.
36583         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36584         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
36585         Do not require AC_C_INLINE.
36586         * modules/count-one-bits (Files, lib_SOURCES):
36587         Add lib/count-one-bits.c.
36588         (Depends-on): Add extern-inline.
36590         count-leading-zeros: better 'inline'
36591         * lib/count-leading-zeros.c: New file.
36592         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
36593         New macro.  Replace all uses of 'static inline' with it.
36594         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36595         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
36596         Do not require AC_C_INLINE.
36597         * modules/count-leading-zeros (Files, lib_SOURCES):
36598         Add lib/count-leading-zeros.c.
36599         (Depends-on): Add extern-inline.
36601         bitrotate: better 'inline'
36602         * lib/bitrotate.c: New file.
36603         * lib/bitrotate.h (BITROTATE_INLINE):
36604         New macros.
36605         Replace all uses of 'static inline' with them.
36606         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36607         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
36608         (Depends-on): Add extern-inline.
36609         (configure.ac): Do not require AC_C_INLINE.
36611 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
36613         maint.mk: avoid gratuitous failure
36614         Reported by Stefano Lattarini in
36615         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
36616         * top/maint.mk (public-submodule-commit): Quote more safely.
36618 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
36620         canonicalize, canonicalize-lgpl: support MS-Windows file names
36621         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
36622         for test cases, which it'd be nice to add at some point.
36623         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
36624         * lib/canonicalize.c (canonicalize_filename_mode):
36625         * lib/canonicalize-lgpl.c (__realpath):
36626         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
36627         slash is at the beginning of the file name.  Use ISSLASH, instead
36628         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
36629         the first character with '/'.  Test for
36630         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
36631         with a drive letter.
36632         * lib/canonicalize.c (SLASHES): New macro.
36633         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
36635 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
36637         fts: introduce FTS_VERBATIM
36638         * lib/fts_.h (FTS_VERBATIM): New bit flag.
36639         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
36640         * lib/fts.c (fts_open): Honor it.
36642 2012-11-09  Pádraig Brady  <P@draigBrady.com>
36644         getlogin-tests: allow errno == ENXIO
36645         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36646         with errno == ENXIO (No controlling tty).
36647         getlogin_r-tests: Likewise. Also allow errno == ENOENT
36648         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
36649         with errno == ENOENT.  This was reported to happen in various
36650         situations on GNU/Linux.
36652 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36654         getlogin-tests: allow errno == ENOENT
36655         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36656         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
36657         when running a test in an Emacs shell buffer.
36659 2012-11-08  Jim Meyering  <jim@meyering.net>
36661         tests/nap.h: avoid warning about unused variable
36662         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
36664         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
36665         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
36666         white space before each of the special-cased file names, to avoid
36667         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
36668         in http://bugs.gnu.org/12830.
36670 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36672         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
36673         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
36674         fails with errno == EBADF when fd is opened with O_PATH.
36675         Reported by Jim Meyering in
36676         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
36677         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36678         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
36680 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36682         test-utimens: speed up by taking shorter naps
36683         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
36684         New functions.
36685         (nap): Use them, to do a better job of guessing the delay.
36686         On Fedora 17 with ext4 atop md atop hard disks, this made
36687         test-utimens run 10x faster, because the test napped for
36688         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
36689         <http://bugs.gnu.org/12820#11>.
36691 2012-11-07  Jim Meyering  <jim@meyering.net>
36693         mountlist.c: fix a compilation failure
36694         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
36695         I introduced while transforming commit v0.0-7683-g613bcb6
36697 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36699         errno: port to LynxOS 178 2.2.2
36700         Problem reported by Joel Brobecker in
36701         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
36702         * doc/posix-headers/errno.texi (errno.h): Document this.
36703         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
36704         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
36705         Supply a string for EILSEQ.
36706         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
36708 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36710         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
36711         Linux kernel 2.6.39 introduced O_PATH (see
36712         <http://lwn.net/Articles/433854/>) and this is a better fallback
36713         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
36714         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36715         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
36716         * lib/fcntl.in.h (O_ACCMODE):
36717         * tests/test-fcntl-h.c (main):
36718         Do not reject O_ACCMODE merely because it has more than the
36719         minimal number of bits, as POSIX allows extensions here.
36721 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
36723         mountlist: do not classify a bind-mounted dir entry as "dummy"
36724         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
36725         the "none"-testing clause.
36726         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
36727         exception for bind-mounted directories.
36729 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
36731         quote: provide a means to escape strings with nul characters
36732         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
36733         (quote, quote_n): Rename formal arguments for consistency with
36734         quotearg.
36736 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36738         test-raise: don't assume 199 is an invalid signal
36739         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
36741         sh-quote-tests: port to Solaris 9
36742         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
36743         Problem reported by Dagobert Michelsen in
36744         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
36746 2012-10-28  Jim Meyering  <jim@meyering.net>
36748         maint.mk: rename a new configurable variable
36749         * top/maint.mk (_gl_translatable_string_re): Rename from
36750         translation-markers: _gl_ prefix to insulate from user Makefile code,
36751         and the _re suffix to inform that it's a regular expression.
36753 2012-10-26  Eric Blake  <eblake@redhat.com>
36755         maint.mk: let packages tweak sc_po_check pattern
36756         * top/maint.mk (sc_po_check): Add translation-markers, to allow
36757         finding files with other translation markers.
36759 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36761         euidaccess: speed up 'configure' on GNU hosts
36762         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
36763         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
36764         it's needed only in this case.  Use AC_CHECK_DECLS, not
36765         AC_CHECK_DECLS_ONCE.
36766         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
36767         or AC_REQUIRE for AC_FUNC_GETGROUPS.
36769         * lib/regexec.c (re_search_internal): Fix grammar in comment.
36771 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36773         fchmodat, fchownat, fstatat: port to non-inlining compilers
36774         Problem reported for FreeBSD 9 by Jim Meyering in
36775         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
36776         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
36777         New files, which define FCHMODAT_INLINE etc.
36778         * lib/fchmodat.c (FCHMODAT_INLINE):
36779         * lib/fchownat.c (FCHOWNAT_INLINE):
36780         * lib/fstatat.c (FSTATAT_INLINE):
36781         Remove, as chmodat.c etc. now do this.
36782         * modules/fchmodat (Files): Add lib/chmodat.c.
36783         * modules/fchownat (Files): Add lib/chownat.c.
36784         * modules/fstatat (Files): Add lib/statat.c.
36786 2012-10-15  Jim Meyering  <jim@meyering.net>
36788         fchmodat.c, fchownat.c: compile-impeding typos
36789         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
36790         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
36791         Introduced in commit v0.0-7636-gd202279.
36793 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36795         fcntl-h: support GNU flags like O_IGNORE_CTTY
36796         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
36797         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
36798         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
36799         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
36800         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
36801         Define to 0 if not already defined.
36802         * tests/test-fcntl-h.c: Test these new flags.
36804 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36806         faccessat, etc.: support AT_FDCWD-only use
36807         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
36808         this function only if its first argument is AT_FDCWD.
36809         Emacs wants faccessat for AT_EACCESS but not for any first-arg
36810         values other than AT_FDCWD, so it doesn't want all the openat
36811         machinery with fchdir etc.
36812         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
36813         * modules/fstatat, modules/mkdirat, modules/openat (Files):
36814         * modules/unlinkat (Files):
36815         Remove lib/openat-priv.h, as at-internal supplies this file.
36816         Removing this file here allows us to support programs like Emacs
36817         that avoid at-internal.
36819         faccessat: speed up 'configure' on mainstream hosts
36820         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
36821         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
36822         since it's only on unusual platforms that we need to check for
36823         'access', and it's better not to slow 'configure' down on all
36824         platforms.
36826         faccessat: port to Solaris 10
36827         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
36828         Needed on Solaris 10, which doesn't have AT_EACCESS,
36829         so we need the Gnulib fcntl.h, which defines it.
36831 2012-10-14  Pádraig Brady  <P@draigBrady.com>
36832         canonicalize: fix C89 compilation
36833         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
36834         declarations so C89 is supported.  Also remove the comment
36835         referencing memorty allocation as the suggested feature could
36836         not be implemented as suggested.
36837         Reported by Michael Goffioul.
36839 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36841         group-member: omit unnecessary dependencies
36842         This is for Emacs, which has its own allocator and where we
36843         don't want to use xalloc.
36844         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
36845         since we no longer use xmalloc.  Do not include stdbool.h, since
36846         the changes below happen to remove the only use of bool.
36847         (GROUPBUF_SIZE): New constant.
36848         (struct group_info): Remove n_groups member.  Add groupbuf member.
36849         This lets us get the groups without using malloc, usually.
36850         (free_group_info, get_group_info): Adjust to this.
36851         (get_group_info): Return the number of groups found, or -1 on error.
36852         Use plain malloc not xmalloc, and treat its failure as if there
36853         are no groups, as the user already loses in case of error.
36854         (group_member): Simplify, based on changes to get_group_info.
36855         * modules/group-member (Depends-on): Remove dependencies on
36856         xalloc and stdbool.  Add dependency on xalloc-oversized.
36858 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
36860         gethrxtime: port to C++
36861         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
36863 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
36865         ptsname: fix macro-name typo
36866         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
36868 2012-10-03  Simon Josefsson  <simon@josefsson.org>
36870         inttostr: Relax license.
36871         * modules/inttostr (License): Change from LGPL to LGPLv2+.
36873 2012-10-03  Eric Blake  <eblake@redhat.com>
36875         ptsname_r: support ptys returned by FreeBSD posix_openpt
36876         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
36877         lives in /dev/pts/.
36879 2012-10-02  Eric Blake  <eblake@redhat.com>
36881         pselect: reject invalid file descriptors
36882         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
36883         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
36884         * modules/pselect (Depends-on): Add dup2.
36885         * doc/posix-functions/pselect.texi (pselect): Document this.
36887         select: reject invalid file descriptors
36888         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
36889         * lib/select.c (rpl_select) [!win32]: Work around it.
36890         * modules/select (Depends-on): Add dup2.
36891         * doc/posix-functions/select.texi (select): Document this.
36893         select: enhance test
36894         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
36895         New functions.
36896         (test_function): Enhance test.
36897         (do_select_bad_fd): Avoid any stale errno values.
36899         ptsname: reject invalid file descriptors
36900         http://www.austingroupbugs.net/view.php?id=503
36901         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
36902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
36903         * modules/stdlib (Makefile.am): Replace witness.
36904         * lib/stdlib.in.h (ptsname): Allow for replacement.
36905         * modules/ptsname (configure.ac): Trigger replacement.
36906         * doc/posix-functions/ptsname.texi (ptsname): Document this.
36908 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
36910         hash-pjw-bare: new module
36911         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
36912         * lib/hash-pjw-bare.h: Likewise.
36913         * modules/hash-pjw-bare: New file.
36914         * MODULES.html.sh (Misc): Add it.
36916 2012-10-02  Eric Blake  <eblake@redhat.com>
36918         manywarnings: cater to more gcc infelicities
36919         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
36920         -Wuninitialized without -O.
36922 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
36924         select, poll tests: Make setsockopt invocation effective.
36925         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
36926         the bind() call.
36927         * tests/test-select.h (open_server_socket): Likewise.
36929 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
36931         sockets, sys_stat: restore AC_C_INLINE
36932         This undoes the 2012-09-22 patch.
36933         * m4/sockets.m4 (gl_SOCKETS):
36934         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36935         Restore AC_C_INLINE, since MSVC requires __inline or _inline
36936         and does not support plain 'inline'.  Reported by Bruno Haible in
36937         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
36939 2012-09-30  Bruno Haible  <bruno@clisp.org>
36941         localeconv tests: Avoid test failure on OpenIndiana.
36942         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
36943         skip the 'grouping' and 'mon_grouping' tests.
36944         Reported by Jim Meyering.
36946 2012-09-30  Bruno Haible  <bruno@clisp.org>
36948         havelib: Follow libtool developments.
36949         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
36950         Suggested by Simon Josefsson.
36952 2012-09-29  Jim Meyering  <meyering@redhat.com>
36954         fstatat.c: fix a compile-impeding typo
36955         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
36956         Introduced in commit v0.0-7636-gd202279.
36957         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
36959 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
36961         extern-inline: provide a -Wundef safe config.h
36962         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
36963         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
36964         to produce a -Wundef warning free config.h.
36966 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
36968         hash-pjw: relax license to LGPLv2+
36969         * modules/hash-pjw (License): Relax, with consent of author.
36971 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36973         maint.mk: fix strict vs. lazy variable issues with RELEASE
36974         * top/maint.mk (_equal): New function.
36975         (member_check): Strip the result to avoid spurious spaces.
36976         (url_dir_list): Do not use ifeq, which is strict, as it will
36977         require RELEASE_TYPE to be defined.
36978         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
36979         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
36980         (announcement_Cc_alpha,announcement_mail_headers_alpha)
36981         (announcement_Cc_beta,announcement_mail_headers_beta)
36982         (announcement_Cc_stable,announcement_mail_headers_stable): these.
36983         (release): Do not depend on $(release-type), as it forces its
36984         evaluation.  Bounce to it.
36986 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36988         maint.mk: formatting changes
36989         * top/maint.mk: Indent bodies of if's.
36991 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
36993         maint.mk: factor the validation of RELEASE_TYPE
36994         With help from Jim Meyering.
36995         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
36996         * top/maint.mk (_empty, _sp): Move their definition earlier.
36997         (member-check, release-type): New.
36998         Use the latter instead of $(RELEASE_TYPE).
36999         Remove now useless local checks.
37001 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37003         maint.mk: provide "make upload" to ease uploading
37004         See
37005         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
37006         Do not depend simply on the current $(VERSION), as there may have been
37007         new commits since the tarball generation.  Rather, rely on $(RELEASE),
37008         as "make release-commit" already does.
37010         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
37011         "make TYPE".
37013         * top/maint.mk (upload_command, upload, release): New.
37014         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
37015         (VERSION): first word of $(RELEASE) is always right.
37016         (emit_upload_commands): Adjust.
37017         * top/README-release: Update.
37019 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37021         maint.mk: silent rules
37022         With help from Stefano Lattarini.
37023         * top/maint.mk (writable-files): Use $(AM_V_GEN).
37024         (announcement): Use $(AM_V_at).
37026 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37028         localename: port gl_locale_name_thread_unsafe to FreeBSD
37029         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
37030         and use the simpler FreeBSD implementation on Mac OS X as well.
37031         Original idea suggested by Ed Maste in
37032         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
37034 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37036         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
37037         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
37038         * lib/mbuiter.c, lib/xsize.c: New files.
37039         * lib/binary-io.h (BINARY_IO_INLINE):
37040         * lib/eealloc.h (EEALLOC_INLINE):
37041         * lib/mbfile.h (MBFILE_INLINE):
37042         * lib/mbiter.h (MBITER_INLINE):
37043         * lib/mbuiter.h (MBUITER_INLINE):
37044         * lib/xsize.h (XSIZE_INLINE):
37045         New macros.
37046         Replace all uses of 'static inline' with them.
37047         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37048         * m4/eealloc.m4 (gl_EEALLOC):
37049         * m4/mbfile.m4 (gl_MBFILE):
37050         * m4/mbiter.m4 (gl_MBITER):
37051         * m4/xsize.m4 (gl_XSIZE):
37052         Do not require AC_C_INLINE.
37053         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
37054         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
37055         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
37056         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
37057         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
37058         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
37059         * modules/binary-io, modules/eealloc, modules/mbfile:
37060         * modules/mbiter, modules/mbuiter:
37061         (Depends-on): Add extern-inline.
37063         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
37064         * lib/pipe-filter-aux.c: New file.
37065         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
37066         Replace all uses of 'static inline' with it.
37067         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37068         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
37069         (filter_retcode): No real need for inline here.
37070         * modules/pipe-filter-gi, modules/pipe-filter-ii:
37071         (Files): Add lib/pipe-filter-aux.c.
37072         (Depends-on): Add extern-inline.
37073         (configure.ac): Do not require AC_C_INLINE.
37074         (lib_SOURCES): Add pipe-filter-aux.c.
37076         fdutimensat: omit unnecessary AC_C_INLINE
37077         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
37079         fchmodat, fchownat, fstatat: use extern-inline
37080         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
37081         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
37082         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
37083         New macros.
37084         * lib/openat.h:
37085         Replace all uses of 'static inline' with them.
37086         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37087         * modules/fchmodat, modules/fchownat, modules/fstatat:
37088         * modules/openat-h:
37089         (Depends-on):
37090         Add extern-inline.
37091         (configure.ac): Remove AC_C_INLINE.
37093         acl, mbchar, priv-set: use extern-inline
37094         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
37095         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
37096         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
37097         New macros.
37098         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
37099         Replace all uses of 'static inline' with it.
37100         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37101         * m4/acl.m4 (gl_FUNC_ACL):
37102         * m4/mbchar.m4 (gl_MBCHAR):
37103         * m4/priv-set.m4 (gl_PRIV_SET):
37104         Remove AC_C_INLINE, since 'inline' is no longer used directly.
37105         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
37106         Add extern-inline.
37108         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
37109         * m4/sockets.m4 (gl_SOCKETS):
37110         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37111         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
37112         environments where it's already guaranteed to work, so we needn't
37113         check for it at 'configure'-time.
37115         tls-tests: omit unnecessary 'inline'
37116         * tests/test-tls.c (perhaps_yield): No longer inline.
37117         Simplicity and portability trump efficiency in test cases.
37119         utimens-tests: avoid unnecessary 'inline'
37120         * modules/fdutimensat-tests (configure.ac):
37121         * modules/futimens-tests (configure.ac):
37122         * modules/utimens-tests (configure.ac):
37123         * modules/utimensat-tests (configure.ac):
37124         Remove AC_C_INLINE.
37125         * tests/test-utimens-common.h (ctime_compare):
37126         No longer inline.  Simplicity and portability trump efficiency here.
37128         misc: don't limit commentary to inline functions
37129         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
37130         * lib/xalloc-oversized.h, lib/xsize.h:
37131         Contrast macros to functions in general, not just to inline functions,
37132         when the commentary does not apply only to inline functions.
37134 2012-09-20  Jim Meyering  <meyering@redhat.com>
37136         non-recursive-gnulib-prefix-hack: new module
37137         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
37138         the file that originated in Bison.
37139         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
37140         largely copied from a snippet that resided in bison's configure.ac.
37141         * modules/non-recursive-gnulib-prefix-hack: New file.
37142         * MODULES.html.sh (Support for maintaining and releasing projects):
37143         Add it.
37145 2012-09-18  Jim Meyering  <meyering@redhat.com>
37147         maint.mk: generalize _gl_tight_scope for non-recursive make
37148         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
37149         that *.h would describe additional .h files in the directory
37150         specified by $(_gl_TS_dir).  I.e., add this...
37151         (_gl_TS_other_headers): New variable.
37153         maint.mk: exempt trailing blanks found in "binary" files
37154         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
37155         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
37156         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37158 2012-09-17  Jim Meyering  <meyering@redhat.com>
37160         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
37161         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
37162         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
37163         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37165 2012-09-17  Jim Meyering  <meyering@redhat.com>
37167         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
37168         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
37169         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
37170         It is not in the same category as "exit (0)" or "exit (1)", and
37171         besides, I know of no symbolic name for that 77.  Reported by
37172         Richard W.M. Jones in
37173         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37175 2012-09-17  Jim Meyering  <meyering@redhat.com>
37177         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
37178         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
37179         all uses of #define, not just those that start in column 1.
37180         Richard W.M. Jones reported a false positive in
37181         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37183 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37185         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
37186         * lib/localcharset.c (locale_charset) [DARWIN7]:
37187         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
37188         as these two values are incompatible.  Problem reported by Max Horn.
37189         For more discussion, please see
37190         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
37192         doc: document sticky-EOF issue
37193         * doc/posix-functions/fgetc.texi (fgetc):
37194         * doc/posix-functions/fgets.texi (fgets):
37195         * doc/posix-functions/fread.texi (fread):
37196         * doc/posix-functions/fscanf.texi (fscanf):
37197         * doc/posix-functions/getc.texi (getc):
37198         * doc/posix-functions/getchar.texi (getchar):
37199         * doc/posix-functions/scanf.texi (scanf):
37200         Mention that glibc and default Solaris do not conform to
37201         C99 and POSIX-2001 or later, with respect to how getchar
37202         etc. behave when feof reports nonzero.
37204 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37206         poll: fix poll(0, NULL, msec)
37207         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
37208         but nfd is 0.  In that case poll should behave like select.
37210 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37211             Paolo Bonzini  <bonzini@gnu.org>
37213         poll: fix for systems that can't recv() on a non-socket
37214         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
37215         is readable.  In this case POLLHUP will not be supported.
37216         * doc/posix-functions/poll.texi: Document this.
37218 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
37220         poll/select: document portability problems not fixed by Gnulib.
37221         * doc/posix-functions/poll.texi: poll does not work well on
37222         pipes under Windows.  It has the same limitations as select on
37223         BeOS.
37224         * doc/posix-functions/select.texi: select does not work well
37225         on pipes under Windows.
37227 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
37229         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
37230         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
37231         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
37232         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
37234 2012-09-06  Eric Blake  <eblake@redhat.com>
37236         net_if: give more details about the bug being fixed
37237         * doc/posix-headers/net_if.texi: Add clarification.
37239 2012-09-05  Eric Blake  <eblake@redhat.com>
37241         net_if: new module
37242         * modules/net_if: New module, borrowing ideas from netinet_in.
37243         * m4/net_if_h.m4: New file.
37244         * lib/net_if.in.h: Likewise.
37245         * doc/posix-headers/net_if.texi (net/if.h): Document it.
37246         * MODULES.html.sh (lacking POSIX:2008): Likewise.
37247         * tests/test-net_if.c: Make function checks conditional.
37248         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
37250 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
37252         readutmp: fix non-portable UT_PID use
37253         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
37254         Use `UT_PID (u) > 0' as absolute condition.
37256 2012-09-04  Jim Meyering  <meyering@redhat.com>
37258         fts: reduce two or more trailing spaces to just one, usually
37259         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
37260         or more slashes, trim all but the final one.  But if a name consists
37261         solely of two slashes, don't modify it.  If it consists solely of
37262         three or more slashes, strip all but one.
37264         This is part of the solution to a minor problem with rm:
37265         it would print a bogus ELOOP diagnostic when failing to remove
37266         the slash-decorated name of a symlink-to-directory:
37268             $ mkdir d && ln -s d s && env rm -r s/
37269             rm: cannot remove 's': Too many levels of symbolic links
37271         With the change below and a trivial don't-trim-trailing-slashes
37272         adjustment to remove.c, it does this:
37274             $ env rm -r s/
37275             rm: cannot remove 's/': Not a directory
37277         Improved by: Eric Blake
37279         fts: when there is no risk of overlap, use memcpy, not memmove
37280         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
37282 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
37284         stdbool: be more compatible with mixed C/C++ compiles
37285         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
37286         Define to bool, true, false, respectively, as GCC's builtin
37287         stdbool.h does.  Problem reported by Michael Goffioul in
37288         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
37290 2012-08-28  Jim Meyering  <meyering@redhat.com>
37292         revert last change: it was not needed
37293         * tests/test-vc-list-files-git.sh: There's already a test for
37294         a working git, just below.
37296 2012-08-28  Jim Meyering  <meyering@redhat.com>
37298         tests: test-vc-list-files-git.sh: skip if git is not available
37299         * tests/test-vc-list-files-git.sh: Skip this test when git is
37300         not available.
37302 2012-08-26  Bruno Haible  <bruno@clisp.org>
37304         gnulib-tool: Remove no-op option --no-changelog.
37305         * gnulib-tool (func_usage): Don't mention --no-changelog.
37306         (do_changelog): Remove variable.
37307         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37309 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37311         doc: remove fdl-1.2.texi
37312         It is no longer used or maintained, and its use of @acronym
37313         is problematic.  See the thread containing
37314         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
37315         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
37316         * doc/old-licenses/fdl-1.2.texi: Remove.
37318         execinfo: port to FreeBSD
37319         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
37320         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
37321         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
37322         * modules/execinfo (Link): Add $(LIB_EXECINFO).
37324 2012-08-23  Jim Meyering  <meyering@redhat.com>
37326         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
37327         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
37328         to placate gcc's -Wold-style-declaration.
37330 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37332         doc: do not use @acronym
37333         * doc/inet_ntoa.texi (inet_ntoa):
37334         * doc/parse-datetime.texi (Seconds since the Epoch)
37335         (Specifying time zone rules):
37336         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
37337         Don't use @acronym.  Problem reported by John Darlington in
37338         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
37340 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
37342         stdnoreturn: port to newer GCCs
37343         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
37344         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
37345         Problem reported by Jim Meyering in
37346         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
37347         Also, rename the 'test' function to a void a clash with the
37348         already-supplied 'main' function; this fixes a bug that incorrectly
37349         rejected GCC 4.7.1's <stdnoreturn.h>.
37350         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
37351         Document GCC problem.
37353 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
37355         pipe-filter: fix comment typo
37356         * lib/pipe-filter.h: Mention correct function.
37358 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
37360         execinfo: new module
37361         This is for Emacs.  Currently, it provides a no-effect stub
37362         on all platforms where it does not already work.
37363         It already works on glibc-based systems, and on Solaris 11.
37364         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
37365         New files.
37366         * doc/glibc-headers/execinfo.texi (execinfo.h):
37367         * MODULES.html.sh (Misc): Document it.
37369 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37371         extern-inline: support old GCC 'inline'
37372         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
37373         if available.  This applies to GCC versions 2.7 through 4.2, or
37374         when newer GCC is using -fgnu89-inline.  The goal is to address
37375         some of the performance issues mentioned by Bruno Haible in
37376         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
37378 2012-08-20  Eric Blake  <eblake@redhat.com>
37380         maint.mk: avoid redundant file name in message
37381         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
37382         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
37383         (sc_makefile_path_separator_check): Remove bogus $(ME).
37385 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
37387         timer-time: fix link order when static linking on glibc
37388         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
37389         _after_ -lrt so that it's significant.
37391 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37393         timespec: omit unnecessary AC_C_INLINE
37394         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
37396         stat-time: omit unnecessary AC_C_INLINE
37397         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37398         Do not require AC_C_INLINE.
37400         ignore-value: omit unnecessary AC_C_INLINE
37401         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
37403         sys_select: avoid 'static inline'
37404         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
37406         mktime: avoid 'static inline'
37407         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
37408         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
37410 2012-08-19  Bruno Haible  <bruno@clisp.org>
37412         gnulib-tool: Improve coding style.
37413         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
37414         func_emit_lib_Makefile_am.
37415         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37417 2012-08-19  Bruno Haible  <bruno@clisp.org>
37419         gnulib-tool: Fix indentation.
37420         * gnulib-tool (func_import): Fix indentation.
37422 2012-08-19  Bruno Haible  <bruno@clisp.org>
37424         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
37425         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
37426         on the list of removed files.
37428 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37430         test-parse-datetime: avoid glibc leap-second glitch
37431         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
37432         with the 2012 rules.  Problem reported by Bruce Dubbs in
37433         <http://bugs.gnu.org/12206>.
37435 2012-08-14  Bruno Haible  <bruno@clisp.org>
37437         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
37438         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
37439         from argument.
37440         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37442 2012-08-14  Eric Blake  <eblake@redhat.com>
37444         ldexp: relax license
37445         * modules/ldexp (License): Trivial relax, since the module only
37446         provides a permissively licensed m4 file.
37448 2012-08-13  Bruno Haible  <bruno@clisp.org>
37450         gnulib-tool: Fix persistence of --witness-c-macro option.
37451         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
37452         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37454 2012-08-11  Eric Blake  <eblake@redhat.com>
37456         count-leading-zeros: use a lookup table on non-gcc compilers
37457         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
37458         alternate implementation, suggested by Jim Meyering.
37460 2012-08-10  Eric Blake  <eblake@redhat.com>
37462         count-leading-zeros: new module
37463         * modules/count-leading-zeros: New module.
37464         * m4/count-leading-zeros.m4: New file.
37465         * lib/count-leading-zeros.h: Likewise.
37466         * modules/count-leading-zeros-tests: New test.
37467         * tests/test-count-leading-zeros.c: New file.
37468         * MODULES.html.sh (Integer arithmetic functions): Document it.
37470 2012-08-07  Simon Josefsson  <simon@josefsson.org>
37471             Jim Meyering  <meyering@redhat.com>
37473         maintainer-makefile: Fix syntax error with dash.
37474         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
37475         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
37477 2012-08-05  Jim Meyering  <meyering@redhat.com>
37479         extern-inline: also ignore -Wmissing-declarations
37480         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
37481         required with gcc-4.8.0-to-be.
37483         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
37484         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
37485         for /error ?([^,]*)/.  This avoids false-positives for strings like
37486         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
37488 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
37490         gnumakefile: better interaction with Automake-NG
37491         * modules/gnumakefile [Makefile.am]: The makefiles generated by
37492         Automake-NG always contain a definition of VPATH, even in non-VPATH
37493         builds (its value being simply '.' in that case).  So, in the
37494         'clean-GNUmakefile' rule, to determine whether running under a
37495         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
37496         '$(VPATH)' expands to the empty string.
37498 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
37500         base64: Use extern C scope in header file, for C++.
37501         * lib/base64.h: Add C++ namespace protection.
37503 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
37505         stat-time, timespec, u64: support naive out-of-dir builds
37506         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
37507         Use '#include "foo.h"', not '#include <foo.h>', when including
37508         one's own interface.  This works better when configuring with
37509         out-of-directory builds, since packages need not add an
37510         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
37512 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
37514         utimens: use extern-inline
37515         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
37516         * lib/utimens.h: Add copyright notice, since this is now large enough
37517         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37518         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
37519         * modules/utimens (Depends-on): Add extern-inline.
37521         u64: use extern-inline
37522         * lib/u64.c: New file.
37523         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37524         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
37525         * modules/u64 (Files): Add lib/u64.c.
37526         (Depends-on): Add extern-inline.
37527         (configure.ac): No need to require AC_C_INLINE, since extern-inline
37528         does that now.
37529         (lib_SOURCES): Add u64.c.
37531         timespec: use extern-inline
37532         * lib/timespec.c: New file.
37533         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37534         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
37535         * modules/timespec (Files): Add lib/timespec.c.
37536         (Depends-on): Add extern-inline.
37537         (lib_SOURCES): Add timespec.c.
37539         stat-time: use extern-inline
37540         * lib/stat-time.c: New file.
37541         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37542         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
37543         * modules/stat-time (Files): Add lib/stat-time.c.
37544         (Depends-on): Add extern-inline.
37545         (lib_SOURCES): Add stat-time.c.
37547         extern-inline: new module
37548         * modules/extern-inline, m4/extern-inline.m4: New files.
37549         This is for better support of 'extern inline' a la ISO C99,
37550         with a portable alternative on compilers that do not support
37551         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
37552         of the Emacs executable, when compiled with debugging disabled,
37553         which is a typical way that Emacs is built while developing.
37555 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
37557         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
37558         * build-aux/do-release-commit-and-tag: Move variable definitions
37559         together.
37560         ($branch): Instead of defaulting to "master", default to the current
37561         branch (as gnu-web-doc-update does).
37562         (help): Display the current values of the option arguments.
37563         * top/maint.mk (release-commit): New.
37564         * top/README-release: Simplify the corresponding step.
37566 2012-07-30  Eric Blake  <eblake@redhat.com>
37568         passfd: fix comment on recvfd
37569         * lib/passfd.c (recvfd): Fix comment.
37570         Reported by Jann Horn <jannhorn@googlemail.com>.
37572 2012-07-30  Jim Meyering  <meyering@redhat.com>
37574         maint.mk: avoid a sub-shell
37575         * top/maint.mk (release-prep): Remove unneeded sub-shell.
37577 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37579         maint.mk: use silent-rules support from Automake
37580         * top/maint.mk (news-check, vc-diff-check, announcement)
37581         (no-submodule-changes, alpha beta stable, release-prep)
37582         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
37584 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37586         maint.mk: provide a web-manual-update target
37587         * top/maint.mk: here.
37588         * top/README-release: Use it to simplify the web manual update step.
37590 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37592         README-release: shorten the circuit to post a news
37593         * top/README-release: Point directly to the news submission form.
37595 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37597         gnu-web-doc-update: fix --help
37598         * build-aux/gnu-web-doc-update: The information "top level" was written
37599         twice.
37601 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37603         maint.mk: absolute VPATH issue
37604         * top/maint.mk (release-prep): Help Git find .git/.
37605         From Jim Meyering.
37607 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37609         gitlog-to-changelog: fix previous change
37610         * build-aux/gitlog-to-changelog: Fix condition.
37611         Add missing ";".
37613 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37615         gitlog-to-changelog: don't expect .git to be in $srcdir
37616         Reported by Bruno Haible.
37617         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
37618         * build-aux/gitlog-to-changelog (&git_dir_option): New.
37619         Use it.
37621 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37623         maint.mk: absolute VPATH build fix
37624         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
37625         $(srcdir) is not a parent of $(builddir).
37627 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
37629         clean-temp: Fix memory leak.
37630         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
37631         'files' members of tmpdir.
37633 2012-07-27  Jim Meyering  <meyering@redhat.com>
37635         maint.mk: new rule: refresh-gnulib-patches
37636         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
37637         Use this rule to refresh them.
37638         * top/maint.mk (refresh-gnulib-patches): New rule.
37640 2012-07-24  Bruno Haible  <bruno@clisp.org>
37642         gnulib-tool: Fix handling of inctests variable.
37643         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
37644         Reported by Nick Bowler <nbowler@elliptictech.com>.
37646 2012-07-22  Bruno Haible  <bruno@clisp.org>
37648         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
37649         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
37650         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37651         Remove exemption for getpass.h.
37652         Suggested by Eric Blake.
37654 2012-07-20  Eric Blake  <eblake@redhat.com>
37656         verify: document conflict with -Wnested-externs
37657         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
37659         maint.mk: forbid exit(-1)
37660         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
37662 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37664         fsusage: port back to Solaris
37665         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
37666         error (fsd not declared) on Solaris 10.  Reported privately by
37667         Andrew Borodin.
37669 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
37671         gnu-web-doc-update: fix error messages
37672         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
37674         gnu-web-doc-update: check the requirements.
37675         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
37676         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
37677         * build-aux/bootstrap (find_tool): Comment change.
37679 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
37681         maint.mk: minor simplication.
37682         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
37683         for default values.
37685 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
37687         gitlog-to-changelog: VPATH build issues
37688         If builddir is not a subdirectory of srcdir, running git from it will
37689         fail.
37690         * build-aux/gitlog-to-changelog (--srcdir): New option.
37692 2012-07-15  Bruno Haible  <bruno@clisp.org>
37694         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
37695         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
37696         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
37697         Remove exemption for fpending.h.
37698         Suggested by Eric Blake.
37700 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37702         pthread_sigmask: fix bug on FreeBSD 9
37703         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
37704         Include string.h.
37705         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
37706         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
37707         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
37708         but pthread_sigmask (1729, NULL, NULL) returns zero.
37709         See <http://bugs.gnu.org/11884>.
37710         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
37711         by inspecting whether the main call changed the old mask.
37713 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
37715         README-release: make it more legible
37716         * top/README-release: Improve typography slightly.
37718 2012-07-15  Jim Meyering  <meyering@redhat.com>
37720         maint: require that each sc_... command start with "@"
37721         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
37722         "make sc_maint" helps us avoid this nit.
37724 2012-07-15  Jim Meyering  <meyering@redhat.com>
37726         maint.mk: add leading "@" to quiet new "make syntax-check" rule
37727         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
37729 2012-07-13  Eric Blake  <eblake@redhat.com>
37731         maint.mk: new syntax check for HAVE_DECL checks
37732         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
37733         * cfg.mk
37734         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37735         Exempt some false positives.
37736         Based on a report by Karel Zak.
37738         argp: make HAVE_DECL usage consistent
37739         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
37740         macros, not whether they are defined.
37741         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
37742         convention with other declaration checks.
37743         Reported by Karel Zak, with suggestions from Paul Eggert.
37745         stat-time: relax license to LGPLv2+
37746         * modules/stat-time (License): Relax, with consent of all authors.
37748         strndup: fix m4 usage error
37749         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
37750         defined, to either 0 or 1.
37751         Reported by Karel Zak.
37753 2012-07-11  Jim Meyering  <meyering@redhat.com>
37755         maint: enable the sc_avoid_if_before_free syntax-check rule
37756         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
37757         (if_before_free_offenders_): Define.
37758         (if_before_free_basename_re_): Define.
37759         Exempt current files with useless if-before-free.
37761 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
37763         gettext: do not assume '#define ... defined ...' behavior
37764         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
37765         Do not use '#define FOO ... defined BAR ...', as the C standard says
37766         it's not portable to expect that this works after macro expansion.
37767         Problem reported for gzip by Steven M. Schweda in
37768         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
37770 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37772         getloadavg: clean out old Emacs and Autoconf cruft
37773         See Glenn Morris in <http://bugs.gnu.org/11905>.
37774         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
37775         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
37776         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
37777         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
37779 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
37781         bootstrap: let warn be like tests/init.sh's warn_
37782         Reported by Jim Meyering.
37783         * build-aux/bootstrap (warn): Remove, replaced by...
37784         (warnf_, warn_): these.
37785         Adjust callers.
37786         Shorten messages that no longer fit in 80 columns.
37788 2012-07-09  Bruno Haible  <bruno@clisp.org>
37790         getopt: Simplify after Emacs changed.
37791         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
37792         (gl_GETOPT_IFELSE): Remove macro.
37794 2012-07-09  Jim Meyering  <meyering@redhat.com>
37796         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
37797         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
37799         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
37800         Bugs in both of those conspired to make the
37801         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
37802         _sc_search_regexp's handling of non-empty $in_files would filter
37803         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
37804         choice of in_files value meant there would be no match in most
37805         projects, due to the presence of two or more Makefile.in files.
37806         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
37807         Fix a bug in how a non-empty $$in_files was processed:
37808         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
37809         in spite of the name, it's a regexp, not a list of file names.
37811 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37813         getloadavg, getopt: fix commentary re configure.in
37814         Autoconf is deprecating the name 'configure.in', so change it to
37815         to the new name 'configure.ac' in a couple of places.
37816         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
37817         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
37818         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
37819         Emacs has renamed it to configure.ac, and it no longer refers
37820         to these macros anyway.
37822         timespec: mark functions with const attributes
37823         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
37824         Mark with _GL_ATTRIBUTE_CONST.
37826 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37828         canonicalize[-lgpl]: handle "guessing" values when cross-building
37829         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37830         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
37831         matches "*yes" instead of just "yes".  Regression introduced in commit
37832         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
37834 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37835             Bruno Haible  <bruno@clisp.org>
37837         canonicalize: make the right guess when cross-compiling to GNU
37838         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
37839         determine whether cross-compiling to glibc systems, so as to
37840         include GNU/Hurd.
37842 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37844         timespec-sub: avoid duplicate include
37845         * lib/timespec-sub.c: Do not include <config.h> twice.
37846         Reported by Juanma Barranquero.
37848 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
37850         bootstrap: use a more consistent error reporting scheme
37851         * build-aux/bootstrap (warn, die): New.
37852         Use them.
37854 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37856         sys_time: allow too-wide tv_sec
37857         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
37858         timeval even if tv_sec is wider than time_t.  This allows
37859         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
37860         as without this patch gnulib replaces struct timeval
37861         and OpenBSD futimes therefore has a type mismatch.
37862         * doc/posix-headers/sys_time.texi: Mention this.
37864         pthread: check for both pthread_create and pthread_join
37865         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
37866         alter the check so that it tests for both pthread_create and
37867         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
37868         Suggested by Bruno Haible and Richard Yao in
37869         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
37871         parse-datetime: doc tuneup
37872         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
37873         spacing issues.
37875 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
37877         do-release-commit-and-tag: fix the previous commit
37878         * build-aux/do-release-commit-and-tag: Actually the test was right,
37879         but the comment and the error message were misleading.
37880         Fix comment, and improve error message.
37881         Perform check first, so that NEWS is not modified uselessly.
37883         do-release-commit-and-tag: fix typo
37884         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
37885         _not_ start with a stub.
37887 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37889         pthread: check for pthread_create, not pthread_join
37890         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
37891         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
37892         pthread_join in libc.  I hope this removes the need for all the
37893         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
37894         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
37896 2012-07-04  Jim Meyering  <meyering@redhat.com>
37898         parse-datetime: fix failure to diagnose invalid input
37899         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
37900         rather than diagnosing the invalid input.  Now it reports this:
37901         date: invalid date '\260'
37902         * lib/parse-datetime.y (to_uchar): Define.
37903         (yylex): Don't sign-extend "other" bytes.
37904         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
37905         Thanks to Bruno Haible for the patch to this file.
37906         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
37907         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
37909 2012-07-03  Jim Meyering  <meyering@redhat.com>
37911         bootstrap: do not require now-removed build-aux/missing
37912         Now that build-aux/missing is, er, missing, bootstrap would
37913         silently fail.
37914         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
37915         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
37916         no longer part of gnulib.
37917         Diagnose the failure.
37919 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37921         alloca: add support for HP NonStop TNS/E native
37922         * lib/alloca.in.h (alloca): Support the new host.
37923         From a suggestion by Joachim Schmitz in
37924         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
37926 2012-07-02  Pádraig Brady  <P@draigBrady.com>
37928         fsusage: remove code not needed on non GNU/Linux systems.
37930         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37931         Don't include headers no longer needed in this case.
37932         * lib/fsusage.c [STAT_STATVFS &&
37933         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
37934         STAT_STATFS2_FRSIZE to exclude code not used in this case.
37936 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37938         fsusage: include files needed for glibc 2.6 fallback
37939         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37940         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
37941         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
37942         Problem reported by Ludovic Courtès in
37943         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
37945         fsusage: avoid needless check on GNU/Linux
37946         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
37947         on GNU/Linux systems, since it can't possibly work.
37949 2012-07-01  Bruno Haible  <bruno@clisp.org>
37951         log: Fix an autoconf >= 2.64 warning.
37952         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
37953         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37955 2012-06-28  Bruno Haible  <bruno@clisp.org>
37957         log10f: Fix possible configuration problem.
37958         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
37959         $LOGF_LIBM.
37960         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37962 2012-06-28  Bruno Haible  <bruno@clisp.org>
37964         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
37965         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
37966         not gl_cv_func_unlink_works.
37967         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37969 2012-06-27  Eric Blake  <eblake@redhat.com>
37971         config: drop scripts that automake says are not independent
37972         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
37973         * build-aux/elisp-comp: Delete.
37974         * build-aux/missing: Likewise.
37975         * build-aux/ylwrap: Likewise.
37976         * modules/elisp-comp: Likewise.
37977         * MODULES.html.sh: Drop mention of elisp-comp.
37978         * NEWS: Mention this.
37980 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37982         root-uid: new module
37983         This is for portability to Tandem's NonStop Kernel.
37984         * lib/root-uid.h, modules/root-uid: New files.
37985         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
37986         * lib/write-any-file.c, tests/test-sethostname2.c:
37987         Include "root-uid.h".
37988         * lib/euidaccess.c (euidaccess):
37989         * lib/pt_chown.c (main):
37990         * lib/unlinkdir.c (cannot_unlink_dir):
37991         * lib/write-any-file.c (can_write_any_file):
37992         * m4/mknod.m4 (gl_FUNC_MKNOD):
37993         * tests/test-sethostname2.c (geteuid, main):
37994         Don't assume ROOT_UID == 0.
37995         * modules/euidaccess (Depends-on):
37996         * modules/pt_chown (Depends-on):
37997         * modules/sethostname-tests (Depends-on):
37998         * modules/unlinkdir (Depends-on):
37999         * modules/write-any-file (Depends-on):
38000         Add root-uid.
38002         regex: use locale-independent comparison for codeset name
38003         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
38004         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
38005         for codeset name.
38006         * lib/regex_internal.h: Do not include <strings.h>, since we
38007         no longer use strcasecmp.
38008         * modules/regex (Depends-on): Remove strcase.
38010 2012-06-23  Bruno Haible  <bruno@clisp.org>
38012         getopt-posix: No longer guarantee that option processing is resettable.
38013         * doc/posix-functions/getopt.texi: Drop description of problem with
38014         internal state. Fix info about mingw and msvc9.
38015         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
38016         option processing by getopt(). Run three test programs instead of one.
38017         Simplify cross-compilation guess.
38018         * NEWS: Mention the change.
38019         Reported by Rich Felker <dalias@aerifal.cx>.
38021 2012-06-26  Bruno Haible  <bruno@clisp.org>
38023         argp, regex: Ensure strcasecmp gets declared.
38024         * lib/argp-help.c: Include <strings.h>.
38025         * lib/regex_internal.h: Likewise.
38026         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
38028 2012-06-24  Bruno Haible  <bruno@clisp.org>
38030         ptsname_r: Make it consistent with ptsname on AIX.
38031         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
38032         implementation as for OSF/1.
38033         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
38034         a pty master.
38036         ptsname_r: Make it consistent with ptsname on OSF/1.
38037         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38038         OSF/1.
38040 2012-06-24  Bruno Haible  <bruno@clisp.org>
38042         ttyname_r: Fix result on OSF/1, Solaris.
38043         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
38045 2012-06-24  Bruno Haible  <bruno@clisp.org>
38047         ptsname_r: Add support for Solaris.
38048         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38049         Solaris.
38051         ptsname_r: Fix test failure on native Windows.
38052         * modules/ptsname_r (Depends-on): Add isatty.
38054         ptsname_r: Fix test failures on IRIX, Solaris.
38055         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
38056         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
38057         accordingly.
38058         * lib/ptsname_r.c: Include <fcntl.h>.
38059         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
38060         set errno if fd is invalid.
38061         * tests/test-isatty.c (main): Update comments.
38063 2012-06-24  Bruno Haible  <bruno@clisp.org>
38065         ptsname test: Extend test.
38066         * tests/test-ptsname.c: Include <errno.h>.
38067         (main): Test behaviour with invalid file descriptor.
38069 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
38071         time: fix obsolete comment
38072         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
38073         reference to HAVE_STRUCT_TIMESPEC in comment.
38075 2012-06-23  Bruno Haible  <bruno@clisp.org>
38077         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
38078         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
38079         does not handle abbreviated long options with equivalent
38080         disambiguations, set gl_replace_getopt to yes.
38081         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
38083 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38085         time_r: fix typo that always overrode localtime_r decl
38086         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
38087         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
38088         not in a standard include.
38090 2012-06-22  Bruno Haible  <bruno@clisp.org>
38092         Write "Mac OS X" instead of "MacOS X".
38093         * README: Write "Mac OS X" instead of "MacOS X".
38094         * build-aux/bootstrap: Likewise.
38095         * build-aux/install-reloc: Likewise.
38096         * lib/acl-internal.h: Likewise.
38097         * lib/acl_entries.c: Likewise.
38098         * lib/argp-ba.c: Likewise.
38099         * lib/argp-pv.c: Likewise.
38100         * lib/config.charset: Likewise.
38101         * lib/copy-acl.c: Likewise.
38102         * lib/csharpexec.c: Likewise.
38103         * lib/euidaccess.c: Likewise.
38104         * lib/fbufmode.c: Likewise.
38105         * lib/fflush.c: Likewise.
38106         * lib/file-has-acl.c: Likewise.
38107         * lib/filemode.h: Likewise.
38108         * lib/fpurge.c: Likewise.
38109         * lib/freadable.c: Likewise.
38110         * lib/freadahead.c: Likewise.
38111         * lib/freading.c: Likewise.
38112         * lib/freadptr.c: Likewise.
38113         * lib/freadseek.c: Likewise.
38114         * lib/fseeko.c: Likewise.
38115         * lib/fseterr.c: Likewise.
38116         * lib/fsusage.c: Likewise.
38117         * lib/fwritable.c: Likewise.
38118         * lib/fwriting.c: Likewise.
38119         * lib/get-rusage-as.c: Likewise.
38120         * lib/get-rusage-data.c: Likewise.
38121         * lib/getdomainname.c: Likewise.
38122         * lib/idpriv-drop.c: Likewise.
38123         * lib/idpriv-droptemp.c: Likewise.
38124         * lib/localcharset.c: Likewise.
38125         * lib/locale.in.h: Likewise.
38126         * lib/localename.c: Likewise.
38127         * lib/mbsrtowcs-state.c: Likewise.
38128         * lib/nproc.c: Likewise.
38129         * lib/passfd.c: Likewise.
38130         * lib/posix_openpt.c: Likewise.
38131         * lib/printf-parse.c: Likewise.
38132         * lib/progreloc.c: Likewise.
38133         * lib/safe-read.h: Likewise.
38134         * lib/safe-write.h: Likewise.
38135         * lib/sched.in.h: Likewise.
38136         * lib/set-mode-acl.c: Likewise.
38137         * lib/signal.in.h: Likewise.
38138         * lib/stdint.in.h: Likewise.
38139         * lib/stdio-impl.h: Likewise.
38140         * lib/stdlib.in.h: Likewise.
38141         * lib/strtod.c: Likewise.
38142         * lib/sys_select.in.h: Likewise.
38143         * lib/tcgetsid.c: Likewise.
38144         * lib/unistd.in.h: Likewise.
38145         * lib/unlockpt.c: Likewise.
38146         * lib/vasnprintf.c: Likewise.
38147         * lib/vma-iter.c: Likewise.
38148         * lib/wcsrtombs-state.c: Likewise.
38149         * m4/acl.m4: Likewise.
38150         * m4/acosl.m4: Likewise.
38151         * m4/asinl.m4: Likewise.
38152         * m4/atanl.m4: Likewise.
38153         * m4/c-stack.m4: Likewise.
38154         * m4/cosl.m4: Likewise.
38155         * m4/expl.m4: Likewise.
38156         * m4/extensions.m4: Likewise.
38157         * m4/fdatasync.m4: Likewise.
38158         * m4/fmal.m4: Likewise.
38159         * m4/frexp.m4: Likewise.
38160         * m4/frexpf.m4: Likewise.
38161         * m4/frexpl.m4: Likewise.
38162         * m4/fsusage.m4: Likewise.
38163         * m4/getdomainname.m4: Likewise.
38164         * m4/getloadavg.m4: Likewise.
38165         * m4/getopt.m4: Likewise.
38166         * m4/gettext.m4: Likewise.
38167         * m4/gnulib-common.m4: Likewise.
38168         * m4/intdiv0.m4: Likewise.
38169         * m4/intlmacosx.m4: Likewise.
38170         * m4/largefile.m4: Likewise.
38171         * m4/ldexpl.m4: Likewise.
38172         * m4/link-follow.m4: Likewise.
38173         * m4/locale-ar.m4: Likewise.
38174         * m4/locale-fr.m4: Likewise.
38175         * m4/locale-ja.m4: Likewise.
38176         * m4/locale-tr.m4: Likewise.
38177         * m4/locale-zh.m4: Likewise.
38178         * m4/locale_h.m4: Likewise.
38179         * m4/lock.m4: Likewise.
38180         * m4/logl.m4: Likewise.
38181         * m4/mathfunc.m4: Likewise.
38182         * m4/minus-zero.m4: Likewise.
38183         * m4/mktime.m4: Likewise.
38184         * m4/mmap-anon.m4: Likewise.
38185         * m4/multiarch.m4: Likewise.
38186         * m4/nanosleep.m4: Likewise.
38187         * m4/nocrash.m4: Likewise.
38188         * m4/poll.m4: Likewise.
38189         * m4/printf-frexpl.m4: Likewise.
38190         * m4/printf.m4: Likewise.
38191         * m4/signbit.m4: Likewise.
38192         * m4/sinl.m4: Likewise.
38193         * m4/sqrtl.m4: Likewise.
38194         * m4/strerror_r.m4: Likewise.
38195         * m4/tanl.m4: Likewise.
38196         * m4/threadlib.m4: Likewise.
38197         * m4/ttyname_r.m4: Likewise.
38198         * m4/unlink.m4: Likewise.
38199         * m4/visibility.m4: Likewise.
38200         * m4/wcwidth.m4: Likewise.
38201         * tests/minus-zero.h: Likewise.
38202         * tests/test-alloca-opt.c: Likewise.
38203         * tests/test-copy-acl.sh: Likewise.
38204         * tests/test-copy-file.sh: Likewise.
38205         * tests/test-fdatasync.c: Likewise.
38206         * tests/test-file-has-acl.sh: Likewise.
38207         * tests/test-flock.c: Likewise.
38208         * tests/test-fsync.c: Likewise.
38209         * tests/test-localename.c: Likewise.
38210         * tests/test-malloca.c: Likewise.
38211         * tests/test-nonblocking-pipe.h: Likewise.
38212         * tests/test-nonblocking-socket.h: Likewise.
38213         * tests/test-openpty.c: Likewise.
38214         * tests/test-posix_openpt.c: Likewise.
38215         * tests/test-ptsname.c: Likewise.
38216         * tests/test-ptsname_r.c: Likewise.
38217         * tests/test-sameacls.c: Likewise.
38218         * tests/test-select.h: Likewise.
38219         * tests/test-set-mode-acl.sh: Likewise.
38220         * tests/test-snprintf-posix.h: Likewise.
38221         * tests/test-sprintf-posix.h: Likewise.
38222         * tests/test-strtod.c: Likewise.
38223         * tests/test-time.c: Likewise.
38224         * tests/test-vasnprintf-posix.c: Likewise.
38225         * tests/test-vasprintf-posix.c: Likewise.
38226         * doc/acl-resources.txt: Likewise.
38227         * doc/**/*.texi: Likewise.
38228         Reported by Max Horn <max@quendi.de>.
38230 2012-06-22  Bruno Haible  <bruno@clisp.org>
38232         grantpt: Relax requirement regarding invalid file descriptors.
38233         * lib/grantpt.c: Don't include <fcntl.h>.
38234         (grantpt): Don't verify the validity of the file descriptor.
38235         * modules/grantpt (Depends-on): Remove fcntl-h.
38236         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
38237         file descriptors.
38238         * doc/posix-functions/grantpt.texi: Document more platforms on which
38239         grantpt succeeds for invalid file descriptors.
38240         Reported by Rich Felker <dalias@aerifal.cx>.
38242 2012-06-22  Bruno Haible  <bruno@clisp.org>
38244         fbufmode test: Don't test unportable behaviour.
38245         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
38246         (main): Invoke it three times.
38247         Reported by Szabolcs Nagy <nsz@port70.net>
38248         and Rich Felker <dalias@aerifal.cx>.
38250 2012-06-21  Bruno Haible  <bruno@clisp.org>
38252         gnulib-tool: Refactor inctests variable.
38253         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
38254         (func_modules_transitive_closure,
38255         func_modules_transitive_closure_separately,
38256         func_import, func_create_testdir): Update.
38258         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
38259         * gnulib-tool: Accept option --without-tests.
38260         (func_usage): Document --without-tests option. Rearrange.
38261         (inctests): Normalize according to the mode.
38262         * NEWS: Mention the change.
38263         Suggested by Simon Josefsson.
38265 2012-06-21  Bruce Korb  <bkorb@gnu.org>
38267         parse-duration test: Avoid spurious output.
38268         * tests/test-parse-duration.sh: Reindent with leading tabs.
38270 2012-06-21  Jim Meyering  <meyering@redhat.com>
38272         maint: disable the strncpy prohibition
38273         * cfg.mk: Do not prohibit strncpy here.
38275 2012-06-21  Bruno Haible  <bruno@clisp.org>
38277         nonblocking: Avoid compilation error on mingw64.
38278         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
38279         fscanf.
38280         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
38281         * modules/vfscanf (configure.ac): Likewise.
38282         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
38283         definition only if stdio.h has prepared it.
38284         Reported by Daniel P. Berrange <berrange@redhat.com>.
38286 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
38288         gnulib-tool: Use readlink if it is available.
38289         * gnulib-tool (func_readlink): Choose function more appropriately.
38291 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38293         posixtm-tests: port to buggy compiler
38294         Problem reported by Simon Josefsson in
38295         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
38296         * modules/posixtm-tests (Depends-on): Add stdint.
38297         * tests/test-posixtm.c (struct posixtm_test.t_expected):
38298         Now of type int_least64_t, not int64_t, both because that's
38299         what INT64_C returns and because int_least64_t works even
38300         on 72-bit hosts.
38301         (T): Use INT64_C on constants outside the traditional int range,
38302         to work around compiler bug noted by Simon.
38304         mktime: fix integer overflow in 'configure'-time test
38305         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
38306         after integer overflow.  Problem reported by Rich Felker in
38307         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
38308         Also, don't look for further instances of a bug if we've already
38309         found one instance; this helps 'configure' run faster.
38311 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38313         tmpfile, clean-temp: Fix invocation of GetVersionEx.
38314         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
38315         GetVersionEx correctly.
38316         * lib/clean-temp.c (supports_delete_on_close): Likewise.
38318 2012-06-20  Bruno Haible  <bruno@clisp.org>
38320         fdopen: Allow implementations that don't reject invalid fd arguments.
38321         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
38322         succeeds.
38323         Reported by Rich Felker <dalias@aerifal.cx>.
38325 2012-06-20  Simon Josefsson  <simon@josefsson.org>
38327         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
38328         bring in LIBINTL.
38330 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38332         init.sh: do not rely on autoupated PWD
38333         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
38334         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
38335         Although Nelson's bug was not necessarily fixed by this patch,
38336         it seems wise to make the change for safety.
38337         * tests/init.sh (path_prepend_): Do not rely on PWD updating
38338         automagically after 'cd'; this is not reliable on older shells.
38339         (setup_): Fail if we cannot cd to temporary directory.
38341 2012-06-19  Bruno Haible  <bruno@clisp.org>
38343         stat, fstat: Avoid warnings on mingw64.
38344         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
38345         redefining.
38346         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
38347         Reported by Daniel P. Berrange <berrange@redhat.com>.
38349 2012-06-19  Bruno Haible  <bruno@clisp.org>
38351         stdioext: Add support for musl libc.
38353         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
38354         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
38356         * m4/fseterr.m4: New file.
38357         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
38358         function exists.
38359         * modules/fseterr (Files): Add m4/fseterr.m4.
38360         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
38361         __fseterr does not exist.
38362         (Makefile.am): Remove fseterr.c from lib_SOURCES.
38364         * lib/freadable.h: Update comment.
38366         * lib/fwritable.h: Update comment.
38368         * lib/freading.h: Update comment.
38370         * lib/fwriting.h: Update comment.
38372         * m4/freadahead.m4: New file.
38373         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
38374         that function exists.
38375         * modules/freadahead (Files): Add m4/freadahead.m4.
38376         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
38377         __freadahead does not exist.
38378         (Makefile.am): Remove freadahead.c from lib_SOURCES.
38380         * m4/freadptr.m4: New file.
38381         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
38382         function exists.
38383         * modules/freadptr (Files): Add m4/freadptr.m4.
38384         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
38385         __freadptr does not exist.
38386         (Makefile.am): Remove freadptr.c from lib_SOURCES.
38388         * m4/freadseek.m4: New file.
38389         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
38390         exists.
38391         * modules/freadseek (Files): Add m4/freadseek.m4.
38392         (configure.ac): Invoke gl_FUNC_FREADSEEK.
38394         * lib/fpurge.c (fpurge): Update comment.
38396         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
38398 2012-06-19  Bruno Haible  <bruno@clisp.org>
38400         *printf-posix: Put more info into config.log.
38401         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
38402         exit code into config.log.
38404 2012-06-19  Bruno Haible  <bruno@clisp.org>
38406         getopt-gnu: Fix exit code overflow in autoconf test.
38407         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
38408         to keep them below < 128.
38410 2012-06-17  Jim Meyering  <meyering@redhat.com>
38412         maint.mk: fix typo in code to derive GPG key at release time
38413         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
38415 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
38417         regex: avoid warning when pointers are not long
38418         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
38419         and uintptr_t, not long, for portability to hosts where pointers and
38420         long have different sizes.  Issue noted by Daniel P. Berrange in
38421         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
38422         and fix suggested by Bruno Haible in
38423         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
38425 2012-06-17  Bruno Haible  <bruno@clisp.org>
38427         dummy: Relicense into the public domain.
38428         * modules/dummy (License): Set to "public domain".
38429         Suggested by Reuben Thomas.
38431 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38433         announce-gen: VPATH issues
38434         * build-aux/announce-gen (--srcdir): New option, used to trim the
38435         $srcdir part of the path from $builddir to NEWS.
38436         * top/maint.mk (announcement): Adjust.
38438 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38440         gnu-web-doc-update: VPATH builds
38441         * build-aux/gnu-web-doc-update (--builddir): New option.
38442         Revamp the handling of options.
38443         Prefer $(...) to `...`.
38444         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
38445         the template, and it is GNU mktemp specific.
38446         Prefer set -e to long series of &&.
38447         Restore the initial git branch, not "master".
38448         Properly initialize submodules (don't rely only on bootstrap).
38449         Do not reconfigure blindly, use config.status.
38450         * top/README-release: Update instructions for gnu-web-doc-update.
38452 2012-06-11  Jim Meyering  <meyering@redhat.com>
38454         maint.mk: revert most of the previous change re "all these"
38455         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
38456         For rationale, see the discussion at
38457         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
38459 2012-06-10  Karl Berry  <karl@gnu.org>
38461         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
38463         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
38465 2012-06-10  Bruce Korb  <bkorb@gnu.org>
38467         parse-duration: Relicense under LGPLv2+.
38468         * modules/parse-duration (License): Change to LGPLv2+.
38470 2012-06-10  Jim Meyering  <meyering@redhat.com>
38472         maint.mk: prohibit common grammar error: "all these"
38473         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
38474         the list of prohibited word sequences.  It should be "all of these".
38475         * lib/tempname.c (__gen_tempname): Fix one of them.
38477 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38479         do-release-commit-and-tag: support VPATH builds
38480         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
38481         (noteworthy): Defined earlier to factor its value.
38482         (noteworthy_stub): New.
38483         Use it to factor.
38484         (help_version): Split into...
38485         (help, version): these.
38486         Adjust the option processing part.
38487         Support "--option=value" in addition to "--option value".
38488         (builddir): New.
38489         (--builddir): New option.
38490         * top/README-release: Document this.
38491         Reword slightly so that the reader cannot understand that he
38492         has to do these steps before calling do-release-commit-and-tag.
38494 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38496         readme-release: also require announce-gen and maintainer-makefile
38497         * modules/readme-release (Depends-on): here.
38498         * modules/announce-gen, modules/do-release-commit-and-tag,
38499         modules/gnu-web-doc-update, modules/maintainer-makefile
38500         (Description): Point to readme-release.
38502 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38504         maint.mk: fix VPATH issues.
38505         * top/maint.mk (news-check): GNU Make understand $< very well.
38506         (release-prep): NEWS is in $(srcdir).
38508 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
38510         readme-release: require the promoted modules.
38511         * modules/readme-release (Depends-on): Add
38512         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
38513         in this text.
38515 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38516             Bruno Haible  <bruno@clisp.org>
38518         error, strerror-override: Support mingw64 from Fedora 17.
38519         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
38520         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
38521         EINPROGRESS.
38522         * lib/strerror-override.h (strerror_override): Test it.
38523         * lib/strerror-override.c (strerror_override): Likewise.
38524         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
38526 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38527             Bruno Haible  <bruno@clisp.org>
38529         error, strerror-override: Support mingw64 from Fedora 17.
38530         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
38531         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
38532         * lib/strerror-override.h (strerror_override): Test it.
38533         * lib/strerror-override.c (strerror_override): Likewise.
38535 2012-06-03  Bruno Haible  <bruno@clisp.org>
38537         error, strerror-override: Support new errno values from POSIX:2008.
38538         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
38539         ENOTRECOVERABLE.
38540         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
38541         platforms.
38542         * lib/strerror-override.c (strerror_override): Conditionalize the
38543         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
38544         * lib/strerror-override.h (strerror_override): Declare also if
38545         GNULIB_defined_EOWNERDEAD is defined.
38546         * tests/test-errno.c (e130, e131): New variables.
38547         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
38548         ENOTRECOVERABLE.
38549         Reported by Paolo Bonzini.
38551 2012-05-31  Jim Meyering  <meyering@redhat.com>
38553         savewd: add missing dependency on sys_wait module
38554         * modules/savewd (Depends-on): Add sys_wait, needed at least
38555         for MSVC.  Report and suggested change by Michael Goffioul.
38557 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38559         system-quote-tests: port to CentOS 5
38560         Problem reported by Tom G. Christensen in
38561         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
38562         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
38564 2012-05-29  Jim Meyering  <meyering@redhat.com>
38566         maint: fix typos in comments and ChangeLog
38567         Culprits identified and fixed mostly automatically using these commands:
38568         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
38569         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
38570         using http://github.com/lyda/misspell-check
38571         * ChangeLog: Fix typos.
38572         * doc/solaris-versions: Likewise.
38573         * lib/regexec.c (re_search_stub): Likewise.
38574         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38576 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38578         manywarnings: remove duplicate -Wmultichar entry
38579         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
38580         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
38581         so keep the entry marked as documented.
38583 2012-05-27  Karl Berry  <karl@gnu.org>
38585         * config/srclist.txt (mktime.c): remove last libc sync,
38586         perhaps just temporarily.
38588 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38590         regex: don't assume uint64_t or uint32_t
38591         * lib/regcomp.c (init_word_char): Don't assume that the types
38592         uint64_t and uint32_t exist.  The C standard doesn't guarantee
38593         them, and on some 32-bit compilers there is no uint64_t.
38594         Problem reported by Gianluigi Tiesi in
38595         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
38597 2012-05-25  Jim Meyering  <meyering@redhat.com>
38599         maint.mk: add strncpy-prohibiting syntax-check rule
38600         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
38602 2012-05-24  Jim Meyering  <meyering@redhat.com>
38604         maint.mk: compute $(gpg_key_ID) more portably
38605         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
38606         That use of sed is not portable to some fringe systems.
38607         Reported by Paul Eggert in
38608         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
38610 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38612         mktime: sync from glibc
38613         * config/srclist.txt: Uncomment mktime.c.
38614         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
38615         First, indent with tabs, since glibc uses tabs and doesn't want to
38616         change and we'd rather be identical to glibc.  Also, two small
38617         coding changes:
38618         (isdst_differ): Use &&, not &, as && is the usual style.
38619         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
38620         for clarity.
38622 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38624         announce-gen: du -h is more portable than du --human
38625         * build-aux/announce-gen (sizes): Invoke du with -h instead
38626         of --human.  Accept leading white space in its output.
38628 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38630         announce-gen: Improve diagnostics.
38631         * build-aux/announce-gen: When parsing command line options,
38632         prefer "announce-gen: option --release-type requires an argument"
38633         to "Option release-type requires an argument".
38635 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38637         maint.mk: gpg_key_ID: use sed more portably
38638         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
38639         the closing brace.
38640         (refresh-po): Fuse two sed invocations into one.
38642 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
38644         gitlog-to-changelog: support the log message format used in Bison.
38645         * build-aux/gitlog-to-changelog: Support --strip-tab and
38646         --strip-cherry-picked.
38648 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38650         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
38651         the rest of the current time slice to another thread in the current
38652         process. So if the thread that feeds the file decscriptor we're
38653         polling is not in the current process, we get busy-waiting.
38654         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
38655         Patch from Theodore Leblond.
38656         * lib/select.c: Split polling out of the loop that sets the output
38657         fd_sets.  Check for zero result and loop if the wait timeout is
38658         infinite.
38660 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38662         select: Fix build error on IRIX 6.5.
38663         * lib/select.c: Include stddef.h for NULL.
38665 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38667         gc: fix libgcrypt detection on older machines.
38668         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
38669         copyright years because the file has been distributed every year
38670         since it was created.
38672 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38674         crypto: fix bug in large buffer handling
38675         Problem reported by Serge Belyshev for glibc in
38676         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
38677         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
38678         * lib/md4.c (md4_process_block):
38679         * lib/md5.c (md5_process_block):
38680         * lib/sha1.c (sha1_process_block):
38681         * lib/sha256.c (sha256_process_block):
38682         Don't assume the buffer length is less than 2**32.
38683         * lib/sha512.c (sha512_process_block): Likewise.
38684         Here, the bug is present only in the rare case where the host does
38685         not support uint64_t or where size_t is wider than 64 bits.
38686         Use u64size to work around the problems.
38687         * lib/u64.h (u64size): New macro.
38689 2012-05-15  Pádraig Brady  <P@draigBrady.com>
38691         fsusage: fix block size returned on older Linux 2.6
38693         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
38694         which is available since Linux 2.6.
38695         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
38696         when the member is available so it can be used as a fallback.
38697         * doc/posix-functions/statvfs.texi: Mention the hang issue
38698         on Linux < 2.6.36.
38700 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38702         bootstrap: suppress stderr chatter
38703         * build-aux/bootstrap (insert_sorted_if_absent, main program):
38704         Omit unnecessary chatter to stderr.  The main program chatter
38705         was there only inadvertantly.
38707         bootstrap: .gitignore files created by autopoint, libtool
38708         I ran into this problem when bootstrapping the latest diffutils.
38709         After './bootstrap', 'git status' reported lots of untracked files
38710         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
38711         autopoint and do not need to be version-controlled.
38712         * build-aux/bootstrap: Put into .gitignore the files that
38713         autopoint and libtool create, by keeping track of files that exist
38714         after but not before these programs are run.
38715         (version_controlled_file): Move up.  2nd arg is now full file
38716         name, not base name; this is more convenient.  Put CVS at the end,
38717         as it's now somewhat deprecated.
38719 2012-05-14  Jim Meyering  <meyering@redhat.com>
38721         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
38722         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
38723         definition.  Reported by Bruno Haible.
38725 2012-05-13  Bruno Haible  <bruno@clisp.org>
38726             Paul Eggert  <eggert@cs.ucla.edu>
38728         binary-io: Define set_binary_mode function.
38729         * lib/binary-io.h (set_binary_mode): New function.
38730         (SET_BINARY): Define in terms of set_binary_mode.
38731         * modules/binary-io (configure.ac): Require AC_C_INLINE.
38732         * tests/test-binary-io.c (main): Accept an argument, and test either
38733         set_binary_mode or SET_BINARY depending on the argument.
38734         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
38735         argument. Clean up also t-bin-out0.tmp.
38737 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
38739         bootstrap: take advantage of POSIX shell features
38741         The 'bootstrap' script offered by Gnulib script already uses POSIX
38742         shell features (like $((...)) arithmetic expansions) that are not
38743         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
38744         means that bootstrap must already be run using a proper POSIX shell,
38745         which will thus provide more features, like ${var#pattern} parameter
38746         expansion or inversion of a command exit status with '!'.  We can
38747         thus use these features to improve the clarity and the performances
38748         of the bootstrap script.
38750         Suggested by Eric Blake.
38752         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
38753         of sed/expr plus command substitutions, to save some forks.  While
38754         we are at it, prefer the POSIX $(...) form of command substitution,
38755         rather than the legacy form `...` (since the former is visually
38756         clearer and interacts better with quoting), and prefer the idiom:
38757           "if ! CMD; then ACTION ..."
38758         over the idiom:
38759           "if CMD; then :; else ACTION ..."
38760         which was required by legacy Bourne shells not supporting '!'.
38762 2012-05-12  Bruno Haible  <bruno@clisp.org>
38764         system-quote: Add more comments.
38765         * lib/system-quote.h: Add more comments about wilcards and limitations.
38766         Suggested by Eli Zaretskii <eliz@gnu.org>.
38768         sh-quote, system-quote: Add comments about wildcards.
38769         * lib/sh-quote.h: Clarify what happens with wildcard characters.
38770         * lib/system-quote.h: Likewise.
38771         Reported by Eli Zaretskii <eliz@gnu.org>.
38773 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
38775         fsusage: check for GNU/Linux statvfs problem dynamically
38776         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
38777         Define STAT_STATFS2_BSIZE too, since in this case the code now
38778         checks dynamically whether statvfs is reliable, falling back on
38779         Linux-style statfs otherwise.
38780         (statvfs_works): New function, for dynamically testing statvfs.
38781         (get_fs_usage) [STAT_STATVFS]: Use it.
38782         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
38783         statvfs on GNU/Linux hosts, since it's now done dynamically.
38785 2012-05-10  Bruno Haible  <bruno@clisp.org>
38787         system-quote, execute, spawn-pipe: Escape '?' on Windows.
38788         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
38789         '?' character.
38790         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
38791         * tests/test-system-quote-main.c (check_all): Check also strings like
38792         "??????????".
38793         Reported by Eli Zaretskii <eliz@gnu.org>.
38795 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38797         _Noreturn: port config.h to gcc -Wundef
38798         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
38799         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
38800         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
38802 2012-05-10  Bruno Haible  <bruno@clisp.org>
38804         system-quote: Refactor.
38805         * lib/system-quote.h (system_quote_copy): Fix comment.
38806         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
38807         New functions, extracted from system_quote_copy.
38808         (system_quote_length, system_quote_copy): Use these functions.
38809         Reported by Paul Eggert.
38811 2012-05-08  Bruno Haible  <bruno@clisp.org>
38813         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
38814         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
38816 2012-05-08  Bruno Haible  <bruno@clisp.org>
38818         Tests for module 'system-quote'.
38819         * modules/system-quote-tests: New file.
38820         * tests/test-system-quote.sh: New file.
38821         * tests/test-system-quote-main.c: New file.
38822         * tests/test-system-quote-child.c: New file.
38824         New module 'system-quote'.
38825         * lib/system-quote.h: New file.
38826         * lib/system-quote.c: New file.
38827         * modules/system-quote: New file.
38829 2012-05-08  Bruno Haible  <bruno@clisp.org>
38831         sh-quote: Make C++ safe and allow multiple inclusion.
38832         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
38833         declarations in extern "C".
38835 2012-05-08  Bruno Haible  <bruno@clisp.org>
38837         sh-quote tests: Make tests stricter.
38838         * tests/test-sh-quote.c (check_one): Check the return value of
38839         shell_quote_copy.
38840         (main): Check a string with a CR character. Check a string that
38841         contains UCHAR_MAX.
38843 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
38845         warnings.m4: provide a means to specify the program to compile.
38846         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
38847         (gl_WARN_ADD): here.
38848         Use gl_AS_VAR_APPEND.
38849         Support an argument to specify the program to compile.
38850         (gl_WARN_ADD): Accept an argument to specify the program to compile.
38851         AC_SUBST the WARN_CFLAGS when they are used.
38852         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
38853         leave this to gl_WARN_ADD.
38855 2012-05-08  Eric Blake  <eblake@redhat.com>
38857         doc: recommendations on gettext version
38858         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
38859         choice between versions.
38860         * DEPENDENCIES (gettext): Cover both approaches.
38862 2012-05-08  Jim Meyering  <meyering@redhat.com>
38864         init.sh: explain why EXEEXT support uses aliases rather than functions
38865         * tests/init.sh: Add a comment.
38867         init.sh: don't let bash aliases interfere with tests
38868         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
38869         is bash.  This avoids problems for those who alias standard commands to
38870         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
38871         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
38873 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38875         stdint: be more consistent with glibc, SunOS libc
38876         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
38877         (gl_int_fast16_t, gl_uint_fast16_t)
38878         (gl_int_fast32_t, gl_uint_fast32_t)
38879         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
38880         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
38881         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38882         Be consistent with glibc by default, and with SunOS 5.10 and later
38883         if __sun is defined.  This lessens the likelihood of clashes if
38884         code compiled for older hosts is combined with code compiled for
38885         newer ones.  Problem reported by Niels Möller in
38886         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
38888 2012-05-07  Eric Blake  <eblake@redhat.com>
38890         isatty: relax license to LGPLv2+
38891         * modules/isatty (License): Relax license.
38893 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38895         stat-size: comment fix
38896         * lib/stat-size.h: Remove obsolete comment about indenting.
38898 2012-05-06  Bruno Haible  <bruno@clisp.org>
38900         Tests for module 'sh-quote'.
38901         * modules/sh-quote-tests: New file.
38902         * tests/test-sh-quote.c: New file.
38904 2012-05-06  Bruno Haible  <bruno@clisp.org>
38906         sh-quote: Improve shell_quote_argv's signature.
38907         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
38908         * lib/sh-quote.c (shell_quote_argv): Likewise.
38910 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38912         stdint: document issues with int_fast8_t etc.
38913         * doc/posix-headers/stdint.texi (stdint.h): Say that other
38914         stdint.h substitutes may define these types differently.  See
38915         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
38917 2012-05-05  Bruno Haible  <bruno@clisp.org>
38919         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
38920         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
38921         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
38922         or 'guessing no (mishandles large arguments)'.
38924 2012-05-05  Bruno Haible  <bruno@clisp.org>
38926         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
38927         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
38928         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38929         set gl_cv_func_link_follows_symlink to "guessing no".
38931 2012-05-05  Bruno Haible  <bruno@clisp.org>
38933         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
38934         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
38935         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
38936         "guessing no".
38937         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
38939 2012-05-05  Bruno Haible  <bruno@clisp.org>
38941         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
38942         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
38943         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38944         set gl_cv_struct_dirent_d_ino to "guessing yes".
38946 2012-05-05  Bruno Haible  <bruno@clisp.org>
38948         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
38949         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
38950         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
38951         "guessing yes".
38953 2012-05-05  Bruno Haible  <bruno@clisp.org>
38955         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
38956         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
38957         compiling to a glibc system, set gl_cv_func_signbit and
38958         gl_cv_func_signbit_gcc to "guessing yes".
38960 2012-05-05  Bruno Haible  <bruno@clisp.org>
38962         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
38963         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
38964         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
38965         to "guessing yes".
38966         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
38967         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
38969 2012-05-05  Bruno Haible  <bruno@clisp.org>
38971         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
38972         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
38973         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
38974         gl_cv_func_realpath_works to "guessing yes".
38976 2012-05-05  Bruno Haible  <bruno@clisp.org>
38978         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
38979         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
38980         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
38982 2012-05-04  Bruno Haible  <bruno@clisp.org>
38984         Tweak last commit.
38985         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
38986         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38988 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
38990         unistd_h: make it easier to avoid sys_types_h
38991         This is useful for Emacs, which has its own method of porting to
38992         Windows, and which therefore does not need the sys_types_h module.
38993         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
38994         code moved here from gl_SYS_TYPES_H.
38995         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
38996         using the code directly.
38997         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
38998         gl_SYS_TYPES_H.
38999         * modules/sys_types (Files):
39000         * modules/unistd (Files): Add m4/off_t.m4.
39002 2012-05-03  Bruno Haible  <bruno@clisp.org>
39004         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
39005         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
39006         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39007         "guessing yes" or "guessing no".
39008         (gl_FUNC_LSTAT): Update.
39009         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
39010         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
39011         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
39013 2012-05-03  Bruno Haible  <bruno@clisp.org>
39015         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
39016         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
39017         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
39018         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
39019         cross-compiling, choose the first alternative on glibc systems.
39020         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
39022 2012-05-03  Bruno Haible  <bruno@clisp.org>
39024         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
39025         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
39026         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
39028 2012-05-03  Bruno Haible  <bruno@clisp.org>
39030         chown: Avoid "guessing no" when cross-compiling to glibc systems.
39031         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
39033 2012-05-03  Bruno Haible  <bruno@clisp.org>
39035         Avoid "guessing no" guesses when cross-compiling to glibc systems.
39036         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
39037         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
39038         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
39039         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
39040         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
39041         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
39042         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
39043         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
39044         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
39045         compiling to glibc systems, set gl_cv_func_chown_slash_works,
39046         gl_cv_func_chown_ctime_works to "guessing yes".
39047         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
39048         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
39049         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
39050         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
39051         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
39052         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
39053         compiling to glibc systems, set gl_cv_func_open_directory_works to
39054         "guessing yes".
39055         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
39056         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
39057         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
39058         "guessing yes".
39059         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
39060         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
39061         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
39062         compiling to glibc systems, set gl_cv_func_floorf_ieee to
39063         "guessing yes".
39064         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
39065         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
39066         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
39067         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
39068         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
39069         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
39070         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
39071         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
39072         "guessing yes".
39073         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
39074         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
39075         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
39076         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
39077         "guessing yes".
39078         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
39079         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
39080         "guessing yes".
39081         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
39082         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
39083         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
39084         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
39085         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
39086         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
39087         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
39088         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
39089         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
39090         compiling to glibc systems, set gl_cv_func_log10f_ieee to
39091         "guessing yes".
39092         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
39093         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
39094         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
39095         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
39096         "guessing yes".
39097         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
39098         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
39099         "guessing yes".
39100         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
39101         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
39102         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
39103         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
39104         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
39105         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
39106         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
39107         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
39108         compiling to glibc systems, set gl_cv_func_mkfifo_works to
39109         "guessing yes".
39110         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
39111         compiling to glibc systems, set gl_cv_func_mknod_works to
39112         "guessing yes".
39113         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
39114         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
39115         "guessing yes".
39116         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
39117         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
39118         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
39119         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
39120         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
39121         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
39122         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
39123         compiling to glibc systems, set gl_cv_func_svid_putenv to
39124         "guessing yes".
39125         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
39126         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
39127         "guessing yes".
39128         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
39129         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
39130         "guessing yes".
39131         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
39132         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
39133         to "guessing yes".
39134         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
39135         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
39136         to "guessing yes".
39137         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
39138         compiling to glibc systems, set gl_cv_func_rmdir_works to
39139         "guessing yes".
39140         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
39141         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
39142         gl_cv_func_unlink_parent_fails to "guessing yes".
39143         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
39144         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
39145         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
39146         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
39147         gl_cv_func_rename_dest_works to "guessing yes".
39148         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
39149         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
39150         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
39151         compiling to glibc systems, set gl_cv_func_roundf_ieee to
39152         "guessing yes".
39153         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
39154         compiling to glibc systems, set gl_cv_func_roundl_ieee to
39155         "guessing yes".
39156         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
39157         compiling to glibc systems, set gl_cv_func_setenv_works to
39158         "guessing yes".
39159         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
39160         compiling to glibc systems, set gl_cv_func_unsetenv_works to
39161         "guessing yes".
39162         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
39163         compiling to glibc systems, set gl_cv_func_sleep_works to
39164         "guessing yes".
39165         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
39166         compiling to glibc systems, set gl_cv_func_stat_file_slash to
39167         "guessing yes".
39168         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
39169         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
39170         "guessing yes".
39171         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
39172         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
39173         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
39174         compiling to glibc systems, set gl_cv_func_truncf_ieee to
39175         "guessing yes".
39176         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
39177         compiling to glibc systems, set gl_cv_func_truncl_ieee to
39178         "guessing yes".
39179         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
39180         compiling to glibc systems, set gl_cv_func_usleep_works to
39181         "guessing yes".
39182         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
39183         compiling to glibc systems, set gl_cv_func_futimesat_works to
39184         "guessing yes".
39186 2012-05-03  Bruno Haible  <bruno@clisp.org>
39188         Say "guessing yes" or "guessing no" when cross-compiling.
39189         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
39190         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
39191         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
39192         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
39193         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
39194         am_cv_func_working_getline to "guessing yes" or "guessing no".
39195         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
39196         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
39197         (gl_FUNC_MEMMEM): When cross-compiling, set
39198         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
39199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
39200         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
39201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
39202         set gl_cv_func_strcasestr_works_always to "guessing yes" or
39203         "guessing no".
39204         (gl_FUNC_STRCASESTR): When cross-compiling, set
39205         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
39206         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
39207         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
39208         (gl_FUNC_STRSTR): When cross-compiling, set
39209         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
39210         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
39211         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
39212         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
39213         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
39215 2012-05-01  Bruno Haible  <bruno@clisp.org>
39217         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
39218         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
39219         * build-aux/reloc-ldflags: Likewise.
39220         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
39222 2012-05-01  Bruno Haible  <bruno@clisp.org>
39224         gnulib-tool: Remove transitional code.
39225         * gnulib-tool: Don't warn about --import with 0 arguments any more.
39226         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
39228 2012-05-01  Bruno Haible  <bruno@clisp.org>
39230         getcwd: Fix misindentation.
39231         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
39233 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
39235         exclude: process exclude and include directives in order
39236         This restores the pre-2009 behavior, and is part of a fix of a
39237         grep bug reported by Quentin Arce in
39238         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
39239         * lib/exclude.c (struct exclude): Remove 'tail' member.
39240         (new_exclude_segment): Prepend the new segment instead of appending.
39241         Return void, since that's now more convenient.
39242         (file_pattern_matches): Renamed from excluded_file_pattern_p.
39243         (file_name_matches): Renamed from excluded_file_name_p.
39244         (file_pattern_matches, file_name_matches):
39245         Return true if the pattern matches, not if it excludes.
39246         All callers changed.
39247         (excluded_file_name): Process the list in reverse order;
39248         since the list is now reversed this restores the pre-2009 behavior.
39249         (add_exclude): Adjust to new reversed-order list.  Use local var
39250         rather than macro, for clarity.
39251         * tests/test-exclude7.sh: Adjust to corrected behavior.
39253         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
39254         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
39255         it's not possible here.  Handle the case of \ at end of pattern
39256         without dumping core.
39257         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
39259         _Noreturn: future-proof non-GNU and non-MSVC compilers
39260         * build-aux/snippet/_Noreturn.h (_Noreturn):
39261         * m4/gnulib-common.m4 (gl_COMMON_BODY):
39262         Do not define _Noreturn if __STDC_VERSION__ indicates this is
39263         C11 or later.  This is more likely to work with random future C
39264         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
39265         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
39267         exclude: handle wildcards with FNM_EXTMATCH
39268         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
39269         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
39270         comment that "has wildcards" really means "has or may have
39271         wildcards".  Simplify by avoiding the need to call strcspn.
39273 2012-04-29  Bruno Haible  <bruno@clisp.org>
39275         gnulib-tool: Fix list of authors.
39276         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
39278 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
39280         bootstrap: support Automake-NG in $buildreq
39281         * bootstrap (check_versions): Handle automake and aclocal from
39282         Automake-NG specially.  They can be specified as respectively
39283         the "automake-ng" and "aclocal-ng" requirements.
39285 2012-04-25  Eric Blake  <eblake@redhat.com>
39287         bootstrap: only force latest Makefile.in.in for gettext module
39288         * build-aux/bootstrap (with_gettext): Only install latest
39289         Makefile.in.in for projects requesting bleeding edge gettext.
39291 2012-04-22  Bruno Haible  <bruno@clisp.org>
39293         doc: Mention reason for replacement on glibc/Linux systems.
39294         * doc/posix-functions/dprintf.texi: Mention the problem with special
39295         'long double' values.
39296         * doc/posix-functions/fprintf.texi: Likewise.
39297         * doc/posix-functions/printf.texi: Likewise.
39298         * doc/posix-functions/snprintf.texi: Likewise.
39299         * doc/posix-functions/sprintf.texi: Likewise.
39300         * doc/posix-functions/vdprintf.texi: Likewise.
39301         * doc/posix-functions/vfprintf.texi: Likewise.
39302         * doc/posix-functions/vprintf.texi: Likewise.
39303         * doc/posix-functions/vsnprintf.texi: Likewise.
39304         * doc/posix-functions/vsprintf.texi: Likewise.
39305         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
39306         platforms with F_DUPFD_CLOEXEC problems.
39307         * doc/posix-functions/glob.texi: Mention which platforms are affected
39308         by the problem with symbolic links.
39309         * doc/posix-functions/linkat.texi: Mention the problem with
39310         AT_SYMLINK_FOLLOW on Linux.
39312 2012-04-22  Bruno Haible  <bruno@clisp.org>
39314         pwrite: Don't replace on all platforms.
39315         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
39317 2012-04-22  Bruno Haible  <bruno@clisp.org>
39319         rint* tests: Avoid gcc warnings.
39320         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
39321         * tests/test-rintf.c (INFINITY, NAN): Likewise.
39322         * tests/test-rintl.c (INFINITY, NAN): Likewise.
39324 2012-04-21  Bruno Haible  <bruno@clisp.org>
39326         users.txt: Update.
39327         * users.txt: Add freedink, wdiff. Update URLs for projects that have
39328         switched from CVS to git, bzr, or svn.
39330 2012-04-21  Bruno Haible  <bruno@clisp.org>
39332         Large File Support for native Windows platforms.
39334         * m4/largefile.m4 (gl_LARGEFILE): New macro.
39335         * modules/largefile (configure.ac): Require gl_LARGEFILE.
39337         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
39338         type.
39339         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
39340         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
39341         * doc/posix-headers/sys_types.texi: Mention the effect of the
39342         'largefile' module.
39344         * lib/fcntl.in.h: Add comments about off_t.
39345         * modules/fcntl-h (Depends-on): Add sys_types.
39347         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
39348         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
39349         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
39350         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
39351         * modules/unistd (Depends-on): Add sys_types.
39352         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
39354         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
39355         instead of lseek.
39356         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
39357         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
39358         * modules/lseek (Depends-on): Add sys_types.
39360         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
39361         msvc-nothrow.h.
39362         (SetFileSize): New function.
39363         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
39364         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
39365         if Large File Support is requested.
39366         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
39367         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
39369         * lib/stdio.in.h: Add comments about off_t.
39370         * modules/stdio (Depends-on): Add sys_types.
39372         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
39373         instead of ftello.
39374         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
39375         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
39376         (gl_PREREQ_FTELLO): New macro.
39377         * modules/ftello (Depends-on): Add sys_types.
39378         (configure.ac): Incoke gl_PREREQ_FTELLO.
39380         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
39381         instead of fseeko.
39382         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
39383         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
39384         (gl_PREREQ_FSEEKO): New macro.
39385         * modules/fseeko (Depends-on): Add sys_types.
39386         (configure.ac): Invoke gl_PREREQ_FSEEKO.
39388         * lib/sys_stat.in.h: Add comments about off_t.
39389         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
39390         64-bit integer for st_size in 'struct stat'.
39391         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
39392         Define _GL_WINDOWS_64_BIT_ST_SIZE.
39393         * modules/sys_stat (Depends-on): Add sys_types.
39394         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
39396         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
39397         instead of stat or _stat.
39399         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
39400         'struct _stati64' instead of fstat and 'struct stat'.
39401         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
39402         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
39404         Reported by Ray Satiro <raysatiro@yahoo.com>.
39406 2012-04-19  Eric Blake  <eblake@redhat.com>
39408         bootstrap: accommodate older libtool
39409         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
39410         Reported by Daniel P. Berrange.
39412 2012-04-19  Jim Meyering  <meyering@redhat.com>
39414         announce-gen: avoid failure due to lack of Digest::SHA1
39415         Even with the preferred Digest::SHA available, this script
39416         would fail when the backup module, Digest::SHA1, was not installed.
39417         * build-aux/announce-gen: Quote the conditional use of "use".
39418         Reported by Reuben Thomas in:
39419         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
39421         bootstrap: don't let a user's CDPATH setting affect this script
39422         When CDPATH is set, cd will sometimes generate output.
39423         When "cd" is run in a subshell whose output matters, that
39424         surprising-to-some output can cause malfunction.
39425         Unsetting CDPATH turns off this shell "feature."
39426         * build-aux/bootstrap (CDPATH): Unset.
39427         Reported by Reuben Thomas in:
39428         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
39429         and inspired by his patch here:
39430         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
39432 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
39433         and Jim Meyering  <meyering@redhat.com>
39435         maint.mk: catch "see @xref{}" and similar
39436         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
39437         prohibit "See also @xref{", "Also see @pxref{", and similar.
39439 2012-04-16  Jim Meyering  <meyering@redhat.com>
39441         bootstrap: really use gnulib's po/Makefile.in.in
39442         * build-aux/bootstrap: Correct the source file name in previous change.
39443         Reported by Akim Demaille.
39445         configmake: correct minor inconsistency in Makefile rule
39446         * modules/configmake (Makefile.am): All other rules like this one
39447         run the final "mv -f ..." in the same backslash-continued command
39448         as the one that does everything else.  This one put the mv -f ...
39449         command on a separate, non-backslash-continued line.
39450         Make it like the others.
39452         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
39453         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
39454         the one from gettext.  Reported by Akim Demaille.
39456 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
39458         Fix recursion of install-* into po directories.
39459         Bison's install-pdf bug reported by Hans Aberg at
39460         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
39461         * build-aux/po/Makefile.in.in (install-dvi, install-html)
39462         (install-info, install-pdf, install-ps): New targets.
39464 2012-04-16  Jim Meyering  <meyering@redhat.com>
39466         maint: avoid spurious "make sc_maint" failure
39467         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
39468         exempt all *.class file names, for lib/javaversion.class.
39470 2012-04-15  Bruno Haible  <bruno@clisp.org>
39472         lseek: Make configure test independent of environment.
39473         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
39474         Windows, we know that lseek() on pipes is broken; skip the runtime
39475         test.
39477 2012-04-14  Bruno Haible  <bruno@clisp.org>
39479         stat: Bypass buggy override in mingw64.
39480         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
39481         * lib/stat.c (stat) [mingw64]: Define to _stat.
39482         * doc/posix-functions/stat.texi: Mention mingw64 bug.
39484 2012-04-14  Bruno Haible  <bruno@clisp.org>
39486         pathmax: Fix compilation error on MSVC 9.
39487         * modules/pathmax (Depends-on): Add unistd.
39489 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
39491         README: document pointer comparison assumption
39492         * README (Portability guidelines): Document assumption about
39493         pointer comparisons, in response to a recent bug-gnulib comment by
39494         Jeffrey Kegler.
39496 2012-04-12  Bruno Haible  <bruno@clisp.org>
39498         Tests for module 'getrusage'.
39499         * modules/getrusage-tests: New file.
39500         * tests/test-getrusage.c: New file.
39502         New module 'getrusage'.
39503         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
39504         warn-on-use.h.
39505         (getrusage): New declaration.
39506         * lib/getrusage.c: New file.
39507         * m4/getrusage.m4: New file.
39508         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
39509         is declared.
39510         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
39511         HAVE_GETRUSAGE.
39512         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
39513         snippet/c++defs, snippet/warn-on-use.
39514         (Makefile.am): Update generation of sys/resource.h. Substitute
39515         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
39516         * modules/getrusage: New file.
39517         * doc/posix-functions/getrusage.texi: Mention the new module.
39519 2012-04-12  Bruno Haible  <bruno@clisp.org>
39521         Tests for module 'sys_resource'.
39522         * modules/sys_resource-tests: New file.
39523         * tests/test-sys_resource.c: New file.
39525         New module 'sys_resource'.
39526         * lib/sys_resource.in.h: New file.
39527         * m4/sys_resource_h.m4: New file.
39528         * modules/sys_resource: New file.
39529         * doc/posix-headers/sys_resource.texi: Mention the new module.
39531 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
39533         ioctl: Fix compilation error on mingw.
39534         * lib/ioctl.c: Include <windows.h>.
39535         Also reported by Ray Satiro <raysatiro@yahoo.com>.
39537 2012-04-04  Jim Meyering  <meyering@redhat.com>
39539         regex: correct #pragma guard expression
39540         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
39541         not 4.3.  Correct its cpp guard expression.
39543 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39545         regex: remove unnecessary type punning
39546         Problem reported by Vladimir Serbinenko in
39547         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
39548         * lib/regex.h (struct re_pattern_buffer): Change the type of
39549         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
39550         Fix comment to match code.
39551         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
39552         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
39553         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39554         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
39555         (set_regs):
39556         Omit no-longer-necessary casts.
39558 2012-04-03  Bruno Haible  <bruno@clisp.org>
39560         Tests for module 'ilogbl'.
39561         * modules/ilogbl-tests: New file.
39562         * tests/test-ilogbl.c: New file.
39564         New module 'ilogbl'.
39565         * lib/math.in.h (ilogbl): New declaration.
39566         * lib/ilogbl.c: New file.
39567         * m4/ilogbl.m4: New file.
39568         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
39569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
39570         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
39571         Split sed invocation, to avoid the limit of 100 substitutions of
39572         HP-UX 'sed'.
39573         * modules/ilogbl: New file.
39574         * tests/test-math-c++.cc: Check the declaration of ilogbl.
39575         * doc/posix-functions/ilogbl.texi: Mention the new module.
39577 2012-04-03  Bruno Haible  <bruno@clisp.org>
39579         Tests for module 'ilogbf'.
39580         * modules/ilogbf-tests: New file.
39581         * tests/test-ilogbf.c: New file.
39583         New module 'ilogbf'.
39584         * lib/math.in.h (ilogbf): New declaration.
39585         * lib/ilogbf.c: New file.
39586         * m4/ilogbf.m4: New file.
39587         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
39588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
39589         REPLACE_ILOGBF.
39590         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
39591         REPLACE_ILOGBF.
39592         * modules/ilogbf: New file.
39593         * tests/test-math-c++.cc: Check the declaration of ilogbf.
39594         * doc/posix-functions/ilogbf.texi: Mention the new module.
39596 2012-04-03  Bruno Haible  <bruno@clisp.org>
39598         Tests for module 'ilogb'.
39599         * modules/ilogb-tests: New file.
39600         * tests/test-ilogb.c: New file.
39601         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
39602         tests/test-logb-ieee.h.
39604         New module 'ilogb'.
39605         * lib/math.in.h (ilogb): New declaration.
39606         * lib/ilogb.c: New file.
39607         * m4/ilogb.m4: New file.
39608         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
39609         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
39610         REPLACE_ILOGB.
39611         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
39612         REPLACE_ILOGB.
39613         * modules/ilogb: New file.
39614         * tests/test-math-c++.cc: Check the declaration of ilogb.
39615         * doc/posix-functions/ilogb.texi: Mention the new module.
39617 2012-04-03  Bruno Haible  <bruno@clisp.org>
39619         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
39620         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
39621         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
39622         (main): Check their values.
39623         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
39624         problem.
39626 2012-04-03  Bruno Haible  <bruno@clisp.org>
39628         Tests for module 'logbl-ieee'.
39629         * modules/logbl-ieee-tests: New file.
39630         * tests/test-logbl-ieee.c: New file.
39632         New module 'logbl-ieee'.
39633         * modules/logbl-ieee: New file.
39635         Tests for module 'logb-ieee'.
39636         * modules/logb-ieee-tests: New file.
39637         * tests/test-logb-ieee.c: New file.
39639         New module 'logb-ieee'.
39640         * modules/logb-ieee: New file.
39642         Tests for module 'logbf-ieee'.
39643         * modules/logbf-ieee-tests: New file.
39644         * tests/test-logbf-ieee.c: New file.
39645         * tests/test-logb-ieee.h: New file.
39647         New module 'logbf-ieee'.
39648         * modules/logbf-ieee: New file.
39650 2012-04-03  Bruno Haible  <bruno@clisp.org>
39652         Tests for module 'logbl'.
39653         * modules/logbl-tests: New file.
39654         * tests/test-logbl.c: New file.
39656         New module 'logbl'.
39657         * lib/math.in.h (logbl): New declaration.
39658         * lib/logbl.c: New file.
39659         * m4/logbl.m4: New file.
39660         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
39661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
39662         REPLACE_LOGBL.
39663         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
39664         REPLACE_LOGBL.
39665         * modules/logbl: New file.
39666         * tests/test-math-c++.cc: Check the declaration of logbl.
39667         * doc/posix-functions/logbl.texi: Mention the new module.
39669 2012-04-02  Bruno Haible  <bruno@clisp.org>
39671         Tests for module 'logbf'.
39672         * modules/logbf-tests: New file.
39673         * tests/test-logbf.c: New file.
39675         New module 'logbf'.
39676         * lib/math.in.h (logbf): New declaration.
39677         * lib/logbf.c: New file.
39678         * m4/logbf.m4: New file.
39679         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
39680         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
39681         REPLACE_LOGBF.
39682         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
39683         REPLACE_LOGBF.
39684         * modules/logbf: New file.
39685         * tests/test-math-c++.cc: Check the declaration of logbf.
39686         * doc/posix-functions/logbf.texi: Mention the new module.
39688 2012-04-02  Bruno Haible  <bruno@clisp.org>
39690         logb tests: More tests.
39691         * tests/test-logb.h: New file, based on tests/test-logb.c and
39692         tests/test-frexp.h.
39693         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
39694         (main): Just invoke test_function.
39695         * modules/logb-tests (Files): Add tests/test-logb.h,
39696         tests/minus-zero.h, tests/randomd.c.
39697         (Makefile.am): Add randomd.c to test_logb_SOURCES.
39699         logb: Provide replacement and workarounds.
39700         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
39701         is 1.
39702         * lib/logb.c: New file.
39703         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
39704         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
39705         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
39706         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
39707         * modules/logb (Files): Add lib/logb.c.
39708         (Depends-on): Add isfinite, frexp, isnand.
39709         (configure.ac): Compile the replacement code logb.c if needed.
39710         * tests/test-math-c++.cc: Check the declaration of logb.
39711         * doc/posix-functions/logb.texi: Mention the replacement and the bug
39712         with subnormal numbers.
39714 2012-04-02  Bruno Haible  <bruno@clisp.org>
39716         log10* tests: Speed up.
39717         * tests/test-log10.h (test_function): Reduce amount of random numbers
39718         to test.
39720 2012-04-01  Bruno Haible  <bruno@clisp.org>
39722         logf-ieee: Fix test whether logf works.
39723         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
39725 2012-04-01  Bruno Haible  <bruno@clisp.org>
39727         log10l: Work around log10l-ieee test failure on IRIX 6.5.
39728         * lib/log10l.c: Include <float.h>
39729         (log10l): On IRIX, normalize the +Infinity value.
39730         * modules/log10l (Depends-on): Add 'float'.
39731         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
39732         +Infinity.
39734         log10f-ieee: Work around test failure on NetBSD 5.1.
39735         * m4/log10f-ieee.m4: New file.
39736         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
39737         test whether log10f works with a negative argument. Replace it if not.
39738         * lib/log10f.c (log10f): For negative arguments, return NaN.
39739         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
39740         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
39741         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
39743         log10f-ieee: Work around test failure on Solaris 9.
39744         * modules/log10f-ieee (Depends-on): Add log10-ieee.
39745         (configure.ac): Require gl_FUNC_LOG10F.
39747         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
39748         * m4/log10-ieee.m4: New file.
39749         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
39750         whether log10 works with a negative argument. Replace it if not.
39751         * lib/log10.c (log10): For negative arguments, return NaN.
39752         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
39753         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
39754         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
39756         Tests for module 'log10l-ieee'.
39757         * modules/log10l-ieee-tests: New file.
39758         * tests/test-log10l-ieee.c: New file.
39760         New module 'log10l-ieee'.
39761         * modules/log10l-ieee: New file.
39763         Tests for module 'log10-ieee'.
39764         * modules/log10-ieee-tests: New file.
39765         * tests/test-log10-ieee.c: New file.
39767         New module 'log10-ieee'.
39768         * modules/log10-ieee: New file.
39770         Tests for module 'log10f-ieee'.
39771         * modules/log10f-ieee-tests: New file.
39772         * tests/test-log10f-ieee.c: New file.
39773         * tests/test-log10-ieee.h: New file.
39775         New module 'log10f-ieee'.
39776         * modules/log10f-ieee: New file.
39778 2012-04-01  Bruno Haible  <bruno@clisp.org>
39780         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
39781         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
39782         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
39783         workaround.
39784         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
39785         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
39786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
39787         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
39788         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
39789         (Depends-on): Update conditions.
39790         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
39791         IRIX 6.5, OSF/1 5.1 problems.
39793 2012-04-01  Bruno Haible  <bruno@clisp.org>
39795         log10f: Work around OSF/1 5.1 bug.
39796         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
39797         * lib/log10f.c (log10f): If logf exists, use it and provide just the
39798         workaround.
39799         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
39800         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
39801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
39802         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
39803         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
39804         (Depends-on): Update conditions.
39805         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
39807 2012-04-01  Bruno Haible  <bruno@clisp.org>
39809         log10: Work around OSF/1 5.1 bug.
39810         * lib/math.in.h (log10): New declaration.
39811         * lib/log10.c: New file.
39812         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
39813         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
39814         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
39815         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
39816         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
39817         * modules/log10 (Files): Add lib/log10.c.
39818         (Depends-on): Add math.
39819         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
39820         * tests/test-math-c++.cc: Check the declaration of log10.
39821         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
39823 2012-03-31  Bruno Haible  <bruno@clisp.org>
39825         log10l tests: More tests.
39826         * modules/log10l-tests (Files): Add tests/test-log10l.h,
39827         tests/minus-zero.h, tests/randoml.c.
39828         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
39829         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
39830         (main): Invoke test_function.
39832         log10f tests: More tests.
39833         * modules/log10f-tests (Files): Add tests/test-log10.h,
39834         tests/minus-zero.h, tests/randomf.c.
39835         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
39836         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
39837         (main): Invoke test_function.
39839         log10 tests: More tests.
39840         * tests/test-log10.h: New file.
39841         * modules/log10-tests (Files): Add tests/test-log10.h,
39842         tests/minus-zero.h, tests/randomd.c.
39843         (Makefile.am): Add randomd.c to test_log10_SOURCES.
39844         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
39845         (main): Invoke test_function.
39847 2012-03-31  Simon Josefsson  <simon@josefsson.org>
39849         fflush: Fix syntax error.
39850         * lib/fflush.c: Include unused-parameter.h, needed for
39851         _GL_UNUSED_PARAMETER.
39852         * modules/fflush (Depends-on): Add snippet/unused-parameter.
39854 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39856         regex: pacify GCC when compiling GRUB
39857         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
39858         a diagnostic.  Reported by Vladimir Serbinenko in
39859         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
39861 2012-03-29  Eric Blake  <eblake@redhat.com>
39863         stdio: don't assume gets any more
39864         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
39865         support.
39866         * modules/stdio (Makefile.am): Likewise.
39867         * lib/stdio-read.c (gets): Likewise.
39868         * tests/test-stdio-c++.cc: Likewise.
39869         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
39870         * lib/stdio.in.h (gets): Make warning occur in more places.
39871         * doc/posix-functions/gets.texi (gets): Update documentation.
39872         Reported by Christer Solskogen.
39874         maint.mk: fix syntax checks without exclusions
39875         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
39876         Reported by Daniel P. Berrange.
39878         strerror_r: avoid compiler warning
39879         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
39880         level.
39882         fflush: avoid compiler warning
39883         * lib/fflush.c (update_fpos_cache): Mark variables that are
39884         potentially unused.
39886 2012-03-25  Bruno Haible  <bruno@clisp.org>
39888         Tests for module 'localeconv'.
39889         * modules/localeconv-tests: New file.
39890         * tests/test-localeconv.c: New file.
39892         New module 'localeconv'.
39893         * lib/locale.in.h (localeconv): New declaration.
39894         * lib/localeconv.c: New file.
39895         * m4/localeconv.m4: New file.
39896         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
39897         REPLACE_LOCALECONV.
39898         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
39899         REPLACE_LOCALECONV.
39900         * modules/localeconv: New file.
39901         * modules/nl_langinfo (Depends-on): Add localeconv.
39902         * modules/human (Depends-on): Likewise.
39903         * doc/posix-functions/localeconv.texi: Mention the new module.
39905 2012-03-25  Bruno Haible  <bruno@clisp.org>
39907         locale: Provide a complete 'struct lconv'.
39908         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39909         'struct lconv' does not contain int_p_cs_precedes.
39910         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39911         * doc/posix-headers/locale.texi: Update.
39913         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
39914         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
39915         * doc/posix-headers/locale.texi: Update.
39917         locale: Provide a working 'struct lconv'.
39918         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
39919         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39920         'struct lconv' does not even contain decimal_point.
39921         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
39922         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
39923         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39924         * doc/posix-headers/locale.texi: Mention the problems with
39925         'struct lconv'.
39926         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
39928 2012-03-24  Bruno Haible  <bruno@clisp.org>
39930         Enable common subexpression optimization in GCC.
39931         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
39932         macros.
39933         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
39934         GCC attribute 'const'.
39935         (uc_locale_language): Declare with GCC attribute 'pure'.
39936         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
39937         with GCC attribute 'const'.
39938         * lib/unictype.in.h (uc_is_general_category_withtable,
39939         uc_combining_class, uc_combining_class_name,
39940         uc_combining_class_long_name, uc_bidi_class_name,
39941         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
39942         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
39943         uc_decimal_value, uc_digit_value, uc_numeric_value,
39944         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
39945         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
39946         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
39947         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
39948         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
39949         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
39950         Declare with GCC attribute 'const'.
39951         (uc_general_category_name, uc_general_category_long_name,
39952         uc_general_category_byname, uc_general_category,
39953         uc_is_general_category, uc_combining_class_byname,
39954         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
39955         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
39956         Declare with GCC attribute 'pure'.
39957         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
39958         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
39959         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
39960         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
39961         with GCC attribute 'pure'.
39962         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
39963         'const'.
39964         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
39965         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
39966         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
39967         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
39968         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
39969         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
39970         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
39971         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
39972         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
39973         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
39974         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
39975         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
39976         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
39977         GCC attribute 'pure'.
39978         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
39979         'const'.
39980         * lib/uniwidth.in.h (uc_width): Simplify declaration.
39981         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
39982         u32_strwidth): Declare with GCC attribute 'pure'.
39984         Enable common subexpression optimization in GCC.
39985         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39986         (alphasort): Declare with GCC attribute 'pure'.
39987         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39988         (atoll): Declare with GCC attribute 'pure'.
39989         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39990         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39991         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
39992         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39993         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
39994         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
39995         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
39997 2012-03-24  Bruno Haible  <bruno@clisp.org>
39999         gnulib-tool: Avoid unintended error output from 'cmp'.
40000         * gnulib-tool (func_add_file, func_update_file, func_import): Use
40001         "cmp -s", not "cmp > /dev/null".
40003 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
40005         gnulib-tool: fix imprecise comments w.r.t. an automake bug
40007         It's not just Automake versions < 1.9b that creates an empty
40008         pkgdatadir at installation time if pkgdata_DATA is specified
40009         to empty; modern automake versions do this as well, at least
40010         until automake 1.11.4 (not yet released at the moment of writing,
40011         but soon to appear).  That behaviour was generally considered a
40012         feature rather than a bug, at least until this discussion:
40013         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
40015         See also automake bugs #10997 and #11030.
40017         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
40018         reference to relevant automake bug numbers.
40019         (func_emit_tests_Makefile_am): Likewise.
40021 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40023         announce-gen: use Digest::SHA when possible
40024         * build-aux/announce-gen: Use Digest::SHA when possible, falling
40025         back to Digest::SHA1 if necessary.
40027 2012-03-20  Jim Meyering  <meyering@redhat.com>
40029         tests: avoid gcc warnings about argv vs. const initializers
40030         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
40031         warnings about discarding 'const' qualifier from pointer target type.
40032         * tests/test-posix_spawn2.c (main): Likewise.
40034 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40036         README-release: simplify slightly
40037         * top/README-release: Run "git checkout master" only once.
40039 2012-03-15  Mark Wielaard  <mark@klomp.org>
40041         git-merge-changelog: add specific example on how to use with hg.
40042         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
40044 2012-03-18  Mark Wielaard  <mark@klomp.org>
40046         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
40048 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
40050         git-version-gen: don't let "prefix" envvar cause trouble
40051         * build-aux/git-version-gen (prefix): Initialize properly,
40052         so as not to use a value specified via the environment.
40053         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
40055 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40057         regex: diagnose too-large repeat counts in EREs
40058         Previously, the code did not diagnose the too-large repeat count
40059         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
40060         as if it were 'b\{1000000000}', which is unexpected.
40061         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
40062         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
40063         is a reasonable one for this problem.  Another option would be to
40064         create a new REG_OVERFLOW error for repeat counts that are too large.
40065         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
40066         count is too large, so that the caller can distinguish the two cases.
40067         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
40068         "Too large" return code, and that repeat counts are one example of this.
40070 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40072         doc: some glibc x32 integer width issues
40073         * doc/posix-headers/sys_types.texi (sys/types.h):
40074         * doc/posix-headers/time.texi (time.h):
40075         Mention that glibc x32 does not conform to POSIX in a couple of
40076         areas related to integer widths.
40078 2012-03-15  Bruno Haible  <bruno@clisp.org>
40080         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
40081         * lib/fma.c (VOLATILE): New macro.
40082         (FUNC): Use it to work around a GCC compiler bug.
40084 2012-03-13  Bruno Haible  <bruno@clisp.org>
40086         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40087         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
40088         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
40089         REPLACE_HYPOTL to 1.
40090         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
40092 2012-03-13  Bruno Haible  <bruno@clisp.org>
40094         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40095         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
40096         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
40097         REPLACE_REMAINDERL to 1.
40098         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
40099         bug.
40101 2012-03-13  Bruno Haible  <bruno@clisp.org>
40103         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40104         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
40105         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
40106         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
40107         too big rounding errors.
40108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
40109         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
40110         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
40111         (Depends-on): Update conditions.
40112         * tests/test-sqrtl.c (my_ldexpl): New function.
40113         (main): Add test of a particular value.
40114         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40116 2012-03-13  Pádraig Brady  <P@draigBrady.com>
40118         doc: Update timer_* platform portability notes.
40119         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
40120         that always return ENOSYS.
40121         * doc/posix-functions/timer_delete.texi: Likewise.
40122         * doc/posix-functions/timer_gettime.texi: Likewise.
40123         * doc/posix-functions/timer_settime.texi: Likewise.
40125 2012-03-13  Bruno Haible  <bruno@clisp.org>
40127         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40128         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
40129         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
40130         REPLACE_CBRTL to 1.
40131         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40133 2012-03-13  Bruno Haible  <bruno@clisp.org>
40135         remainderl: Avoid compilation error on AIX >= 5.2.
40136         * lib/math.in.h (remainderl): Undefine macro from the system header.
40138 2012-03-13  Bruno Haible  <bruno@clisp.org>
40140         Avoid compilation errors with MSVC option -fp:strict.
40141         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
40142         * lib/cbrtf.c: Likewise.
40143         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40145 2012-03-12  Bruno Haible  <bruno@clisp.org>
40147         uninorm: Don't crash in out-of-memory conditions.
40148         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
40149         gracefully.
40150         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
40151         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
40153 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
40155         quote: fix syntax-check
40156         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
40157         also exports quote_quoting_options.
40159 2012-03-12  Simon Josefsson  <simon@josefsson.org>
40161         Collapse list of copyright years to ranges.  See
40162         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
40163         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
40164         build-aux/csharpexec.sh.in, build-aux/gnupload,
40165         build-aux/install-reloc, build-aux/javacomp.sh.in,
40166         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
40167         build-aux/move-if-change, build-aux/reloc-ldflags,
40168         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
40170 2012-03-11  Bruno Haible  <bruno@clisp.org>
40172         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40173         * m4/log2f-ieee.m4: New file.
40174         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
40175         whether log2f works with a minus zero argument. Replace it if not.
40176         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
40177         (Depends-on): Add log2-ieee.
40178         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
40179         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
40181         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40182         * m4/log2-ieee.m4: New file.
40183         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
40184         whether log2 works with a minus zero argument. Replace it if not.
40185         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
40186         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
40187         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
40189         Tests for module 'log2l-ieee'.
40190         * modules/log2l-ieee-tests: New file.
40191         * tests/test-log2l-ieee.c: New file.
40193         New module 'log2l-ieee'.
40194         * modules/log2l-ieee: New file.
40196         Tests for module 'log2-ieee'.
40197         * modules/log2-ieee-tests: New file.
40198         * tests/test-log2-ieee.c: New file.
40200         New module 'log2-ieee'.
40201         * modules/log2-ieee: New file.
40203         Tests for module 'log2f-ieee'.
40204         * modules/log2f-ieee-tests: New file.
40205         * tests/test-log2f-ieee.c: New file.
40206         * tests/test-log2-ieee.h: New file.
40208         New module 'log2f-ieee'.
40209         * modules/log2f-ieee: New file.
40211 2012-03-11  Bruno Haible  <bruno@clisp.org>
40213         Tests for module 'log2l'.
40214         * modules/log2l-tests: New file.
40215         * tests/test-log2l.c: New file.
40217         New module 'log2l'.
40218         * lib/math.in.h (log2l): New declaration.
40219         * lib/log2l.c: New file.
40220         * m4/log2l.m4: New file.
40221         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
40222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
40223         REPLACE_LOG2L.
40224         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
40225         REPLACE_LOG2L.
40226         * modules/log2l: New file.
40227         * tests/test-math-c++.cc: Check the declaration of log2l.
40228         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
40229         and OSF/1 problems.
40231 2012-03-11  Bruno Haible  <bruno@clisp.org>
40233         Tests for module 'log2f'.
40234         * modules/log2f-tests: New file.
40235         * tests/test-log2f.c: New file.
40237         New module 'log2f'.
40238         * lib/math.in.h (log2f): New declaration.
40239         * lib/log2f.c: New file.
40240         * m4/log2f.m4: New file.
40241         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
40242         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
40243         REPLACE_LOG2F.
40244         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
40245         REPLACE_LOG2F.
40246         * modules/log2f: New file.
40247         * tests/test-math-c++.cc: Check the declaration of log2f.
40248         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
40249         and OSF/1 and Cygwin problems.
40251 2012-03-11  Bruno Haible  <bruno@clisp.org>
40253         Tests for module 'log2'.
40254         * modules/log2-tests: New file.
40255         * tests/test-log2.c: New file.
40256         * tests/test-log2.h: New file.
40258         New module 'log2'.
40259         * lib/math.in.h (log2): New declaration.
40260         * lib/log2.c: New file.
40261         * m4/log2.m4: New file.
40262         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
40263         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
40264         REPLACE_LOG2.
40265         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
40266         REPLACE_LOG2.
40267         * modules/log2: New file.
40268         * tests/test-math-c++.cc: Check the declaration of log2.
40269         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
40270         and OSF/1 and Cygwin problems.
40272 2012-03-11  Bruno Haible  <bruno@clisp.org>
40274         exp2* tests: More tests.
40275         * tests/test-exp2.h (test_function): Test all integral arguments that
40276         don't need to overflow or denormalized numbers.
40277         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
40278         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
40279         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
40281 2012-03-10  Bruno Haible  <bruno@clisp.org>
40283         log1pl-ieee: Work around test failure on AIX 7.1.
40284         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
40286         log1pl-ieee: Work around test failure on IRIX 6.5.
40287         * m4/log1pl-ieee.m4: New file.
40288         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
40289         test whether log1pl works with a minus zero argument. Replace it if
40290         not.
40291         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
40292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
40293         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
40294         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
40295         (Depends-on): Update conditions.
40296         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40297         m4/signbit.m4.
40298         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
40299         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
40301         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
40302         * m4/log1pf-ieee.m4: New file.
40303         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
40304         test whether log1pf works with a minus zero argument. Replace it if
40305         not.
40306         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
40307         m4/signbit.m4.
40308         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
40309         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
40311         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
40312         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
40313         (configure.ac): Require gl_FUNC_LOG1PF.
40315         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
40316         * m4/log1p-ieee.m4: New file.
40317         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
40318         whether log1p works with a minus zero argument. Replace it if not.
40319         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
40320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
40321         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
40322         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
40323         (Depends-on): Update conditions.
40324         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40325         m4/signbit.m4.
40326         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
40327         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
40329         Tests for module 'log1pl-ieee'.
40330         * modules/log1pl-ieee-tests: New file.
40331         * tests/test-log1pl-ieee.c: New file.
40333         New module 'log1pl-ieee'.
40334         * modules/log1pl-ieee: New file.
40336         Tests for module 'log1p-ieee'.
40337         * modules/log1p-ieee-tests: New file.
40338         * tests/test-log1p-ieee.c: New file.
40340         New module 'log1p-ieee'.
40341         * modules/log1p-ieee: New file.
40343         Tests for module 'log1pf-ieee'.
40344         * modules/log1pf-ieee-tests: New file.
40345         * tests/test-log1pf-ieee.c: New file.
40346         * tests/test-log1p-ieee.h: New file.
40348         New module 'log1pf-ieee'.
40349         * modules/log1pf-ieee: New file.
40351 2012-03-10  Bruno Haible  <bruno@clisp.org>
40353         Tests for module 'log1pl'.
40354         * modules/log1pl-tests: New file.
40355         * tests/test-log1pl.c: New file.
40357         New module 'log1pl'.
40358         * lib/math.in.h (log1pl): New declaration.
40359         * lib/log1pl.c: New file.
40360         * m4/log1pl.m4: New file.
40361         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
40362         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
40363         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
40364         * modules/log1pl: New file.
40365         * tests/test-math-c++.cc: Check the declaration of log1pl.
40366         * doc/posix-functions/log1pl.texi: Mention the new module.
40368 2012-03-10  Bruno Haible  <bruno@clisp.org>
40370         Tests for module 'log1pf'.
40371         * modules/log1pf-tests: New file.
40372         * tests/test-log1pf.c: New file.
40374         New module 'log1pf'.
40375         * lib/math.in.h (log1pf): New declaration.
40376         * lib/log1pf.c: New file.
40377         * m4/log1pf.m4: New file.
40378         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
40379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
40380         REPLACE_LOG1PF.
40381         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
40382         REPLACE_LOG1PF.
40383         * modules/log1pf: New file.
40384         * tests/test-math-c++.cc: Check the declaration of log1pf.
40385         * doc/posix-functions/log1pf.texi: Mention the new module.
40387 2012-03-10  Bruno Haible  <bruno@clisp.org>
40389         log1p tests: More tests.
40390         * tests/test-log1p.h: New file.
40391         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
40392         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
40393         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
40394         (main): Invoke test_function.
40396         log1p: Provide replacement for Minix and MSVC.
40397         * lib/math.in.h (log1p): New declaration.
40398         * lib/log1p.c: New file.
40399         * m4/log1p.m4: New file.
40400         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
40401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
40402         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
40403         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
40404         (Depends-on): Add math, isnand, log, round.
40405         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
40406         HAVE_LOG1P is 0.
40407         * tests/test-math-c++.cc: Check the declaration of log1p.
40408         * doc/posix-functions/log1p.texi: Mention the replacement.
40410 2012-03-10  Bruno Haible  <bruno@clisp.org>
40412         math tests: Small simplification.
40413         * tests/test-exp.h (test_function): Use the same err_bound for
40414         'double' on platforms with sizeof (long double) == sizeof (double)
40415         than on platforms with sizeof (long double) > sizeof (double).
40416         * tests/test-exp2.h (test_function): Likewise.
40417         * tests/test-expm1.h (test_function): Likewise.
40418         * tests/test-log.h (test_function): Likewise.
40420 2012-03-10  Bruno Haible  <bruno@clisp.org>
40422         Fix some comments.
40423         * lib/expl.c: Fix an ambiguous comment.
40424         * lib/expm1.c: Likewise.
40425         * lib/expm1l.c: Likewise.
40426         * lib/exp2.c: Likewise.
40427         * lib/exp2l.c: Likewise.
40429 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
40431         regex: allow inclusion of <regex.h> before <limits.h>
40432         Without this patch, portable programs had to include <limits.h> before
40433         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
40434         I ran into this problem with a test version of GNU grep on Solaris 8.
40435         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
40436         This is done conditionally so that this change can be merged
40437         back to glibc.
40438         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
40439         using the included regex.
40441         fts: depend on fdopendir
40442         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
40443         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
40444         problem was introduced when fdopendir was split out.
40446 2012-03-10  Bruno Haible  <bruno@clisp.org>
40448         Remove unused variables.
40449         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
40450         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40452 2012-03-10  Bruno Haible  <bruno@clisp.org>
40454         isnanf-nolibm: Fix last commit.
40455         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
40457         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
40458         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
40460 2012-03-10  Bruno Haible  <bruno@clisp.org>
40462         logf-ieee: Work around test failure on NetBSD 5.1.
40463         * m4/logf-ieee.m4: New file.
40464         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
40465         whether logf works with a negative argument. Replace it if not.
40466         * lib/logf.c (logf): For negative arguments, return NaN.
40467         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
40468         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
40469         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
40471         logf-ieee: Work around test failure on Solaris 9.
40472         * modules/logf-ieee (Depends-on): Add log-ieee.
40473         (configure.ac): Require gl_FUNC_LOGF.
40475         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40476         * m4/log-ieee.m4: New file.
40477         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
40478         log works with a negative argument. Replace it if not.
40479         * lib/log.c (log): For negative arguments, return NaN.
40480         * modules/log-ieee (Files): Add m4/log-ieee.m4.
40481         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
40482         * doc/posix-functions/log.texi: Mention the log-ieee module.
40484         Tests for module 'logl-ieee'.
40485         * modules/logl-ieee-tests: New file.
40486         * tests/test-logl-ieee.c: New file.
40488         New module 'logl-ieee'.
40489         * modules/logl-ieee: New file.
40491         Tests for module 'log-ieee'.
40492         * modules/log-ieee-tests: New file.
40493         * tests/test-log-ieee.c: New file.
40495         New module 'log-ieee'.
40496         * modules/log-ieee: New file.
40498         Tests for module 'logf-ieee'.
40499         * modules/logf-ieee-tests: New file.
40500         * tests/test-logf-ieee.c: New file.
40501         * tests/test-log-ieee.h: New file.
40503         New module 'logf-ieee'.
40504         * modules/logf-ieee: New file.
40506 2012-03-10  Bruno Haible  <bruno@clisp.org>
40508         log: Fix bug introduced on 2012-03-09.
40509         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
40511 2012-03-10  Pádraig Brady  <P@draigBrady.com>
40513         timer-time: link explicitly with pthreads on glibc
40514         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
40515         to support static linking, when newer glibc is
40516         detected, as that contains pthread emulation of
40517         POSIX timer functions where required.
40518         * modules/timer-time: Depend on threadlib to
40519         pull in the appropriate library to link.
40521 2012-03-10  Bruno Haible  <bruno@clisp.org>
40523         log* tests: More tests.
40524         * tests/test-log.h: New file.
40525         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
40526         (main): Invoke test_function.
40527         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
40528         (main): Invoke test_function.
40529         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
40530         (main): Invoke test_function.
40531         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40532         tests/randomd.c.
40533         (Makefile.am): Add randomd.c to test_log_SOURCES.
40534         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40535         tests/randomf.c.
40536         (Makefile.am): Add randomf.c to test_logf_SOURCES.
40537         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40538         tests/randoml.c.
40539         (Depends-on): Add 'float'.
40540         (Makefile.am): Add randoml.c to test_logl_SOURCES.
40542 2012-03-09  Bruno Haible  <bruno@clisp.org>
40544         logl: Work around OSF/1 5.1 bug.
40545         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
40546         * lib/logl.c (logl): If logl exists, use it and provide just the
40547         workaround.
40548         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
40549         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
40550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
40551         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
40552         * modules/logl (configure.ac): Consider REPLACE_LOGL.
40553         (Depends-on): Update conditions.
40554         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
40556 2012-03-09  Bruno Haible  <bruno@clisp.org>
40558         logf: Work around OSF/1 5.1 bug.
40559         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
40560         * lib/logf.c (logf): If logf exists, use it and provide just the
40561         workaround.
40562         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
40563         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
40564         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
40565         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
40566         * modules/logf (configure.ac): Consider REPLACE_LOGF.
40567         (Depends-on): Update conditions.
40568         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
40570 2012-03-09  Bruno Haible  <bruno@clisp.org>
40572         log: Work around OSF/1 5.1 bug.
40573         * lib/math.in.h (log): New declaration.
40574         * lib/log.c: New file.
40575         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
40576         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
40577         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
40578         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
40579         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
40580         * modules/log (Files): Add lib/log.c.
40581         (Depends-on): Add math.
40582         (configure.ac): If REPLACE_LOG is 1, compile an override.
40583         * tests/test-math-c++.cc: Check the declaration of log.
40584         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
40586 2012-03-09  Jim Meyering  <meyering@redhat.com>
40588         readtokens.c: adjust wording in a comment
40589         * lib/readtokens.c: Insert omitted "that" in a comment.
40591 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40593         modechange: add notations +40, 00440, etc.
40594         * lib/modechange.c (mode_compile): Support new notations
40595         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
40597 2012-03-08  Bruno Haible  <bruno@clisp.org>
40599         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
40600         * m4/exp2l-ieee.m4: New file.
40601         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
40602         test whether exp2l works with a NaN argument and with a negative
40603         infinity argument. Replace it if not.
40604         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
40605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
40606         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
40607         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
40608         (Depends-on): Update conditions.
40609         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
40610         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
40611         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
40613         Tests for module 'exp2l-ieee'.
40614         * modules/exp2l-ieee-tests: New file.
40615         * tests/test-exp2l-ieee.c: New file.
40617         New module 'exp2l-ieee'.
40618         * modules/exp2l-ieee: New file.
40620         Tests for module 'exp2-ieee'.
40621         * modules/exp2-ieee-tests: New file.
40622         * tests/test-exp2-ieee.c: New file.
40624         New module 'exp2-ieee'.
40625         * modules/exp2-ieee: New file.
40627         Tests for module 'exp2f-ieee'.
40628         * modules/exp2f-ieee-tests: New file.
40629         * tests/test-exp2f-ieee.c: New file.
40630         * tests/test-exp2-ieee.h: New file.
40632         New module 'exp2f-ieee'.
40633         * modules/exp2f-ieee: New file.
40635 2012-03-08  Bruno Haible  <bruno@clisp.org>
40637         Tests for module 'exp2l'.
40638         * modules/exp2l-tests: New file.
40639         * tests/test-exp2l.c: New file.
40641         New module 'exp2l'.
40642         * lib/math.in.h (exp2l): New declaration.
40643         * lib/exp2l.c: New file.
40644         * lib/expl-table.c: New file, extracted from lib/expl.c.
40645         * lib/expl.c (gl_expl_table): New declaration.
40646         (expl): Remove expl_table. Update reference.
40647         * m4/exp2l.m4: New file.
40648         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
40649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
40650         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
40651         * modules/exp2l: New file.
40652         * modules/expl (Files): Add lib/expl-table.c.
40653         (configure.ac): Compile also expl-table.c.
40654         * tests/test-math-c++.cc: Check the declaration of exp2l.
40655         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
40656         problem.
40658 2012-03-08  Bruno Haible  <bruno@clisp.org>
40660         Tests for module 'exp2f'.
40661         * modules/exp2f-tests: New file.
40662         * tests/test-exp2f.c: New file.
40664         New module 'exp2f'.
40665         * lib/math.in.h (exp2f): New declaration.
40666         * lib/exp2f.c: New file.
40667         * m4/exp2f.m4: New file.
40668         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
40669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
40670         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
40671         * modules/exp2f: New file.
40672         * tests/test-math-c++.cc: Check the declaration of exp2f.
40673         * doc/posix-functions/exp2f.texi: Mention the new module and the
40674         IRIX problem.
40676 2012-03-08  Bruno Haible  <bruno@clisp.org>
40678         Tests for module 'exp2'.
40679         * modules/exp2-tests: New file.
40680         * tests/test-exp2.c: New file.
40681         * tests/test-exp2.h: New file.
40683         New module 'exp2'.
40684         * lib/math.in.h (exp2): New declaration.
40685         * lib/exp2.c: New file.
40686         * m4/exp2.m4: New file.
40687         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
40688         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
40689         REPLACE_EXP2.
40690         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
40691         REPLACE_EXP2.
40692         * modules/exp2: New file.
40693         * tests/test-math-c++.cc: Check the declaration of exp2.
40694         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
40695         and OpenBSD problems.
40697 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40699         savedir: fix comment typo
40700         * lib/savedir.c (savedirstream): Fix typo in comment.
40702 2012-03-08  Bruno Haible  <bruno@clisp.org>
40704         test-readtokens.c: use const; remove unwarranted cast
40705         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
40707 2012-03-08  Bruno Haible  <bruno@clisp.org>
40709         fmal: Avoid compilation error on AIX.
40710         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
40711         AIX 5.2..7.1.
40713 2012-03-08  Bruno Haible  <bruno@clisp.org>
40715         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
40716         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
40717         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
40718         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
40719         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
40720         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
40721         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
40723 2012-03-08  Bruno Haible  <bruno@clisp.org>
40725         remainderf: Override buggy system function on IRIX 6.5.
40726         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
40727         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
40728         when it exists.
40729         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
40731 2012-03-08  Jim Meyering  <meyering@redhat.com>
40733         test-readtokens.c: avoid const-related compilation warnings
40734         * tests/test-readtokens.c: Avoid const-related compilation warnings.
40736 2012-03-07  Jim Meyering  <meyering@redhat.com>
40737             Bruno Haible  <bruno@clisp.org>
40739         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
40740         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
40741         tests/randomd.c.
40742         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
40743         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
40744         tests/randoml.c.
40745         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
40747 2012-03-07  Bruno Haible  <bruno@clisp.org>
40749         expm1l: Avoid compilation error on AIX.
40750         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
40751         AIX 5.2..7.1.
40753 2012-03-07  Bruno Haible  <bruno@clisp.org>
40755         expm1l: Don't override undeclared system function on IRIX 6.5.
40756         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
40757         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
40758         it exists. Set HAVE_DECL_EXPM1L.
40759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
40760         HAVE_EXPM1L.
40761         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
40762         HAVE_EXPM1L.
40763         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
40765 2012-03-07  Bruno Haible  <bruno@clisp.org>
40767         remainderl: Don't override undeclared system function on IRIX 6.5.
40768         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
40769         HAVE_REMAINDERL.
40770         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
40771         declared when it exists. Set HAVE_DECL_REMAINDERL.
40772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
40773         not HAVE_REMAINDERL.
40774         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
40775         HAVE_REMAINDERL.
40776         * doc/posix-functions/remainderl.texi: Mention missing declaration
40777         problem.
40779 2012-03-07  Bruno Haible  <bruno@clisp.org>
40781         rintf: Don't override undeclared system function on IRIX 6.5.
40782         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
40783         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
40784         exists. Set HAVE_DECL_RINTF.
40785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
40786         HAVE_RINTF.
40787         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
40788         HAVE_RINTF.
40789         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
40791 2012-03-07  Bruno Haible  <bruno@clisp.org>
40793         roundl: Avoid compilation error on AIX.
40794         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
40795         AIX 5.2..7.1.
40797 2012-03-07  Bruno Haible  <bruno@clisp.org>
40799         roundl: Don't override undeclared system function on IRIX 6.5.
40800         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
40801         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
40802         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40803         * modules/roundl (configure.ac): For replacement code, test
40804         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40805         (Depends-on): Update conditions.
40806         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
40808 2012-03-07  Bruno Haible  <bruno@clisp.org>
40810         roundf: Don't override undeclared system function on IRIX 6.5.
40811         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
40812         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
40813         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40814         * modules/roundf (configure.ac): For replacement code, test
40815         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40816         (Depends-on): Update conditions.
40817         * modules/roundf-ieee (Depends-on): Update conditions.
40818         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
40820 2012-03-07  Bruno Haible  <bruno@clisp.org>
40822         round: Don't override undeclared system function on IRIX 6.5.
40823         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
40824         argument.
40825         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
40826         also when it is not declared. Set HAVE_ROUND. For replacement code,
40827         test HAVE_ROUND, not HAVE_DECL_ROUND.
40828         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
40829         not HAVE_DECL_ROUND.
40830         (Depends-on): Update conditions.
40831         * modules/round-ieee (Depends-on): Update conditions.
40832         * doc/posix-functions/round.texi: Mention the IRIX problem.
40834 2012-03-07  Bruno Haible  <bruno@clisp.org>
40836         copysignf: Don't override undeclared system function on IRIX 6.5.
40837         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
40838         HAVE_COPYSIGNF.
40839         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
40840         declared when it exists. Set HAVE_DECL_COPYSIGNF.
40841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
40842         not HAVE_COPYSIGNF.
40843         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
40844         HAVE_COPYSIGNF.
40845         * doc/posix-functions/copysignf.texi: Mention missing declaration
40846         problem.
40848 2012-03-07  Jim Meyering  <meyering@redhat.com>
40850         readtokens: add tests
40851         * modules/readtokens-tests: New file.
40852         * tests/test-readtokens.c: New file.
40854 2012-03-07  Jim Meyering  <meyering@redhat.com>
40856         quotearg: the module must now include quote.h
40857         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
40858         So must the module.
40859         * modules/quotearg (Files): Add quote.h.
40861 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
40863         readtokens: avoid core dumps with unusual calling patterns
40864         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
40865         * lib/readtokens.c: Include limits.h.
40866         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
40867         (readtoken): Don't cache the delimiters; the cache code was buggy
40868         if !delim && saved_delim, or if the new n_delim differs from the old.
40869         Also, it wasn't thread-safe.
40871 2012-03-07  Bruno Haible  <bruno@clisp.org>
40873         quote: Adhere to common module description layout.
40874         * modules/quote (Makefile.am): Add back empty section.
40876 2012-03-06  Akim Demaille  <demaille@gostai.com>
40878         quote: fuse into quotearg
40879         This patch is made for the benefit of Bison.
40880         quote does not leave the choice of the quoting style to the user.
40881         quoting_style provides poor customizability, yet quoting_options,
40882         which is very rich, is hidden inside quotearg.c.  So in order to
40883         allow quote customization, move its implementation to quotearg.c.
40884         * lib/quote.c: Remove.
40885         * modules/quote: Adjust.
40886         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
40887         warning: provide all the members of literal structs.
40888         (quote_quoting_options): New.
40889         (quote, quote_n): Import implementation from quote.c.
40890         * lib/quote.h: Import the comments from quote.c.
40891         (quote_quoting_options): New.
40893 2012-03-06  Bruno Haible  <bruno@clisp.org>
40895         Tests for module 'expm1l-ieee'.
40896         * modules/expm1l-ieee-tests: New file.
40897         * tests/test-expm1l-ieee.c: New file.
40899         New module 'expm1l-ieee'.
40900         * modules/expm1l-ieee: New file.
40902         Tests for module 'expm1f-ieee'.
40903         * modules/expm1f-ieee-tests: New file.
40904         * tests/test-expm1f-ieee.c: New file.
40906         New module 'expm1f-ieee'.
40907         * modules/expm1f-ieee: New file.
40909         Tests for module 'expm1-ieee'.
40910         * modules/expm1-ieee-tests: New file.
40911         * tests/test-expm1-ieee.c: New file.
40912         * tests/test-expm1-ieee.h: New file.
40914         New module 'expm1-ieee'.
40915         * modules/expm1-ieee: New file.
40916         * m4/expm1-ieee.m4: New file.
40917         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
40918         whether expm1 works with a minus zero argument. Replace it if not.
40919         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
40920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
40921         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
40922         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
40923         (Depends-on): Update conditions.
40924         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
40925         AIX problem.
40927 2012-03-06  Bruno Haible  <bruno@clisp.org>
40929         Work around expm1f bug on IRIX 6.5.
40930         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
40931         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
40932         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
40933         not work.
40934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
40935         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
40936         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
40937         (Depends-on): Update conditions.
40938         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
40940 2012-03-06  Bruno Haible  <bruno@clisp.org>
40942         Tests for module 'expm1l'.
40943         * modules/expm1l-tests: New file.
40944         * tests/test-expm1l.c: New file.
40946         New module 'expm1l'.
40947         * lib/math.in.h (expm1l): New declaration.
40948         * lib/expm1l.c: New file.
40949         * m4/expm1l.m4: New file.
40950         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
40951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
40952         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
40953         * modules/expm1l: New file.
40954         * tests/test-math-c++.cc: Check the declaration of expm1l.
40955         * doc/posix-functions/expm1l.texi: Mention the new module.
40957 2012-03-06  Bruno Haible  <bruno@clisp.org>
40959         Tests for module 'expm1f'.
40960         * modules/expm1f-tests: New file.
40961         * tests/test-expm1f.c: New file.
40963         New module 'expm1f'.
40964         * lib/math.in.h (expm1f): New declaration.
40965         * lib/expm1f.c: New file.
40966         * m4/expm1f.m4: New file.
40967         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
40968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
40969         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
40970         * modules/expm1f: New file.
40971         * tests/test-math-c++.cc: Check the declaration of expm1f.
40972         * doc/posix-functions/expm1f.texi: Mention the new module.
40974 2012-03-06  Bruno Haible  <bruno@clisp.org>
40976         Tests for module 'expm1'.
40977         * modules/expm1-tests: New file.
40978         * tests/test-expm1.c: New file.
40979         * tests/test-expm1.h: New file.
40981         New module 'expm1'.
40982         * lib/math.in.h (expm1): New declaration.
40983         * lib/expm1.c: New file.
40984         * m4/expm1.m4: New file.
40985         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
40986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
40987         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
40988         * modules/expm1: New file.
40989         * tests/test-math-c++.cc: Check the declaration of expm1.
40990         * doc/posix-functions/expm1.texi: Mention the new module.
40992 2012-03-06  Bruno Haible  <bruno@clisp.org>
40994         math: Ensure declarations of math functions.
40995         * modules/acosf (Depends-on): Add 'extensions'.
40996         * modules/asinf (Depends-on): Likewise.
40997         * modules/atan2f (Depends-on): Likewise.
40998         * modules/atanf (Depends-on): Likewise.
40999         * modules/cbrt (Depends-on): Likewise.
41000         * modules/cbrtf (Depends-on): Likewise.
41001         * modules/cbrtl (Depends-on): Likewise.
41002         * modules/copysignf (Depends-on): Likewise.
41003         * modules/copysignl (Depends-on): Likewise.
41004         * modules/cosf (Depends-on): Likewise.
41005         * modules/coshf (Depends-on): Likewise.
41006         * modules/expf (Depends-on): Likewise.
41007         * modules/fabsf (Depends-on): Likewise.
41008         * modules/fabsl (Depends-on): Likewise.
41009         * modules/fmaf (Depends-on): Likewise.
41010         * modules/fmal (Depends-on): Likewise.
41011         * modules/fmodf (Depends-on): Likewise.
41012         * modules/fmodl (Depends-on): Likewise.
41013         * modules/frexpf (Depends-on): Likewise.
41014         * modules/frexpl (Depends-on): Likewise.
41015         * modules/hypot (Depends-on): Likewise.
41016         * modules/hypotf (Depends-on): Likewise.
41017         * modules/hypotl (Depends-on): Likewise.
41018         * modules/ldexpf (Depends-on): Likewise.
41019         * modules/ldexpl (Depends-on): Likewise.
41020         * modules/log10f (Depends-on): Likewise.
41021         * modules/log10l (Depends-on): Likewise.
41022         * modules/log1p (Depends-on): Likewise.
41023         * modules/logb (Depends-on): Likewise.
41024         * modules/logf (Depends-on): Likewise.
41025         * modules/modff (Depends-on): Likewise.
41026         * modules/modfl (Depends-on): Likewise.
41027         * modules/powf (Depends-on): Likewise.
41028         * modules/remainderf (Depends-on): Likewise.
41029         * modules/remainderl (Depends-on): Likewise.
41030         * modules/rintf (Depends-on): Likewise.
41031         * modules/rintl (Depends-on): Likewise.
41032         * modules/sinf (Depends-on): Likewise.
41033         * modules/sinhf (Depends-on): Likewise.
41034         * modules/sqrtf (Depends-on): Likewise.
41035         * modules/tanf (Depends-on): Likewise.
41036         * modules/tanhf (Depends-on): Likewise.
41037         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
41038         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
41039         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
41040         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
41041         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
41042         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
41043         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
41044         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
41045         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
41046         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
41047         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
41048         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
41049         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
41050         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
41051         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
41052         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
41053         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
41054         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41055         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
41056         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
41057         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
41058         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
41059         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
41060         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
41061         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
41062         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
41063         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
41064         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
41065         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
41066         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
41067         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41068         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
41069         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41070         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41071         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
41072         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
41073         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
41074         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
41075         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
41076         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
41077         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
41079 2012-03-06  Bruno Haible  <bruno@clisp.org>
41081         math: Update module names in warnings.
41082         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
41083         tanl): Use specific module name in warn-on-use warning.
41085 2012-03-06  Bruno Haible  <bruno@clisp.org>
41087         expl: Simplify computation.
41088         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
41090 2012-03-05  Bruno Haible  <bruno@clisp.org>
41092         exp* tests: More tests.
41093         * tests/test-exp.h: New file.
41094         * tests/test-exp.c: Include <float.h> and test-exp.h.
41095         (main): Invoke test_function.
41096         * tests/test-expf.c: Include <float.h> and test-exp.h.
41097         (main): Invoke test_function.
41098         * tests/test-expl.c: Include <float.h> and test-exp.h.
41099         (main): Invoke test_function.
41100         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
41101         (Makefile.am): Add randomd.c to test_exp_SOURCES.
41102         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
41103         (Makefile.am): Add randomf.c to test_expf_SOURCES.
41104         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
41105         (Depends-on): Add 'float'.
41106         (Makefile.am): Add randoml.c to test_expl_SOURCES.
41108         expl: Fix precision of computed result.
41109         * lib/expl.c: Completely rewritten.
41110         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
41111         (Maintainer): Add me.
41112         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
41114 2012-03-05  Bruno Haible  <bruno@clisp.org>
41116         cbrt* tests: More tests.
41117         * tests/test-cbrt.h: New file.
41118         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
41119         (main): Invoke test_function.
41120         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
41121         (main): Invoke test_function.
41122         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
41123         (main): Invoke test_function.
41124         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
41125         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
41126         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
41127         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
41128         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
41129         (Depends-on): Add 'float'.
41130         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
41132 2012-03-05  Bruno Haible  <bruno@clisp.org>
41134         hypot* tests: More tests.
41135         * tests/test-hypot.h: New file, partially extracted from
41136         tests/test-hypotl.c.
41137         * tests/test-hypot.c: Include test-hypot.h.
41138         (main): Invoke test_function.
41139         * tests/test-hypotf.c: Include test-hypot.h.
41140         (main): Invoke test_function.
41141         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
41142         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
41143         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
41144         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
41145         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
41146         tests/randomf.c.
41147         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
41148         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
41149         tests/randoml.c.
41150         (Depends-on): Add 'fpucw', 'float'.
41151         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
41153 2012-03-05  Bruno Haible  <bruno@clisp.org>
41155         fpucw: Doc about FreeBSD.
41156         * lib/fpucw.h: Mention FreeBSD in comments.
41158 2012-03-04  Bruno Haible  <bruno@clisp.org>
41160         sqrt* tests: More tests.
41161         * tests/test-sqrt.h: New file.
41162         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
41163         (main): Invoke test_function.
41164         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
41165         (main): Invoke test_function.
41166         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
41167         (main): Invoke test_function.
41168         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
41169         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
41170         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
41171         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
41172         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
41173         (Depends-on): Add 'float'.
41174         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
41176 2012-03-04  Bruno Haible  <bruno@clisp.org>
41178         remainder* tests: More tests.
41179         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
41180         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
41181         (main): Invoke test_function.
41182         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
41183         (main): Invoke test_function.
41184         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
41185         (main): Invoke test_function.
41186         * modules/remainder-tests (Files): Add tests/test-remainder.h,
41187         tests/randomd.c.
41188         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
41189         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
41190         tests/randomf.c.
41191         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
41192         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
41193         tests/randoml.c.
41194         (Depends-on): Add 'float'.
41195         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
41197 2012-03-04  Bruno Haible  <bruno@clisp.org>
41199         remainder, remainderf, remainderl: Fix computation for large quotients.
41200         * lib/remainder.c: Completely rewritten.
41201         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
41202         USE_FLOAT.
41203         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
41204         USE_LONG_DOUBLE.
41205         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
41206         isnand, isinf. Remove round, fma.
41207         * modules/remainderf (Files): Add lib/remainder.c.
41208         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
41209         Remove roundf, fmaf.
41210         * modules/remainderl (Files): Add lib/remainder.c.
41211         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
41212         isinf. Remove roundl, fmal.
41213         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
41214         REMAINDER_LIBM.
41215         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
41216         REMAINDERF_LIBM.
41217         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
41218         REMAINDERL_LIBM.
41220 2012-03-04  Bruno Haible  <bruno@clisp.org>
41222         fmod* tests: More tests.
41223         * tests/test-fmod.h (my_ldexp): New function.
41224         (test_function): Reduce amount of random numbers to test. Add tests
41225         of very large quotients x / y.
41226         * tests/test-fmod.c (MAX_EXP): New macro.
41227         * tests/test-fmodf.c (MAX_EXP): Likewise.
41228         * tests/test-fmodl.c (MAX_EXP): Likewise.
41230 2012-03-04  Bruno Haible  <bruno@clisp.org>
41232         fmod, fmodl: Fix computation for large quotients x / y.
41233         * lib/fmod.c: Completely rewritten.
41234         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
41235         USE_LONG_DOUBLE.
41236         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
41237         isnand. Remove fma.
41238         * modules/fmodl (Files): Add lib/fmod.c.
41239         (Depends-on): Add float, isfinite, signbit, fabsl,
41240         frexpl, ldexpl, isnanl. Remove fma.
41241         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
41242         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
41244 2012-03-03  Bruno Haible  <bruno@clisp.org>
41246         fmod* tests: More tests.
41247         * tests/test-fmod.h: New file.
41248         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
41249         (main): Invoke test_function.
41250         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
41251         (main): Invoke test_function.
41252         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
41253         (main): Invoke test_function.
41254         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
41255         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
41256         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
41257         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
41258         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
41259         (Depends-on): Add 'float'.
41260         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
41262 2012-03-03  Bruno Haible  <bruno@clisp.org>
41264         rint* tests: More tests.
41265         * tests/test-rint.h: New file, partially extracted from
41266         tests/test-rintl.c.
41267         * tests/test-rint.c: Include test-rint.h.
41268         (main): Invoke test_function.
41269         * tests/test-rintf.c: Include test-rint.h.
41270         (main): Invoke test_function.
41271         * tests/test-rintl.c: Include test-rint.h.
41272         (main): Invoke test_function.
41273         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
41274         (Makefile.am): Add randomd.c to test_rint_SOURCES.
41275         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
41276         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
41277         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
41278         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
41280 2012-03-03  Bruno Haible  <bruno@clisp.org>
41282         modf* tests: More tests.
41283         * tests/test-modf.h: New file.
41284         * tests/test-modf.c: Include <float.h> and test-modf.h.
41285         (main): Invoke test_function.
41286         * tests/test-modff.c: Include <float.h> and test-modf.h.
41287         (main): Invoke test_function.
41288         * tests/test-modfl.c: Include <float.h> and test-modf.h.
41289         (main): Invoke test_function.
41290         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
41291         (Makefile.am): Add randomd.c to test_modf_SOURCES.
41292         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
41293         (Makefile.am): Add randomf.c to test_modff_SOURCES.
41294         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
41295         (Depends-on): Add 'float'.
41296         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
41298 2012-03-03  Bruno Haible  <bruno@clisp.org>
41300         fabs* tests: More tests.
41301         * tests/test-fabs.h: New file, partially extracted from
41302         tests/test-fabsl.c.
41303         * tests/test-fabs.c (RANDOM): New macro.
41304         * tests/test-fabsf.c (RANDOM): New macro.
41305         * tests/test-fabsl.c (RANDOM): New macro.
41306         * modules/fabs-tests (Files): Add tests/randomd.c.
41307         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
41308         * modules/fabsf-tests (Files): Add tests/randomf.c.
41309         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
41310         * modules/fabsl-tests (Files): Add tests/randoml.c.
41311         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
41313 2012-03-03  Bruno Haible  <bruno@clisp.org>
41315         ldexp* tests: More tests.
41316         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
41317         * tests/test-ldexp.c (RANDOM): New macro.
41318         * tests/test-ldexpf.c (RANDOM): New macro.
41319         * tests/test-ldexpl.c (RANDOM): New macro.
41320         * modules/ldexp-tests (Files): Add tests/randomd.c.
41321         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
41322         * modules/ldexpf-tests (Files): Add tests/randomf.c.
41323         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
41324         * modules/ldexpl-tests (Files): Add tests/randoml.c.
41325         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
41327 2012-03-03  Bruno Haible  <bruno@clisp.org>
41329         frexp* tests: More tests.
41330         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
41331         * tests/test-frexp.c (RANDOM): New macro.
41332         * tests/test-frexpf.c (RANDOM): New macro.
41333         * tests/test-frexpl.c (RANDOM): New macro.
41334         * modules/frexp-tests (Files): Add tests/randomd.c.
41335         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
41336         * modules/frexpf-tests (Files): Add tests/randomf.c.
41337         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
41338         * modules/frexpl-tests (Files): Add tests/randoml.c.
41339         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
41341 2012-03-03  Bruno Haible  <bruno@clisp.org>
41343         Support for pseudo-random numbers in tests.
41344         * tests/randomf.c: New file.
41345         * tests/randomd.c: New file.
41346         * tests/randoml.c: New file.
41347         * tests/macros.h (randomf, randomd, randoml): New declarations.
41349 2012-03-03  Bruno Haible  <bruno@clisp.org>
41351         frexp* tests: Refactor.
41352         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
41353         * tests/test-frexp.c: Include and use it.
41354         * tests/test-frexpf.c: Likewise.
41355         * tests/test-frexpl.c: Likewise.
41356         * modules/frexp-tests (Files): Add tests/test-frexp.h.
41357         * modules/frexpf-tests (Files): Likewise.
41358         * modules/frexpl-tests (Files): Likewise.
41360 2012-03-02  Jim Meyering  <meyering@redhat.com>
41362         maint: don't specify XZ_OPT=-9ev in dist-related rule
41363         Using xz's -9 option is warranted only if you have a very large
41364         tarball (see xz's documentation for the sizes vs. presets), and
41365         requires 64MiB of memory at decompression time.
41366         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41367         Automake's default of just "-e" is fine.  Override on a
41368         per-package basis by setting XZ_OPT e.g., in cfg.mk.
41370 2012-03-01  Eric Blake  <eblake@redhat.com>
41372         maint.mk: allow announcement for non-gnulib project
41373         * maint.mk (announcement): Skip gnulib version if not used.
41375 2012-03-01  Jim Meyering  <meyering@redhat.com>
41377         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
41378         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
41379         envvar settings cannot interfere.  Otherwise, setting envvars like
41380         prohibit=foo require=bar, etc. would cause spurious test failures.
41382 2012-03-01  Eric Blake  <eblake@redhat.com>
41384         maint.mk: add per-line exclusions to prohibitions
41385         * maint.mk (_sc_search_regexp): Add $exclude parameter.
41386         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
41387         (sc_const_long_option): Use it.
41389 2012-03-01  Bruno Haible  <bruno@clisp.org>
41391         Tests for module 'expl-ieee'.
41392         * modules/expl-ieee-tests: New file.
41393         * tests/test-expl-ieee.c: New file.
41395         New module 'expl-ieee'.
41396         * modules/expl-ieee: New file.
41398         Tests for module 'exp-ieee'.
41399         * modules/exp-ieee-tests: New file.
41400         * tests/test-exp-ieee.c: New file.
41402         New module 'exp-ieee'.
41403         * modules/exp-ieee: New file.
41405         Tests for module 'expf-ieee'.
41406         * modules/expf-ieee-tests: New file.
41407         * tests/test-expf-ieee.c: New file.
41408         * tests/test-exp-ieee.h: New file.
41410         New module 'expf-ieee'.
41411         * modules/expf-ieee: New file.
41413 2012-02-29  Bruno Haible  <bruno@clisp.org>
41415         cbrtl-ieee: Work around test failure on IRIX 6.5.
41416         * m4/cbrtl-ieee.m4: New file.
41417         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
41418         test whether cbrtl works with a minus zero argument. Replace it if not.
41419         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
41420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
41421         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
41422         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
41423         (Depends-on): Update conditions.
41424         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
41425         m4/signbit.m4.
41426         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
41427         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
41428         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
41430         Tests for module 'cbrtl-ieee'.
41431         * modules/cbrtl-ieee-tests: New file.
41432         * tests/test-cbrtl-ieee.c: New file.
41434         New module 'cbrtl-ieee'.
41435         * modules/cbrtl-ieee: New file.
41437         Tests for module 'cbrt-ieee'.
41438         * modules/cbrt-ieee-tests: New file.
41439         * tests/test-cbrt-ieee.c: New file.
41441         New module 'cbrt-ieee'.
41442         * modules/cbrt-ieee: New file.
41444         Tests for module 'cbrtf-ieee'.
41445         * modules/cbrtf-ieee-tests: New file.
41446         * tests/test-cbrtf-ieee.c: New file.
41447         * tests/test-cbrt-ieee.h: New file.
41449         New module 'cbrtf-ieee'.
41450         * modules/cbrtf-ieee: New file.
41452 2012-02-29  Bruno Haible  <bruno@clisp.org>
41454         cbrtf: Work around bug in IRIX 6.5 system function.
41455         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
41456         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
41457         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
41458         work.
41459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
41460         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
41461         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
41462         (Depends-on): Update conditions.
41463         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
41465 2012-02-29  Bruno Haible  <bruno@clisp.org>
41467         Tests for module 'cbrtl'.
41468         * modules/cbrtl-tests: New file.
41469         * tests/test-cbrtl.c: New file.
41471         New module 'cbrtl'.
41472         * lib/math.in.h (cbrtl): New declaration.
41473         * lib/cbrtl.c: New file.
41474         * m4/cbrtl.m4: New file.
41475         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
41476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
41477         HAVE_DECL_CBRTL.
41478         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
41479         HAVE_DECL_CBRTL.
41480         * modules/cbrtl: New file.
41481         * tests/test-math-c++.cc: Check the declaration of cbrtl.
41482         * doc/posix-functions/cbrtl.texi: Mention the new module.
41484 2012-02-29  Bruno Haible  <bruno@clisp.org>
41486         Tests for module 'cbrtf'.
41487         * modules/cbrtf-tests: New file.
41488         * tests/test-cbrtf.c: New file.
41490         New module 'cbrtf'.
41491         * lib/math.in.h (cbrtf): New declaration.
41492         * lib/cbrtf.c: New file.
41493         * m4/cbrtf.m4: New file.
41494         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
41495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
41496         HAVE_DECL_CBRTF.
41497         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
41498         HAVE_DECL_CBRTF.
41499         * modules/cbrtf: New file.
41500         * tests/test-math-c++.cc: Check the declaration of cbrtf.
41501         * doc/posix-functions/cbrtf.texi: Mention the new module.
41503 2012-02-29  Bruno Haible  <bruno@clisp.org>
41505         cbrt: Provide replacement on MSVC and Minix.
41506         * lib/math.in.h (cbrt): New declaration.
41507         * lib/cbrt.c: New file.
41508         * m4/cbrt.m4: New file.
41509         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
41510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
41511         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
41512         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
41513         (Depends-on): Add dependencies.
41514         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
41515         * tests/test-math-c++.cc: Check the declaration of cbrt.
41516         * doc/posix-functions/cbrt.texi: Mention that the module provides a
41517         replacement.
41519 2012-02-29  Bruno Haible  <bruno@clisp.org>
41521         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
41522         * m4/hypotl-ieee.m4: New file.
41523         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
41524         test whether hypotl works with mixed NaN and Infinity arguments.
41525         Replace it if not.
41526         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
41527         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
41528         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
41529         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
41530         (Depends-on): Update conditions.
41531         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
41532         (Depends-on): Add hypot-ieee.
41533         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
41534         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
41536         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
41537         * m4/hypotf-ieee.m4: New file.
41538         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
41539         test whether hypotf works with mixed NaN and Infinity arguments.
41540         Replace it if not.
41541         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
41542         (Depends-on): Add hypot-ieee.
41543         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
41544         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
41546         hypot-ieee: Work around test failure on OSF/1 and native Windows.
41547         * lib/math.in.h (hypot): New declaration.
41548         * lib/hypot.c: New file.
41549         * m4/hypot-ieee.m4: New file.
41550         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
41551         whether hypot works with mixed NaN and Infinity arguments. Replace it
41552         if not.
41553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
41554         REPLACE_HYPOT.
41555         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
41556         * modules/hypot (Files): Add lib/hypot.c.
41557         (Depends-on): Add dependencies.
41558         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
41559         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
41560         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
41561         * tests/test-math-c++.cc: Check the declaration of hypot.
41562         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
41564         Tests for module 'hypotl-ieee'.
41565         * modules/hypotl-ieee-tests: New file.
41566         * tests/test-hypotl-ieee.c: New file.
41568         New module 'hypotl-ieee'.
41569         * modules/hypotl-ieee: New file.
41571         Tests for module 'hypot-ieee'.
41572         * modules/hypot-ieee-tests: New file.
41573         * tests/test-hypot-ieee.c: New file.
41575         New module 'hypot-ieee'.
41576         * modules/hypot-ieee: New file.
41578         Tests for module 'hypotf-ieee'.
41579         * modules/hypotf-ieee-tests: New file.
41580         * tests/test-hypotf-ieee.c: New file.
41581         * tests/test-hypot-ieee.h: New file.
41583         New module 'hypotf-ieee'.
41584         * modules/hypotf-ieee: New file.
41586 2012-02-29  Bruno Haible  <bruno@clisp.org>
41588         Remove unused variables.
41589         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
41590         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41591         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
41592         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41594 2012-02-29  Eric Blake  <eblake@redhat.com>
41596         termios: fix pid_t always, not just for tcgetsid
41597         * doc/posix-headers/termios.texi (termios.h): Mention problem.
41598         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
41599         just when building tcgetsid.
41601 2012-02-29  Bruno Haible  <bruno@clisp.org>
41603         Tests for module 'hypotl'.
41604         * modules/hypotl-tests: New file.
41605         * tests/test-hypotl.c: New file.
41607         New module 'hypotl'.
41608         * lib/math.in.h (hypotl): New declaration.
41609         * lib/hypotl.c: New file.
41610         * m4/hypotl.m4: New file.
41611         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41612         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
41613         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
41614         * modules/hypotl: New file.
41615         * tests/test-math-c++.cc: Check the hypotl declaration.
41616         * doc/posix-functions/hypotl.texi: Mention the new module.
41618 2012-02-29  Eric Blake  <eblake@redhat.com>
41620         tcgetsid: fix cygwin header bug
41621         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
41623         docs: update cygwin progress
41624         * doc/posix-functions/llround.texi (llround): Added in cygwin
41625         1.7.8.
41626         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
41627         * doc/glibc-functions/program_invocation_name.texi
41628         (program_invocation_name): Likewise.
41629         * doc/glibc-functions/program_invocation_short_name.texi
41630         (program_invocation_short_name): Likewise.
41631         * doc/glibc-functions/madvise.texi (madvise): Likewise.
41632         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
41633         Likewise.
41634         * doc/posix-functions/pthread_spin_destroy.texi
41635         (pthread_spin_destroy): Added in cygwin 1.7.10.
41636         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
41637         Likewise.
41638         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
41639         Likewise.
41640         * doc/posix-functions/pthread_spin_trylock.texi
41641         (pthread_spin_trylock): Likewise.
41642         * doc/posix-functions/pthread_spin_unlock.texi
41643         (pthread_spin_unlock): Likewise.
41644         * doc/posix-functions/pthread_setschedprio.texi
41645         (pthread_setschedprio): Likewise.
41646         * doc/posix-functions/pthread_attr_getstack.texi
41647         (pthread_attr_getstack): Likewise.
41648         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
41649         (pthread_attr_getstackaddr): Likewise.
41650         * doc/glibc-functions/pthread_getattr_np.texi
41651         (pthread_getattr_np): Likewise.
41652         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
41653         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
41654         * doc/posix-functions/clock_settime.texi (clock_settime):
41655         Likewise.
41656         * doc/posix-functions/pthread_attr_getguardsize.texi
41657         (pthread_attr_getguardsize): Likewise.
41658         * doc/posix-functions/pthread_attr_setguardsize.texi
41659         (pthread_attr_setguardsize): Likewise.
41660         * doc/posix-functions/pthread_attr_setstack.texi
41661         (pthread_attr_setstack): Likewise.
41662         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
41663         (pthread_attr_setstackaddr): Likewise.
41664         * doc/posix-functions/clock_getcpuclockid.texi
41665         (clock_getcpuclockid): Likewise.
41666         * doc/posix-functions/pthread_getcpuclockid.texi
41667         (pthread_getcpuclockid): Likewise.
41668         * doc/glibc-functions/error.texi (error): Likewise.
41669         * doc/glibc-functions/error_at_line.texi (error_at_line):
41670         Likewise.
41671         * doc/glibc-functions/error_message_count.texi
41672         (error_message_count): Likewise.
41673         * doc/glibc-functions/error_one_per_line.texi
41674         (error_one_per_line): Likewise.
41675         * doc/glibc-functions/error_print_progname.texi
41676         (error_print_progname): Likewise.
41677         * doc/posix-functions/pthread_condattr_getclock.texi
41678         (pthread_condattr_getclock): Likewise.
41679         * doc/posix-functions/pthread_condattr_setclock.texi
41680         (pthread_condattr_setclock): Likewise.
41681         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
41682         Likewise.
41683         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
41684         * doc/glibc-functions/getpt.texi (getpt): Likewise.
41685         * doc/glibc-functions/get_current_dir_name.texi
41686         (get_current_dir_name): Likewise.
41687         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
41688         Likewise.
41689         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
41690         wrong return type.
41691         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
41692         1.7.11.
41694 2012-02-29  Bruno Haible  <bruno@clisp.org>
41696         Tests for module 'hypotf'.
41697         * modules/hypotf-tests: New file.
41698         * tests/test-hypotf.c: New file.
41700         New module 'hypotf'.
41701         * lib/math.in.h (hypotf): New declaration.
41702         * lib/hypotf.c: New file.
41703         * m4/hypotf.m4: New file.
41704         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
41706         REPLACE_HYPOTF.
41707         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
41708         REPLACE_HYPOTF.
41709         * modules/hypotf: New file.
41710         * tests/test-math-c++.cc: Check the hypotf declaration.
41711         * doc/posix-functions/hypotf.texi: Mention the new module.
41713         hypot: Prepare for hypotf module.
41714         * m4/hypot.m4: New file.
41715         * modules/hypot (Files): Add m4/hypot.m4.
41716         (configure.ac): Invoke gl_FUNC_HYPOT.
41718 2012-02-29  Bruno Haible  <bruno@clisp.org>
41720         hypot tests: More tests.
41721         * tests/test-hypot.c: Include <float.h>.
41722         (main): Add tests about overflow and underflow.
41724 2012-02-29  Bruno Haible  <bruno@clisp.org>
41726         math code: Add comments.
41727         * lib/acosl.c: Add comment about related glibc source files.
41728         * lib/asinl.c: Likewise.
41729         * lib/atanl.c: Likewise.
41730         * lib/expl.c: Likewise.
41731         * lib/logl.c: Likewise.
41732         * lib/sincosl.c: Likewise.
41733         * lib/sinl.c: Likewise.
41734         * lib/tanl.c: Likewise.
41735         * lib/trigl.c: Likewise.
41736         * lib/cosl.c: Likewise. Fix comments.
41738 2012-02-28  Bruno Haible  <bruno@clisp.org>
41740         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
41741         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
41742         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
41743         HUGE_VALL are defined.
41744         (numeric_equald): Renamed from numeric_equal.
41745         (numeric_equalf, numeric_equall): New functions.
41746         (main): Check also HUGE_VALF, HUGE_VALL.
41747         * modules/math-tests (Files): Add tests/macros.h.
41748         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
41749         HUGE_VALL.
41751 2012-02-28  Bruno Haible  <bruno@clisp.org>
41753         doc: Move ISO C11 feature notes into POSIX chapters.
41754         * doc/posix-functions/aligned_alloc.texi: Renamed from
41755         doc/glibc-functions/aligned_alloc.texi.
41756         * doc/posix-functions/quick_exit.texi: Renamed from
41757         doc/glibc-functions/quick_exit.texi.
41758         * doc/posix-headers/uchar.texi: Renamed from
41759         doc/glibc-headers/uchar.texi.
41760         * doc/posix-functions/c16rtomb.texi: Renamed from
41761         doc/glibc-functions/c16rtomb.texi.
41762         * doc/posix-functions/c32rtomb.texi: Renamed from
41763         doc/glibc-functions/c32rtomb.texi.
41764         * doc/posix-functions/mbrtoc16.texi: Renamed from
41765         doc/glibc-functions/mbrtoc16.texi.
41766         * doc/posix-functions/mbrtoc32.texi: Renamed from
41767         doc/glibc-functions/mbrtoc32.texi.
41768         * doc/gnulib.texi: Update.
41769         (Glibc uchar.h): Remove section.
41770         Suggested by Eric Blake.
41772 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
41774         stdnoreturn: port to MSVC better
41775         MSVC standard headers use __declspec(noreturn), so #define noreturn
41776         to empty on that platform.  Reported by Bruno Haible in
41777         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
41778         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
41779         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
41781 2012-02-28  Bruno Haible  <bruno@clisp.org>
41783         doc: Mention new glibc headers and functions.
41784         * doc/glibc-headers/uchar.texi: New file.
41785         * doc/glibc-functions/aligned_alloc.texi: New file.
41786         * doc/glibc-functions/c16rtomb.texi: New file.
41787         * doc/glibc-functions/c32rtomb.texi: New file.
41788         * doc/glibc-functions/clock_adjtime.texi: New file.
41789         * doc/glibc-functions/fanotify_init.texi: New file.
41790         * doc/glibc-functions/fanotify_mark.texi: New file.
41791         * doc/glibc-functions/inet6_opt_append.texi: New file.
41792         * doc/glibc-functions/inet6_opt_find.texi: New file.
41793         * doc/glibc-functions/inet6_opt_finish.texi: New file.
41794         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
41795         * doc/glibc-functions/inet6_opt_init.texi: New file.
41796         * doc/glibc-functions/inet6_opt_next.texi: New file.
41797         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
41798         * doc/glibc-functions/inet6_rth_add.texi: New file.
41799         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
41800         * doc/glibc-functions/inet6_rth_init.texi: New file.
41801         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
41802         * doc/glibc-functions/inet6_rth_segments.texi: New file.
41803         * doc/glibc-functions/inet6_rth_space.texi: New file.
41804         * doc/glibc-functions/login.texi: New file.
41805         * doc/glibc-functions/mbrtoc16.texi: New file.
41806         * doc/glibc-functions/mbrtoc32.texi: New file.
41807         * doc/glibc-functions/name_to_handle_at.texi: New file.
41808         * doc/glibc-functions/ntp_gettimex.texi: New file.
41809         * doc/glibc-functions/open_by_handle_at.texi: New file.
41810         * doc/glibc-functions/prlimit.texi: New file.
41811         * doc/glibc-functions/process_vm_readv.texi: New file.
41812         * doc/glibc-functions/process_vm_writev.texi: New file.
41813         * doc/glibc-functions/recvmmsg.texi: New file.
41814         * doc/glibc-functions/scandirat.texi: New file.
41815         * doc/glibc-functions/sendmmsg.texi: New file.
41816         * doc/glibc-functions/setns.texi: New file.
41817         * doc/glibc-functions/timespec_get.texi: New file.
41818         * doc/gnulib.texi: Include them.
41819         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
41820         sections.
41821         Reported by Eric Blake.
41823 2012-02-28  Bruno Haible  <bruno@clisp.org>
41825         Avoid compilation errors with MSVC option -fp:strict.
41826         * lib/floor.c: Use MSVC specific pragma fenv_access.
41827         * lib/ceil.c: Likewise.
41828         * lib/trunc.c: Likewise.
41829         * lib/round.c: Likewise.
41830         * lib/rint.c: Likewise.
41831         * lib/fma.c: Likewise.
41832         * lib/integer_length.c: Likewise.
41833         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41834         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41835         * tests/test-floor2.c: Likewise.
41836         * tests/test-floorf2.c: Likewise.
41837         * tests/test-ceil2.c: Likewise.
41838         * tests/test-ceilf2.c: Likewise.
41839         * tests/test-trunc2.c: Likewise.
41840         * tests/test-truncf2.c: Likewise.
41841         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41843 2012-02-27  Bruno Haible  <bruno@clisp.org>
41845         Tests for module 'sqrtl-ieee'.
41846         * modules/sqrtl-ieee-tests: New file.
41847         * tests/test-sqrtl-ieee.c: New file.
41849         New module 'sqrtl-ieee'.
41850         * modules/sqrtl-ieee: New file.
41852         Tests for module 'sqrt-ieee'.
41853         * modules/sqrt-ieee-tests: New file.
41854         * tests/test-sqrt-ieee.c: New file.
41856         New module 'sqrt-ieee'.
41857         * modules/sqrt-ieee: New file.
41859         Tests for module 'sqrtf-ieee'.
41860         * modules/sqrtf-ieee-tests: New file.
41861         * tests/test-sqrtf-ieee.c: New file.
41862         * tests/test-sqrt-ieee.h: New file.
41864         New module 'sqrtf-ieee'.
41865         * modules/sqrtf-ieee: New file.
41867 2012-02-27  Bruno Haible  <bruno@clisp.org>
41869         remainderl-ieee: Work around test failure on OSF/1.
41870         * m4/remainderl-ieee.m4: New file.
41871         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
41872         present, test whether remainderl works with a zero second argument.
41873         Replace it if not.
41874         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
41875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
41876         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
41877         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
41878         (Depends-on): Update conditions.
41879         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
41880         (Depends-on): Add remainder-ieee.
41881         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
41882         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
41883         module.
41885         remainderf-ieee: Work around test failure on OSF/1.
41886         * m4/remainderf-ieee.m4: New file.
41887         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
41888         present, test whether remainderf works with a zero second argument.
41889         Replace it if not.
41890         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
41891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
41892         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
41893         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
41894         (Depends-on): Update conditions.
41895         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
41896         (Depends-on): Add remainder-ieee.
41897         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
41898         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
41899         module.
41901         remainder-ieee: Work around test failure on OSF/1.
41902         * m4/remainder-ieee.m4: New file.
41903         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
41904         present, test whether remainder works with a zero second argument.
41905         Replace it if not.
41906         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
41907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
41908         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
41909         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
41910         (Depends-on): Update dependencies.
41911         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
41912         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
41913         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
41915         Tests for module 'remainderl-ieee'.
41916         * modules/remainderl-ieee-tests: New file.
41917         * tests/test-remainderl-ieee.c: New file.
41919         New module 'remainderl-ieee'.
41920         * modules/remainderl-ieee: New file.
41922         Tests for module 'remainder-ieee'.
41923         * modules/remainder-ieee-tests: New file.
41924         * tests/test-remainder-ieee.c: New file.
41926         New module 'remainder-ieee'.
41927         * modules/remainder-ieee: New file.
41929         Tests for module 'remainderf-ieee'.
41930         * modules/remainderf-ieee-tests: New file.
41931         * tests/test-remainderf-ieee.c: New file.
41932         * tests/test-remainder-ieee.h: New file.
41934         New module 'remainderf-ieee'.
41935         * modules/remainderf-ieee: New file.
41937 2012-02-27  Bruno Haible  <bruno@clisp.org>
41939         modff, modfl: Fix configure syntax error.
41940         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
41941         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41943 2012-02-27  Bruno Haible  <bruno@clisp.org>
41945         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
41946         * m4/fmodl-ieee.m4: New file.
41947         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
41948         whether fmodl works with zero arguments. Replace it if not.
41949         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
41950         (Depends-on): Add fmod-ieee.
41951         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
41952         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
41954         fmodf-ieee: Work around test failure on OSF/1.
41955         * m4/fmodf-ieee.m4: New file.
41956         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
41957         whether fmodf works with zero arguments. Replace it if not.
41958         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
41959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
41960         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
41961         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
41962         (Depends-on): Update dependencies.
41963         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
41964         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
41965         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
41967         fmodf-ieee: Work around test failure on MSVC 9.
41968         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
41969         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
41971         fmod-ieee: Work around test failures on OSF/1, mingw.
41972         * m4/fmod-ieee.m4: New file.
41973         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
41974         whether fmod works with zero arguments. Replace it if not.
41975         * lib/math.in.h (fmod): New declaration.
41976         * lib/fmod.c: New file.
41977         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
41978         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
41979         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
41980         * modules/fmod (Files): Add lib/fmod.c.
41981         (Depends-on): Add math, isinf, trunc, fma.
41982         (configure.ac): Arrange to compile lib/fmod.c if needed.
41983         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
41984         m4/signbit.m4.
41985         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
41986         * tests/test-math-c++.cc: Check the declaration of fmod.
41987         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
41989         fmodl-ieee: Fix test failures.
41990         * lib/fmodl.c (fmodl): Treat Inf specially.
41991         * modules/fmodl (Depends-on): Add isinf.
41993         Tests for module 'fmodl-ieee'.
41994         * modules/fmodl-ieee-tests: New file.
41995         * tests/test-fmodl-ieee.c: New file.
41997         New module 'fmodl-ieee'.
41998         * modules/fmodl-ieee: New file.
42000         Tests for module 'fmod-ieee'.
42001         * modules/fmod-ieee-tests: New file.
42002         * tests/test-fmod-ieee.c: New file.
42004         New module 'fmod-ieee'.
42005         * modules/fmod-ieee: New file.
42007         Tests for module 'fmodf-ieee'.
42008         * modules/fmodf-ieee-tests: New file.
42009         * tests/test-fmodf-ieee.c: New file.
42010         * tests/test-fmod-ieee.h: New file.
42012         New module 'fmodf-ieee'.
42013         * modules/fmodf-ieee: New file.
42015 2012-02-27  Bruno Haible  <bruno@clisp.org>
42017         Tests for module 'rintl-ieee'.
42018         * modules/rintl-ieee-tests: New file.
42019         * tests/test-rintl-ieee.c: New file.
42021         New module 'rintl-ieee'.
42022         * modules/rintl-ieee: New file.
42024         Tests for module 'rint-ieee'.
42025         * modules/rint-ieee-tests: New file.
42026         * tests/test-rint-ieee.c: New file.
42028         New module 'rint-ieee'.
42029         * modules/rint-ieee: New file.
42031         Tests for module 'rintf-ieee'.
42032         * modules/rintf-ieee-tests: New file.
42033         * tests/test-rintf-ieee.c: New file.
42034         * tests/test-rint-ieee.h: New file.
42036         New module 'rintf-ieee'.
42037         * modules/rintf-ieee: New file.
42039 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42041         regex: re_search etc. should return -2 when memory exhausted
42042         This bug was uncovered when testing 'grep'.  Without the fix,
42043         re_search and friends return -1 when memory is exhausted, but -1
42044         means no match, and this causes grep to falsely report no-match
42045         instead of memory-exhaustion.  See
42046         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
42047         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
42048         trouble; this can occur if re_search_internal ran out of memory.
42050 2012-02-26  Bruno Haible  <bruno@clisp.org>
42052         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
42053         * m4/modfl-ieee.m4: New file.
42054         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
42055         whether modfl works with Inf. Replace it if not.
42056         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
42057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
42058         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
42059         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
42060         (Depends-on): Update dependencies.
42061         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
42062         m4/signbit.m4.
42063         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
42064         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
42066         modfl-ieee: Fix dependencies.
42067         * modules/modfl-ieee (Depends-on): Add modf-ieee.
42069         modfl-ieee: Fix test failures.
42070         * lib/modfl.c (modfl): Treat NaN and Inf specially.
42071         * modules/modfl (Depends-on): Add isfinite, isinf.
42073         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
42074         * m4/modff-ieee.m4: New file.
42075         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
42076         whether modff works with NaN and Inf. Replace it if not.
42077         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
42078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
42079         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
42080         * modules/modff (configure.ac): Consider REPLACE_MODFF.
42081         (Depends-on): Update dependencies.
42082         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
42083         m4/signbit.m4.
42084         (Depends-on): Add modf-ieee.
42085         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
42086         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
42088         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
42089         * m4/modf-ieee.m4: New file.
42090         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
42091         whether modf works with NaN and Inf. Replace it if not.
42092         * lib/math.in.h (modf): New declaration.
42093         * lib/modf.c: New file.
42094         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
42095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
42096         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
42097         * modules/modf (Files): Add lib/modf.c.
42098         (Depends-on): Add math, isfinite, trunc, isinf.
42099         (configure.ac): Addrange to compile lib/modf.c if needed.
42100         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
42101         m4/signbit.m4.
42102         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
42103         * tests/test-math-c++.cc: Check the declaration of modf.
42104         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
42106         Tests for module 'modfl-ieee'.
42107         * modules/modfl-ieee-tests: New file.
42108         * tests/test-modfl-ieee.c: New file.
42110         New module 'modfl-ieee'.
42111         * modules/modfl-ieee: New file.
42113         Tests for module 'modf-ieee'.
42114         * modules/modf-ieee-tests: New file.
42115         * tests/test-modf-ieee.c: New file.
42117         New module 'modf-ieee'.
42118         * modules/modf-ieee: New file.
42120         Tests for module 'modff-ieee'.
42121         * modules/modff-ieee-tests: New file.
42122         * tests/test-modff-ieee.c: New file.
42123         * tests/test-modf-ieee.h: New file.
42125         New module 'modff-ieee'.
42126         * modules/modff-ieee: New file.
42128 2012-02-26  Bruno Haible  <bruno@clisp.org>
42130         Tests for module 'fabsl-ieee'.
42131         * modules/fabsl-ieee-tests: New file.
42132         * tests/test-fabsl-ieee.c: New file.
42134         New module 'fabsl-ieee'.
42135         * modules/fabsl-ieee: New file.
42137         Tests for module 'fabs-ieee'.
42138         * modules/fabs-ieee-tests: New file.
42139         * tests/test-fabs-ieee.c: New file.
42141         New module 'fabs-ieee'.
42142         * modules/fabs-ieee: New file.
42144         Tests for module 'fabsf-ieee'.
42145         * modules/fabsf-ieee-tests: New file.
42146         * tests/test-fabsf-ieee.c: New file.
42147         * tests/test-fabs-ieee.h: New file.
42149         New module 'fabsf-ieee'.
42150         * modules/fabsf-ieee: New file.
42152 2012-02-26  Bruno Haible  <bruno@clisp.org>
42154         Tests for module 'fmal-ieee'.
42155         * modules/fmal-ieee-tests: New file.
42156         * tests/test-fmal-ieee.c: New file.
42158         New module 'fmal-ieee'.
42159         * modules/fmal-ieee: New file.
42161         Tests for module 'fma-ieee'.
42162         * modules/fma-ieee-tests: New file.
42163         * tests/test-fma-ieee.c: New file.
42165         New module 'fma-ieee'.
42166         * modules/fma-ieee: New file.
42168         Tests for module 'fmaf-ieee'.
42169         * modules/fmaf-ieee-tests: New file.
42170         * tests/test-fmaf-ieee.c: New file.
42171         * tests/test-fma-ieee.h: New file.
42173         New module 'fmaf-ieee'.
42174         * modules/fmaf-ieee: New file.
42176 2012-02-26  Bruno Haible  <bruno@clisp.org>
42178         Tests for module 'ldexpl-ieee'.
42179         * modules/ldexpl-ieee-tests: New file.
42180         * tests/test-ldexpl-ieee.c: New file.
42182         New module 'ldexpl-ieee'.
42183         * modules/ldexpl-ieee: New file.
42185         Tests for module 'ldexp-ieee'.
42186         * modules/ldexp-ieee-tests: New file.
42187         * tests/test-ldexp-ieee.c: New file.
42189         New module 'ldexp-ieee'.
42190         * modules/ldexp-ieee: New file.
42192         Tests for module 'ldexpf-ieee'.
42193         * modules/ldexpf-ieee-tests: New file.
42194         * tests/test-ldexpf-ieee.c: New file.
42195         * tests/test-ldexp-ieee.h: New file.
42197         New module 'ldexpf-ieee'.
42198         * modules/ldexpf-ieee: New file.
42200 2012-02-26  Bruno Haible  <bruno@clisp.org>
42202         Refactor frexp*-ieee tests.
42203         * tests/test-frexp-ieee.h: New file.
42204         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
42205         (main): Just call test_function.
42206         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
42207         (main): Just call test_function.
42208         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
42209         (main): Just call test_function.
42210         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
42211         * modules/frexp-ieee-tests (Files): Likewise.
42212         * modules/frexpl-ieee-tests (Files): Likewise.
42214         Tests for module 'frexpl-ieee'.
42215         * modules/frexpl-ieee-tests: New file.
42216         * tests/test-frexpl-ieee.c: New file.
42218         New module 'frexpl-ieee'.
42219         * modules/frexpl-ieee: New file.
42221         Tests for module 'frexp-ieee'.
42222         * modules/frexp-ieee-tests: New file.
42223         * tests/test-frexp-ieee.c: New file.
42225         New module 'frexp-ieee'.
42226         * modules/frexp-ieee: New file.
42228         Tests for module 'frexpf-ieee'.
42229         * modules/frexpf-ieee-tests: New file.
42230         * tests/test-frexpf-ieee.c: New file.
42232         New module 'frexpf-ieee'.
42233         * modules/frexpf-ieee: New file.
42235 2012-02-26  Bruno Haible  <bruno@clisp.org>
42237         roundl-ieee tests: More tests.
42238         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42239         (main): Add tests for [MX] shaded specification in POSIX.
42240         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42241         (Depends-on): Add isnanl-nolibm.
42243         round-ieee tests: More tests.
42244         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42245         (main): Add tests for [MX] shaded specification in POSIX.
42246         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42247         (Depends-on): Add isnand-nolibm.
42249         roundf-ieee tests: More tests.
42250         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42251         (main): Add tests for [MX] shaded specification in POSIX.
42252         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42253         (Depends-on): Add isnanf-nolibm.
42255         truncl-ieee tests: More tests.
42256         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42257         (main): Add tests for [MX] shaded specification in POSIX.
42258         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42259         (Depends-on): Add isnanl-nolibm.
42261         trunc-ieee tests: More tests.
42262         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42263         (main): Add tests for [MX] shaded specification in POSIX.
42264         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42265         (Depends-on): Add isnand-nolibm.
42267         truncf-ieee tests: More tests.
42268         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42269         (main): Add tests for [MX] shaded specification in POSIX.
42270         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42271         (Depends-on): Add isnanf-nolibm.
42273         ceill-ieee tests: More tests.
42274         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42275         (main): Add tests for [MX] shaded specification in POSIX.
42276         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42277         (Depends-on): Add isnanl-nolibm.
42279         ceil-ieee tests: More tests.
42280         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42281         (main): Add tests for [MX] shaded specification in POSIX.
42282         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42283         (Depends-on): Add isnand-nolibm.
42285         ceilf-ieee tests: More tests.
42286         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42287         (main): Add tests for [MX] shaded specification in POSIX.
42288         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42289         (Depends-on): Add isnanf-nolibm.
42291         floorl-ieee tests: More tests.
42292         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42293         (main): Add tests for [MX] shaded specification in POSIX.
42294         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42295         (Depends-on): Add isnanl-nolibm.
42297         floor-ieee tests: More tests.
42298         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42299         (main): Add tests for [MX] shaded specification in POSIX.
42300         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42301         (Depends-on): Add isnand-nolibm.
42303         floorf-ieee tests: More tests.
42304         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42305         (main): Add tests for [MX] shaded specification in POSIX.
42306         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42307         (Depends-on): Add isnanf-nolibm.
42309 2012-02-26  Bruno Haible  <bruno@clisp.org>
42311         fpieee: More comments.
42312         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
42314 2012-02-25  Bruno Haible  <bruno@clisp.org>
42316         Tests for module 'log10l'.
42317         * modules/log10l-tests: New file.
42318         * tests/test-log10l.c: New file.
42319         * tests/test-math-c++.cc: Check the declaration of log10l.
42321         New module 'log10l'.
42322         * lib/math.in.h (log10l): New declaration.
42323         * lib/log10l.c: New file.
42324         * m4/log10l.m4: New file.
42325         * modules/log10l: New file.
42326         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
42327         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
42328         HAVE_DECL_LOG10L.
42329         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
42330         HAVE_DECL_LOG10L.
42331         * doc/posix-functions/log10l.texi: Mention the new module.
42333 2012-02-25  Bruno Haible  <bruno@clisp.org>
42335         fmodl, remainder*: Avoid wrong results due to rounding errors.
42336         * lib/fmodl.c (fmodl): Correct the result if it is not within the
42337         expected bounds.
42338         * lib/remainderf.c (remainderf): Likewise.
42339         * lib/remainder.c (remainder): Likewise.
42340         * lib/remainderl.c (remainderl): Likewise.
42342 2012-02-25  Bruno Haible  <bruno@clisp.org>
42344         Tests for module 'remainderl'.
42345         * modules/remainderl-tests: New file.
42346         * tests/test-remainderl.c: New file.
42347         * tests/test-math-c++.cc: Check the declaration of remainderl.
42349         New module 'remainderl'.
42350         * lib/math.in.h (remainderl): New declaration.
42351         * lib/remainderl.c: New file.
42352         * m4/remainderl.m4: New file.
42353         * modules/remainderl: New file.
42354         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
42355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
42356         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
42357         HAVE_REMAINDERL.
42358         * doc/posix-functions/remainderl.texi: Mention the new module.
42360 2012-02-25  Bruno Haible  <bruno@clisp.org>
42362         Tests for module 'remainderf'.
42363         * modules/remainderf-tests: New file.
42364         * tests/test-remainderf.c: New file.
42365         * tests/test-math-c++.cc: Check the declaration of remainderf.
42367         New module 'remainderf'.
42368         * lib/math.in.h (remainderf): New declaration.
42369         * lib/remainderf.c: New file.
42370         * m4/remainderf.m4: New file.
42371         * modules/remainderf: New file.
42372         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
42373         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
42374         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
42375         HAVE_REMAINDERF.
42376         * doc/posix-functions/remainderf.texi: Mention the new module.
42378 2012-02-25  Bruno Haible  <bruno@clisp.org>
42380         remainder: Support for MSVC.
42381         * lib/math.in.h (remainder): New declaration.
42382         * lib/remainder.c: New file.
42383         * m4/remainder.m4: New file.
42384         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
42385         (Depends-on): Add math, round, fma.
42386         (configure.ac): Use results of gl_FUNC_REMAINDER.
42387         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
42388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
42389         HAVE_DECL_REMAINDER.
42390         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
42391         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
42392         * tests/test-math-c++.cc: Check the declaration of remainder.
42393         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
42394         problems are fixed.
42396 2012-02-25  Bruno Haible  <bruno@clisp.org>
42398         Tests for module 'fmodl'.
42399         * modules/fmodl-tests: New file.
42400         * tests/test-fmodl.c: New file.
42401         * tests/test-math-c++.cc: Check the declaration of fmodl.
42403         New module 'fmodl'.
42404         * lib/math.in.h (fmodl): New declaration.
42405         * lib/fmodl.c: New file.
42406         * m4/fmodl.m4: New file.
42407         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
42408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
42409         REPLACE_FMODL.
42410         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
42411         REPLACE_FMODL.
42412         * modules/fmodl: New file.
42413         * doc/posix-functions/fmodl.texi: Mention the new module.
42415 2012-02-25  Bruno Haible  <bruno@clisp.org>
42417         Tests for module 'modfl'.
42418         * modules/modfl-tests: New file.
42419         * tests/test-modfl.c: New file.
42420         * tests/test-math-c++.cc: Check the declaration of modfl.
42422         New module 'modfl'.
42423         * lib/math.in.h (modfl): New declaration.
42424         * lib/modfl.c: New file.
42425         * m4/modfl.m4: New file.
42426         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
42427         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
42428         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
42429         * modules/modfl: New file.
42430         * doc/posix-functions/modfl.texi: Mention the new module.
42432 2012-02-25  Bruno Haible  <bruno@clisp.org>
42434         Tests for module 'fabsl'.
42435         * modules/fabsl-tests: New file.
42436         * tests/test-fabsl.c: New file.
42437         * tests/test-math-c++.cc: Check the declaration of fabsl.
42439         New module 'fabsl'.
42440         * lib/math.in.h (fabsl): New declaration.
42441         * lib/fabsl.c: New file.
42442         * m4/fabsl.m4: New file.
42443         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
42444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
42445         REPLACE_FABSL.
42446         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
42447         REPLACE_FABSL.
42448         * modules/fabsl: New file.
42449         * doc/posix-functions/fabsl.texi: Mention the new module.
42451 2012-02-25  Bruno Haible  <bruno@clisp.org>
42453         fabs tests: More tests.
42454         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
42455         (zero): New variable.
42456         (main): Add tests for signed zero.
42457         * modules/fabs-tests (Files): Add tests/minus-zero.h.
42459         fabsf tests: More tests.
42460         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
42461         (zero): New variable.
42462         (main): Add tests for signed zero.
42463         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
42465 2012-02-24  Bruno Haible  <bruno@clisp.org>
42467         atanl: Provide function definition on MSVC.
42468         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
42469         function pointer.
42470         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
42472 2012-02-24  Bruno Haible  <bruno@clisp.org>
42474         acosl: Provide function definition on MSVC.
42475         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
42476         function pointer.
42477         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
42479 2012-02-24  Bruno Haible  <bruno@clisp.org>
42481         asinl: Provide function definition on MSVC.
42482         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
42483         function pointer.
42484         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
42486 2012-02-24  Bruno Haible  <bruno@clisp.org>
42488         tanl: Provide function definition on MSVC.
42489         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
42490         function pointer.
42491         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42493 2012-02-24  Bruno Haible  <bruno@clisp.org>
42495         cosl: Provide function definition on MSVC.
42496         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
42497         function pointer.
42498         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
42500 2012-02-24  Bruno Haible  <bruno@clisp.org>
42502         sinl: Provide function definition on MSVC.
42503         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
42504         function pointer.
42505         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
42507 2012-02-24  Bruno Haible  <bruno@clisp.org>
42509         logl: Provide function definition on MSVC.
42510         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
42511         function pointer.
42512         * lib/math.in.h (logl): Undefine if it does not exist as a function.
42514 2012-02-24  Bruno Haible  <bruno@clisp.org>
42516         expl: Provide function definition on MSVC.
42517         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
42518         function pointer.
42519         * lib/math.in.h (expl): Undefine if it does not exist as a function.
42521 2012-02-24  Bruno Haible  <bruno@clisp.org>
42523         sqrtl: Provide function definition on MSVC.
42524         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
42525         a function pointer.
42526         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
42528 2012-02-24  Bruno Haible  <bruno@clisp.org>
42530         ceill: Provide function definition on MSVC.
42531         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
42532         used as a function pointer.
42533         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
42535 2012-02-24  Bruno Haible  <bruno@clisp.org>
42537         floorl: Provide function definition on MSVC.
42538         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
42539         used as a function pointer.
42540         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
42542 2012-02-24  Bruno Haible  <bruno@clisp.org>
42544         ceilf: Provide function definition on MSVC.
42545         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
42546         used as a function pointer.
42547         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
42549 2012-02-24  Bruno Haible  <bruno@clisp.org>
42551         floorf: Provide function definition on MSVC.
42552         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
42553         used as a function pointer.
42554         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
42556 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42558         stdnoreturn: new module
42559         This implements a replacement for C11's <stdnoreturn.h>.
42560         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
42561         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
42562         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
42563         * tests/test-stdnoreturn.c: New files.
42565 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
42567         regex: fix false multibyte matches in some regular expressions
42568         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
42569         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
42570         * lib/regex_internal.c (re_string_skip_chars):
42571         Fix miscomputation of remain_len that may cause incomplete
42572         multi-byte character and false match.
42574 2012-02-24  Jim Meyering  <meyering@redhat.com>
42576         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
42577         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
42578         uses with "==" *before* the call, e.g., 0 == strcmp (...)
42579         Remove now-unnecessary str''cmp obfuscation.
42580         Suggested by Akim Demaille.
42582 2012-02-24  Bruno Haible  <bruno@clisp.org>
42584         streq: Rename macro.
42585         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
42586         * NEWS: Mention the change.
42587         * lib/mbrtowc.c (mbrtowc): Update.
42588         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
42589         * lib/wcwidth.c (wcwidth): Update.
42590         Suggested by Akim Demaille and Jim Meyering.
42592 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42594         regex: fix typo in definition of MIN
42595         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
42596         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42598 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42599             Bruno Haible  <bruno@clisp.org>
42601         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
42602         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
42603         entries into a stack-allocated buffer directly.
42604         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
42606 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42607             Bruno Haible  <bruno@clisp.org>
42609         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
42611          - There were several instances of this pattern:
42613              for (;;) {
42614                n = acl (f, GETACLCNT, 0, NULL);
42615                [ allocate an array A of size N ]
42616                if (acl (f, GETACL, n, a) == n)
42617                  break;
42618              }
42620            This loop might never terminate if some other process is constantly
42621            manipulating the file's ACL.  The loop should be rewritten to
42622            terminate.
42624          - The acl (... GETACLNT ...) call is merely an optimization; its value
42625            is merely a hint as to how big to make the array.  A better
42626            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
42627            and just guess a reasonably-big size, growing the size and trying
42628            again if it's not large enough.  This guarantees termination, and
42629            saves a system call.
42631         * lib/acl-internal.h: Include <limits.h>.
42632         (MIN, SIZE_MAX): New macros.
42633         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
42634         a stack-allocated buffer, and use malloc if it does not fit. Don't
42635         use GETACLCNT.
42636         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42638 2012-02-19  Bruno Haible  <bruno@clisp.org>
42640         acl: Fix endless loop on Solaris with vxfs.
42641         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
42642         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
42643         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42644         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
42645         * tests/test-sameacls.c (main)[Solaris]: Likewise.
42646         Reported by Bill Jones in
42647         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
42649 2012-02-19  Bruno Haible  <bruno@clisp.org>
42651         acl: Fix copy-acl test failure on Solaris 11.0.
42652         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
42653         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
42654         that this function returns 0 in some more cases.
42656 2012-02-19  Bruno Haible  <bruno@clisp.org>
42658         acl: Update doc references.
42659         * doc/acl-resources.txt: Update links to Solaris documentation.
42661 2012-02-19  Bruno Haible  <bruno@clisp.org>
42663         Fix test failure in many locales on Solaris 11.
42664         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
42665         'tr' arguments.
42666         * tests/test-pipe-filter-ii1.c (main): Likewise.
42667         * build-aux/bootstrap (check_versions): Run 'tr' command with range
42668         expressions in the C locale.
42669         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
42670         * m4/host-os.m4 (gl_HOST_OS): Likewise.
42672 2012-02-19  Bruno Haible  <bruno@clisp.org>
42674         gnulib-tool: Improve usage message.
42675         * gnulib-tool (func_usage): Move doc of --help and --version to the
42676         section "Operation modes".
42678 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
42680         README-release: make it easier to execute commands
42681         * top/README-release: break commands out on to separate lines.
42683 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
42685         GNUmakefile: simplify detection of unconfigured trees
42686         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
42687         whether the tree make is being run from is already configured or
42688         not.  Related simplifications.
42690 2012-02-13  Simon Josefsson  <simon@josefsson.org>
42692         * gnulib-tool (func_usage): Document --help and --version.
42694 2012-02-11  Jim Meyering  <meyering@redhat.com>
42696         bootstrap: don't exit 0 upon gnulib-tool failure
42697         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
42698         its exit status, not 0.
42700 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
42702         README-release: various improvements
42703         * top/README-release: Give a command to push changes for the
42704         release.  Add "distcheck" to list of other pre-release checks.
42705         Fix instance of "make stable" which should be "make TYPE".
42707 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42709         maint: replace FSF snail-mail addresses with URLs
42710         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
42711         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
42712         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
42713         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
42714         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
42715         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
42716         * lib/check-version.c, lib/check-version.h, lib/config.charset:
42717         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
42718         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
42719         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
42720         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
42721         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
42722         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
42723         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
42724         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
42725         * lib/glthread/thread.c, lib/glthread/thread.h:
42726         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
42727         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
42728         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
42729         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
42730         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
42731         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
42732         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
42733         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
42734         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
42735         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
42736         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
42737         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
42738         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
42739         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
42740         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
42741         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
42742         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
42743         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
42744         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
42745         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
42746         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
42747         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
42748         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
42749         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
42750         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
42751         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
42752         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
42753         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
42754         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
42755         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
42756         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
42757         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
42758         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
42759         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
42760         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
42761         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
42762         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
42763         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
42764         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
42765         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
42766         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
42767         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
42768         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
42769         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
42770         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
42771         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
42772         * tests/test-poll.c, tests/test-quotearg-simple.c:
42773         * tests/test-quotearg.c, tests/test-quotearg.h:
42774         * tests/test-round-ieee.c, tests/test-round1.c:
42775         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
42776         * tests/test-roundl-ieee.c, tests/test-roundl.c:
42777         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
42778         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
42779         * tests/test-strerror.c, tests/test-strerror_r.c:
42780         * tests/test-strsignal.c, tests/test-strverscmp.c:
42781         * tests/test-xmemdup0.c:
42782         Replace FSF snail mail addresses with URLs, as per GNU coding
42783         standards.  See glibc bug
42784         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
42786 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
42788         README-release: capitalize a word and split a line
42789         * top/README-release: Fix punctuation and spacing.
42791 2012-02-08  Akim Demaille  <demaille@gostai.com>
42793         fatal-signal: use C prototypes (with explicit void).
42794         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42795         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
42797 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42799         regex: spelling fix
42800         * lib/regexec.c: spelling fix
42802         regex: rely on stdint.h for SIZE_MAX
42803         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
42805 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42807         regex: merge glibc changes
42809         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
42810         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
42811         (init_word_char): Work even if bitset words are not exactly 32 or
42812         64 bits wide.  Don't assume there are no padding bits.
42813         * lib/regex.c [_LIBC]: Do not include <config.h>.
42814         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
42815         and -Wtype-limits.
42816         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
42817         needless disagreement with glibc.  All uses changed.  Define it to
42818         1 only if _GNU_SOURCE, to match glibc.
42819         (_REG_RM_NAME): Remove; no longer needed, since the names in
42820         question are now all protected by __USE_GNU.
42821         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
42822         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
42823         * lib/regex_internal.h (MIN): New macro.
42825         2012-01-03 Ulrich Drepper <drepper@gmail.com>
42826         * lib/regcomp.c (init_word_char): Optimize regex a bit.
42828         2011-12-30 Jakub Jelinek <jakub@redhat.com>
42829         * lib/regex_internal.c (re_string_fetch_byte_case):
42830         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
42831         is miscompiled, and it turns out it is because of an incorrect
42832         attribute on re_string_fetch_byte_case.  Unlike
42833         re_string_peek_byte_case, this one is really not pure, it modifies
42834         memory (increments pstr->cur_idx), and with the pure attribute GCC
42835         assumed it doesn't and it cached the presumed value of
42836         regexp->cur_idx in a variable across the
42837          for (;; ++i)
42838            {
42839              if (i >= BRACKET_NAME_BUF_SIZE)
42840                return REG_EBRACK;
42841              if (token->type == OP_OPEN_CHAR_CLASS)
42842                ch = re_string_fetch_byte_case (regexp);
42843              else
42844                ch = re_string_fetch_byte (regexp);
42845              if (re_string_eoi(regexp))
42846                return REG_EBRACK;
42847              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
42848                break;
42849              elem->opr.name[i] = ch;
42850            }
42852         2011-11-29 Andreas Schwab <schwab@redhat.com>
42853         * lib/regcomp.c (build_equiv_class):
42854         Fix access after end of search string in regex matcher.
42856         2011-11-12 Ulrich Drepper <drepper@redhat.com>
42857         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
42859         2011-10-12 Ulrich Drepper <drepper@redhat.com>
42860         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
42862         2011-10-11 Ulrich Drepper <drepper@redhat.com>
42863         * lib/regcomp.c (parse_branch, parse_sub_exp):
42864         More regex memory leak fixes and tests.
42865         (parse_sub_exp, parse_bracket_exp):
42866         Fix memory leak for some invalid regular expressions.
42868         2011-05-28 Ulrich Drepper <drepper@gmail.com>
42869         * lib/regex_internal.c, lib/regexec.c:
42870         Fix unnecessary overallocation due to incomplete character.  When
42871         incomplete characters are found at the end of a string the code
42872         ran amok and allocated lots of memory.  Stricter limits are now in
42873         place.
42875         2011-05-20 Reuben Thomas <rrt@sc3d.org>
42876         * lib/regex.h: Update documentation.
42878         2011-05-16 Aharon Robbins <arnold@skeeve.com>
42879         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
42881         2010-05-05 Andreas Schwab <schwab@redhat.com>
42882         * lib/regexec.c (find_collation_sequence_value):
42883         Fix lookup of collation sequence value during regexp matching.
42885         2010-01-22 Ulrich Drepper <drepper@redhat.com>
42886         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
42888         2008-01-16 Ulrich Drepper <drepper@redhat.com>
42889         * lib/regex.h: Cleanup namespace.
42891         2007-11-26 Ulrich Drepper <drepper@redhat.com>
42892         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
42894         2007-08-26 Ulrich Drepper <drepper@redhat.com>
42895         * lib/regex_internal.h: Prevent some declarations and definitions
42896         to be seen when used in tests.
42898         2005-05-06 Ulrich Drepper <drepper@redhat.com>
42899         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
42900         __libc_lock_* macros if not _LIBC.
42901         (struct re_dfa_t): Add lock.
42903 2012-02-07  Eric Blake  <eblake@redhat.com>
42905         maint.mk: also prohibit lower-case @var@
42906         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
42907         lower case, like @top_srcdir@.
42909 2012-02-04  Eric Blake  <eblake@redhat.com>
42911         canonicalize: avoid uninitialized memory use
42912         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
42913         random '/' left in dest.
42914         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
42916 2012-02-04  Bruno Haible  <bruno@clisp.org>
42918         isatty: Fix test failure of ptsname_r on native Windows.
42919         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
42920         and don't set errno.
42921         (isatty): Test first whether fd is valid. Set errno when returning 0.
42923 2012-02-04  Bruno Haible  <bruno@clisp.org>
42925         spawn-pipe tests: Fix a NULL program name in a diagnostic.
42926         * tests/test-spawn-pipe-main.c: Include progname.h.
42927         (main): Invoke set_program_name.
42928         * modules/spawn-pipe-tests (Depends-on): Add progname.
42930         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
42931         * tests/test-nonblocking-socket-main.c: Include progname.h.
42932         (main): Invoke set_program_name.
42933         * modules/nonblocking-socket-tests (Depends-on): Add progname.
42935         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
42936         * tests/test-nonblocking-pipe-main.c: Include progname.h.
42937         (main): Invoke set_program_name.
42938         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
42940 2012-02-04  Eric Blake  <eblake@redhat.com>
42942         canonicalize-lgpl: fix // handling
42943         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
42945         canonicalize: fix // handling
42946         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
42947         /// to //, since only // is special.
42949 2012-02-04  Bruno Haible  <bruno@clisp.org>
42951         ioctl: Fix test failure on native Windows.
42952         * lib/ioctl.c: Include msvc-nothrow.h.
42953         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
42955 2012-02-04  Bruno Haible  <bruno@clisp.org>
42957         fsync: Avoid test failure on native Windows.
42958         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
42959         read-only.
42961 2012-02-04  Bruno Haible  <bruno@clisp.org>
42963         sys_select: Avoid syntax error on OpenBSD 5.0.
42964         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
42965         currently being included, just include the system's <sys/select.h>.
42967 2012-02-04  Bruno Haible  <bruno@clisp.org>
42969         sys_select: Avoid syntax error on OpenBSD 5.0.
42970         * lib/sys_select.in.h: Include <signal.h> only after the include_next
42971         <sys/select.h>, not before.
42972         Reported by Jiri B <jirib@devio.us>.
42974 2012-02-04  Bruno Haible  <bruno@clisp.org>
42976         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
42977         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
42978         global variables.
42979         * tests/test-get-rusage-data.c (main): Likewise.
42980         Reported by Jim Meyering.
42982 2012-02-04  Bruno Haible  <bruno@clisp.org>
42984         stdioext: Fix last commit.
42985         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
42987 2012-02-03  Bruno Haible  <bruno@clisp.org>
42989         stdioext: Add tentative support for Plan9.
42990         * lib/stdio-impl.h: Include <errno.h>.
42991         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
42992         * lib/freadable.c (freadable): Likewise.
42993         * lib/fwritable.c (fwritable): Likewise.
42994         * lib/fbufmode.c (fbufmode): Likewise.
42995         * lib/freading.c (freading): Likewise.
42996         * lib/fwriting.c (fwriting): Likewise.
42997         * lib/freadptr.c (freadptr): Likewise.
42998         * lib/freadseek.c (freadptrinc): Likewise.
42999         * lib/freadahead.c (freadahead): Likewise.
43000         * lib/fpurge.c (fpurge): Likewise.
43001         * lib/fseeko.c (rpl_fseeko): Likewise.
43002         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
43003         Reported by Jens Staal <staal1978@gmail.com>.
43005 2012-02-02  Jim Meyering  <meyering@redhat.com>
43007         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
43008         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
43009         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
43010         not even to try to add the attribute.  Instead, add a pragma to suppress
43011         the suggestion/warning.
43013 2012-01-31  Karl Berry  <karl@gnu.org>
43015         setstate doc: typo.
43016         * doc/posix-functions/setstate.texi (setstate): { not (.
43018 2012-01-31  Bruno Haible  <bruno@clisp.org>
43020         popen: Make more robust on Windows.
43021         * lib/popen.c: On native Windows, use the _popen based code even if
43022         HAVE_POPEN is set.
43023         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
43024         environment variable on native Windows.
43026 2012-01-30  Bruno Haible  <bruno@clisp.org>
43028         pclose: Fix typo.
43029         * lib/stdio.in.h (pclose): Fix typo in warning message.
43031 2012-01-30  Bruno Haible  <bruno@clisp.org>
43033         doc about getlogin_r, setstate.
43034         * doc/posix-functions/getlogin_r.texi: List the incompatible
43035         declaration problem under "not fixed by gnulib".
43036         * doc/posix-functions/setstate.texi: Mention incompatible declaration
43037         problem on Solaris 11 and other platforms.
43039 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
43040             Bruno Haible  <bruno@clisp.org>
43042         poll tests: Make test more robust.
43043         * tests/test-poll.c: Include macros.h.
43044         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
43045         return value of various I/O operations.
43046         * modules/poll-tests (Files): Add tests/macros.h.
43048 2012-01-30  Bruno Haible  <bruno@clisp.org>
43050         sys_stat: Fix support for mingw64 and MSVC.
43051         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
43052         header files already do it.
43053         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
43054         stat itself.
43055         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43057 2012-01-30  Bruno Haible  <bruno@clisp.org>
43059         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
43060         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
43061         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
43063 2012-01-29  Bruno Haible  <bruno@clisp.org>
43065         quotearg: Fix test failure on MacOS X 10.5.
43066         * tests/test-quotearg-simple.c: Include localcharset.h.
43067         (main): If the locale encoding is not ASCII, bypass the tests of
43068         locale_quoting_style and clocale_quoting_style.
43069         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
43071 2012-01-29  Jim Meyering  <meyering@redhat.com>
43073         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
43074         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
43075         detect uses of canonicalize_file_name.
43077 2012-01-28  Bruno Haible  <bruno@clisp.org>
43079         test-framework-sh: Fix test failure with AIX 7.1 diff.
43080         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
43081         in column 1, like 'diff -c' does.
43082         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
43083         whether 'diff -u' is used. Instead, test whether the output contains
43084         some '@' character.
43086 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43088         strtoimax: eliminate need for stdint.h, inttypes.h checks
43089         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
43090         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
43091         the prerequisites for a recently-introduced strtoimax test.
43092         I guess this might cause strtoimax to be replaced when not
43093         strictly necessary on older hosts, but this shouldn't introduce
43094         any bugs and it should make Emacs 'configure' faster on typical
43095         modern hosts.  Problem discovered when importing the latest gnulib
43096         to an Emacs test version.
43097         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
43099 2012-01-28  Bruno Haible  <bruno@clisp.org>
43101         sys_time: Override 'struct timeval' on some native Windows platforms.
43102         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
43103         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
43104         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
43105         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
43106         needs to be overridden.
43107         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
43108         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
43109         * tests/test-sys_select.c: Check that the tv_sec member has the same
43110         size as a 'time_t'.
43111         * tests/test-sys_time.c: Likewise.
43112         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
43113         is set, set also REPLACE_GETTIMEOFDAY.
43114         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
43115         convert the resulting 'struct timeval' before returning.
43116         * lib/select.c: Include <sys/time.h>.
43117         (select, timeval): Undefine at the right place.
43118         * modules/select (Depends-on): Add sys_time.
43119         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
43120         some Windows platforms.
43121         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43123 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43125         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
43126         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
43127         an integer.
43128         * lib/fcntl.c (dupfd): Likewise.
43129         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
43131 2012-01-28  Bruno Haible  <bruno@clisp.org>
43133         fcntl: Avoid compilation error on native Windows.
43134         * modules/fcntl (Depends-on): Add 'close'.
43136 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43138         select, poll, isatty: Avoid warnings on x86_64 mingw64.
43139         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
43140         pointer to an integer.
43141         * lib/poll.c (IsConsoleHandle): Likewise.
43142         * lib/isatty.c (IsConsoleHandle): Likewise.
43144 2012-01-28  Jim Meyering  <meyering@redhat.com>
43146         doc: clarify README-release
43147         * top/README-release: Clarify: you should make a point to have
43148         the latest stable versions of build tools in your PATH, and the
43149         reference to buildreq is solely for its list of tool names, not
43150         for its minimal-functional version numbers.
43151         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
43153         maint.mk: use more readable (yet functionally equivalent) quoting
43154         It is common to quote a single quote in a single quoted string like
43155         this:  '...'\''...'.  Unless you know the idiom, that looks like
43156         gibberish, so prefer to double-quote the string when possible.
43157         Then you can use a more readable, lone single quote: "...'..."
43158         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
43159         "don't" is more readable than the equivalent 'don'\''t'.
43160         (sc_cast_of_x_alloc_return_value): Likewise.
43161         (sc_cast_of_alloca_return_value): Likewise.
43162         (sc_makefile_path_separator_check): Similar: use ":" in '...',
43163         rather than '\'':'\''.
43165 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43167         stdalign: relax _Alignof and tighten _Alignas test
43168         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
43169         as it was too strict: alignof must divide offsetof, but it need
43170         not equal offsetof.  Inspired by Joseph S. Myers's comment
43171         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
43172         Conversely, tighten the _Alignas test a bit, as the resulting
43173         alignment must be exactly 8.
43175 2012-01-27  Bruno Haible  <bruno@clisp.org>
43177         stdalign: Document the last change.
43178         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
43180 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43182         stdalign: check that alignof and offsetof are consistent
43183         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
43184         Problem reported for gnulib by Richard W.M. Jones in
43185         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
43187 2012-01-27  Jim Meyering  <meyering@redhat.com>
43189         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
43190         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
43191         convert a sequence with gaps to the minimal containing range.
43192         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
43193         * tests/test-update-copyright.sh: Test for this.
43194         The FSF confirmed it is ok to do this, assuming there is at
43195         least one significant change per year in the affected range:
43196         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
43198 2012-01-26  Bruno Haible  <bruno@clisp.org>
43200         pipe2: refine doc about thread-safety
43201         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
43202         multithread-safety problem.
43203         * doc/glibc-functions/accept4.texi: Likewise.
43205 2012-01-26  Bruno Haible  <bruno@clisp.org>
43207         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
43208         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
43209         In the test program, include <fcntl.h>, for O_RDONLY.
43211 2012-01-26  Eric Blake  <eblake@redhat.com>
43213         pipe2: document lack of thread-safety in replacement
43214         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
43215         issue in replacement.
43216         * doc/glibc-functions/accept4.texi (accept4): Likewise.
43217         Based on a report by Eric Wong.
43219 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43220             Bruno Haible  <bruno@clisp.org>
43222         malloca: Avoid warnings on x86_64 mingw64.
43223         * lib/malloca.c: Include <stdint.h>.
43224         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
43225         * modules/malloca (Depends-on): Add stdint.
43226         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
43228 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43230         obstack: remove __STDC__ conditionals
43231         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
43232         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
43233         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
43234         m4/include_next.m4 as the only gnulib-maintained places that still
43235         refer to __STDC__.
43237 2012-01-24  Bruno Haible  <bruno@clisp.org>
43239         havelib: Modern quoting.
43240         * build-aux/config.rpath: Quote 'like this', not `like this', as per
43241         the recent change to the GNU coding standards.
43243 2012-01-24  Bruno Haible  <bruno@clisp.org>
43245         stdint: Improve support for Android.
43246         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
43247         Reported by Simon Josefsson <simon@josefsson.org>.
43249 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43251         doc: omit trailing empty lines from INSTALL etc.
43252         * doc/Makefile (INSTALL): Omit trailing empty lines.
43253         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
43254         omit trailing empty lines.  This simplifies the build procedure.
43256 2012-01-23  Jim Meyering  <meyering@redhat.com>
43258         tests: avoid spurious warnings about gl_sockets_startup
43259         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
43260         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
43261         reporting a "statement with no effect".
43262         * tests/test-accept.c (main): Mark as "(void)".
43263         * tests/test-accept4.c (main): Likewise.
43264         * tests/test-bind.c (main): Likewise.
43265         * tests/test-connect.c (main): Likewise.
43266         * tests/test-getpeername.c (main): Likewise.
43267         * tests/test-getsockname.c (main): Likewise.
43268         * tests/test-getsockopt.c (main): Likewise.
43269         * tests/test-listen.c (main): Likewise.
43270         * tests/test-recv.c (main): Likewise.
43271         * tests/test-recvfrom.c (main): Likewise.
43272         * tests/test-send.c (main): Likewise.
43273         * tests/test-sendto.c (main): Likewise.
43274         * tests/test-setsockopt.c (main): Likewise.
43275         * tests/test-shutdown.c (main): Likewise.
43277 2012-01-21  Bruno Haible  <bruno@clisp.org>
43279         locale-fr.m4: Fix for Android.
43280         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
43281         failure of the test program on Bionic libc.
43283 2012-01-21  Jim Meyering  <meyering@redhat.com>
43285         bootstrap: fail when bootstrap_post_import_hook fails
43286         Otherwise, it's far too easy to miss diagnostics emitted
43287         between gnulib-tool's output and that of running configure.
43288         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
43290 2012-01-17  Jim Meyering  <meyering@redhat.com>
43292         maint: enable sc_trailing_blank
43293         * build-aux/pmccabe.css: Remove trailing blanks.
43294         * doc/acl-cygwin.txt: Likewise.
43295         * doc/gnu-oids.texi: Likewise
43296         * cfg.mk: Enable sc_trailing_blank.
43297         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
43299 2012-01-17  Jim Meyering  <meyering@redhat.com>
43301         maint: enable sc_prohibit_openat_without_use
43302         * cfg.mk: Enable sc_prohibit_openat_without_use.
43303         Exempt lib/selinux-at.c.
43305 2012-01-17  Jim Meyering  <meyering@redhat.com>
43307         maint: enable sc_prohibit_cloexec_without_use
43308         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
43309         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
43311 2012-01-17  Jim Meyering  <meyering@redhat.com>
43313         maint: enable sc_prohibit_intprops_without_use
43314         * cfg.mk: Enable sc_prohibit_intprops_without_use
43315         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
43317 2012-01-17  Jim Meyering  <meyering@redhat.com>
43319         maint: enable sc_prohibit_hash_pjw_without_use
43320         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
43321         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
43322         to match any use of \<hash_pjw\>, i.e., not necessarily with a
43323         following " (".
43325 2012-01-17  Jim Meyering  <meyering@redhat.com>
43327         maint: enable double-word-prohibiting rule
43328         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
43329         Exempt three files.
43331 2012-01-17  Jim Meyering  <meyering@redhat.com>
43333         maint: remove empty lines at EOF, but excluding modules/*
43334         Apply syntax rules at home as well as abroad.  Most changes
43335         were induced by running this:
43336           make srcdir=. _build-aux=build-aux -f top/maint.mk \
43337             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
43338             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
43339         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
43340         Exempt modules/* and two binary files.
43341         Also exempt doc/INSTALL*, per request from Bruno Haible.
43342         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
43343         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
43344         * doc/Copyright/request-assign.future: Likewise.
43345         * doc/Copyright/request-disclaim.changes: Likewise.
43346         * doc/INSTALL: Likewise.
43347         * doc/INSTALL.ISO: Likewise.
43348         * doc/INSTALL.UTF-8: Likewise.
43349         * doc/acl-cygwin.txt: Likewise.
43350         * doc/acl-resources.txt: Likewise.
43351         * doc/fdl-1.2.texi: Likewise.
43352         * doc/fdl-1.3.texi: Likewise.
43353         * doc/fdl.texi: Likewise.
43354         * lib/argp-pin.c: Likewise.
43355         * lib/round.c: Likewise.
43356         * lib/unicase/u16-totitle.c: Likewise.
43357         * lib/unictype/block_test.c: Likewise.
43358         * lib/uninorm/canonical-decomposition.c: Likewise.
43359         * m4/README: Likewise.
43360         * m4/relocatable-lib.m4: Likewise.
43361         * tests/test-isnand-nolibm.c: Likewise.
43362         * tests/test-isnand.c: Likewise.
43363         * tests/uninorm/NormalizationTest.txt: Likewise.
43365 2012-01-17  Jim Meyering  <meyering@redhat.com>
43367         maint: add framework to run syntax-check rules against gnulib sources
43368         * cfg.mk: New file, to disable all currently-failing tests.
43369         We'll enable them one by one, as they are made to pass.
43370         * Makefile (sc_maint): New rule.
43372 2012-01-21  Bruno Haible  <bruno@clisp.org>
43374         stdint: Add support for Android.
43375         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
43376         include the system's <stdint.h>.
43377         Reported by Simon Josefsson <simon@josefsson.org>.
43379 2012-01-19  Jim Meyering  <meyering@redhat.com>
43381         bootstrap: add bootstrap_post_import_hook
43382         Bison does still need something like the gnulib_mk_hook whose
43383         invocation I had to remove along with slurp in commit 767ccd40.
43384         Technically, we could get along without it, but doing so would
43385         have required living with a warning and a mandatory post-bootstrap
43386         automake rerun.
43387         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
43388         (bootstrap_post_import_hook): New function.
43389         Invoke it after gnulib-tool --import and before autoreconf.
43391 2012-01-18  Jim Meyering  <meyering@redhat.com>
43393         gitlog-to-changelog: don't use "no_"-prefixed variable name
43394         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
43395         to enable both --cluster and --no-cluster.  Change variable name,
43396         s/\$no_cluster/$cluster/, and reverse usage to match.
43398         gitlog-to-changelog: use "||", not "or" in expressions
43399         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
43400         expressions.
43402 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
43404         gitlog-to-changelog: new option --no-cluster
43405         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
43406         clustering of adjacent commit messages.
43408 2012-01-17  Jim Meyering  <meyering@redhat.com>
43410         maint: spell file systems with two words, not one
43411         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
43412         two words, not one.
43414 2012-01-16  Jim Meyering  <meyering@redhat.com>
43416         bootstrap: add a FIXME comment to ensure we eventually remove the hack
43417         * build-aux/bootstrap (gnulib_tool_options): Add comment.
43419 2012-01-16  Eric Blake  <eblake@redhat.com>
43421         bootstrap: cater to autoconf 2.59
43422         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
43423         is not available.
43425         bootstrap: properly check for libtool
43426         * build-aux/bootstrap (libtoolize): Also run libtool when older
43427         usage is detected.
43429 2012-01-15  Bruno Haible  <bruno@clisp.org>
43431         Improve support for MSVC 9.
43432         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
43433         clashes on MSVC.
43434         * lib/fcntl.in.h: Likewise.
43435         * lib/stdlib.in.h: Likewise.
43436         * lib/sys_stat.in.h: Likewise.
43438 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
43440         gnupload: we hold the master copy of this script now
43441         For motivation and more information, see:
43442         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
43443         * build-aux/gnupload: Make it clear in the heading comments that the
43444         master copy of this file is maintained by gnulib.  Since we are at
43445         it, bump its copyright year and ...
43446         ($scriptversion): ... the date in its version.
43447         ($usage): Patches and bug reports should be sent to the gnulib list,
43448         not the automake one.
43449         * config/srclist.txt: Don't try to sync 'gnupload' from automake
43450         anymore.
43452 2012-01-15  Bruno Haible  <bruno@clisp.org>
43454         Fix module 'random'.
43455         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
43456         initstate, setstate are declared.
43458 2012-01-14  Bruno Haible  <bruno@clisp.org>
43460         Tests for module 'random'.
43461         * modules/random-tests: New file.
43462         * tests/test-random.c: New file, based on tests/test-random_r.c.
43464         New module 'random'.
43465         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
43466         declarations.
43467         * lib/random.c: New file, based on glibc/stdlib/random.c.
43468         * m4/random.m4: New file.
43469         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
43470         HAVE_RANDOM.
43471         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
43472         * modules/random: New file.
43473         * config/srclist.txt: Add an entry for random.c.
43474         * doc/posix-functions/random.texi: Mention the 'random' module.
43475         * doc/posix-functions/initstate.texi: Likewise.
43476         * doc/posix-functions/setstate.texi: Likewise.
43477         * doc/posix-functions/srandom.texi: Likewise.
43479 2012-01-12  Bruno Haible  <bruno@clisp.org>
43481         random_r: Use common idioms.
43482         * lib/random_r.c: Include <stdlib.h> first.
43484         random_r: Override incompatible API on AIX, OSF/1.
43485         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
43486         Override the system function if REPLACE_RANDOM_R is 1.
43487         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
43488         and OSF/1, set REPLACE_RANDOM_R.
43489         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
43490         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
43491         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
43492         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
43493         * doc/glibc-functions/random_r.texi: Likewise.
43494         * doc/glibc-functions/setstate_r.texi: Likewise.
43496         random_r: Support for MSVC 9.
43497         * lib/random_r.c: Include stdint.h, not inttypes.h.
43499 2012-01-12  Eric Blake  <eblake@redhat.com>
43501         inet_ntop: guard extra work by IF_LINT
43502         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
43503         better code generation when not checking for warnings.
43504         Suggested by Paul Eggert and Jim Meyering.
43506         strptime: fix regression on mingw
43507         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
43508         Fix regression.  Reported by Bruno Haible.
43510 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
43511             Bruno Haible  <bruno@clisp.org>
43513         copy-file: add error-code-returning variant.
43514         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
43515         (qcopy_file_preserving): New declaration.
43516         * lib/copy-file.c (qcopy_file_preserving): Renamed from
43517         copy_file_preserving. Change return type to 'int'. Don't emit an error
43518         message here.
43519         (copy_file_preserving): New function.
43520         * tests/test-copy-file.c: Include <stdlib.h>.
43521         (main): Test qcopy_file_preserving if the environment variable
43522         NO_STDERR_OUTPUT is set.
43523         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
43524         with NO_STDERR_OUTPUT
43525         * tests/test-copy-file-2.sh: Likewise.
43527 2012-01-10  Bruno Haible  <bruno@clisp.org>
43529         copy-file: Use 'quote' module consistently.
43530         * lib/copy-file.c (copy_file_preserving): Use quote().
43532         copy-file: Refactor.
43533         * lib/copy-file.c: Include quote.h.
43534         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
43535         message here.
43536         * modules/copy-file (Depends-on): Add quote.
43538         acl: Export qcopy_acl.
43539         * lib/acl.h (qcopy_acl): New declaration.
43540         * lib/copy-acl.c (qcopy_acl): Make non-static.
43542         acl: Rename a local variable.
43543         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
43545         acl: Align return values of copy_acl and qcopy_acl.
43546         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
43547         maybe < -1.
43549 2012-01-11  Eric Blake  <eblake@redhat.com>
43551         strptime: silence gcc warnings
43552         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
43553         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
43554         Reported by Daniel P. Berrange.
43556         inet_ntop: silence gcc warning
43557         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
43558         Reported by Daniel P. Berrange.
43560 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
43562         getloadavg test: skip the test on GNU/Linux without /proc mounted
43563         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
43564         file.  When /proc is not mounted, it always fails with ENOENT.
43565         * tests/test-getloadavg.c (main): Treat ENOENT return code from
43566         getloadavg(3) the same way as ENOSYS and ENOTSUP.
43568 2012-01-10  Bruno Haible  <bruno@clisp.org>
43570         regex: Avoid link error on MSVC 9.
43571         * modules/regex (Depends-on): Add wctype.
43573 2012-01-10  Bruno Haible  <bruno@clisp.org>
43575         doc: Mention --with-tests option.
43576         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
43577         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
43578         --with-tests.
43579         Reported by Reuben Thomas.
43581 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
43583         users.txt: order package names lexicographically.
43584         * users.txt: Order package names lexicographically.
43586 2012-01-10  Jim Meyering  <meyering@redhat.com>
43588         maint.mk: fix description in comment
43589         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
43591         ignore-value: remove deprecated ignore_ptr function
43592         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
43593         * NEWS: Note this.
43595 2012-01-09  Jim Meyering  <meyering@redhat.com>
43597         test-init.sh: avoid a subshell
43598         * tests/test-init.sh: Remove protective subshell.
43599         Suggested by Bernhard Voelker.  While a subshell is normally
43600         required to protect against older shells (Solaris, FreeBSD) that
43601         warn about a missing program before performing redirection, the
43602         shell-selection tests performed by init.sh probably exclude any
43603         offending shell.
43605 2012-01-08  Bruno Haible  <bruno@clisp.org>
43607         setlocale tests: Avoid test failure on Solaris 11.0.
43608         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
43609         variable.
43611 2012-01-08  Bruno Haible  <bruno@clisp.org>
43613         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
43614         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43615         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43616         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
43617         macro.
43618         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
43619         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43620         * lib/spawn_faction_addopen.c: Add workaround implementation if
43621         HAVE_WORKING_POSIX_SPAWN.
43622         * modules/spawn (Makefile): Substitute
43623         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43624         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
43625         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
43626         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43627         (Depends-on): Update conditions.
43628         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43629         the Solaris 11 bug.
43631 2012-01-08  Bruno Haible  <bruno@clisp.org>
43633         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
43634         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43635         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43636         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
43637         macro.
43638         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
43639         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43640         * lib/spawn_faction_adddup2.c: Add workaround implementation if
43641         HAVE_WORKING_POSIX_SPAWN.
43642         * modules/spawn (Makefile): Substitute
43643         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43644         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
43645         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
43646         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43647         (Depends-on): Update conditions.
43648         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43649         the Solaris 11 bug.
43651 2012-01-08  Bruno Haible  <bruno@clisp.org>
43653         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
43654         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43655         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43656         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
43657         HAVE_WORKING_POSIX_SPAWN.
43658         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
43659         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
43660         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43661         * lib/spawn_faction_addclose.c: Add workaround implementation if
43662         HAVE_WORKING_POSIX_SPAWN.
43663         * modules/spawn (Makefile): Substitute
43664         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43665         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
43666         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
43667         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43668         (Depends-on): Update conditions.
43669         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43670         the Solaris 11 bug.
43672 2012-01-08  Bruno Haible  <bruno@clisp.org>
43674         doc: Update for Solaris 11.0.
43675         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
43676         * m4/printf.m4: Update comments.
43678 2012-01-08  Bruno Haible  <bruno@clisp.org>
43680         mktime: Avoid compilation error on Solaris 11.
43681         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
43683 2012-01-08  Bruno Haible  <bruno@clisp.org>
43685         doc: Small fix.
43686         * doc/posix-headers/nl_types.texi: Correct platforms list.
43688 2012-01-08  Simon Josefsson  <simon@josefsson.org>
43690         Add lgpl-3.0 module.
43691         * MODULES.html.sh (Support for building documentation): Add
43692         lgpl-3.0.
43693         * modules/lgpl-3.0: New file.
43695 2012-01-08  Jim Meyering  <meyering@redhat.com>
43697         select.c: indent with spaces, not TABs
43698         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
43700 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43702         quotearg: do not use grave accent for left quote
43703         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
43704         locale_quoting_style.
43705         (quotearg_buffer_restyled): Fix example.
43706         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
43708 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43710         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
43711         Most programs do not have translation catalogs for English and much
43712         less separate catalogs for British and American English.  Drop the
43713         suggestion to translators about these two, and provide it
43714         automatically for Unicode locales.  Like most programs, even those
43715         using American English, we use single quotation marks.  This conflicts
43716         with the American typographic convention, but works better when you
43717         cite the entire error message within double quotes.  It also tries not
43718         to clash with established practice and with what non-gnulib programs
43719         will usually do.
43720         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
43721         using an UTF-8 or GB-18030 locale.  The list of other locales with
43722         quotes was provided by Bruno Haible.
43723         (quotearg_buffer_restyled): Adjust instructions to translators.
43724         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
43725         text, since this would be wrong when using Unicode.
43726         * modules/quotearg: Depend on c-strcaseeq.
43728 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43730         quotearg: fix Wikipedia link
43731         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
43733 2012-01-07  Simon Josefsson  <simon@josefsson.org>
43735         Fix for mingw with MSVC9.
43736         * m4/ld-version-script.m4: Check that compiler rejects version
43737         scripts with syntax errors.  Reported by Bruno Haible
43738         <bruno@clisp.org>.
43740 2012-01-06  Bruno Haible  <bruno@clisp.org>
43742         Talk about "native Windows API", not "Woe32".
43743         * lib/accept4.c: Update comments to mention native Windows.
43744         * lib/execute.c: Likewise.
43745         * lib/fatal-signal.c: Likewise.
43746         * lib/localcharset.c: Likewise.
43747         * lib/nanosleep.c: Likewise.
43748         * lib/nl_langinfo.c: Likewise.
43749         * lib/pclose.c: Likewise.
43750         * lib/pipe-filter-gi.c: Likewise.
43751         * lib/pipe-filter-ii.c: Likewise.
43752         * lib/pipe.c: Likewise.
43753         * lib/pipe2.c: Likewise.
43754         * lib/popen.c: Likewise.
43755         * lib/progreloc.c: Likewise.
43756         * lib/relocatable.c: Likewise.
43757         * lib/sigaction.c: Likewise.
43758         * lib/sigprocmask.c: Likewise.
43759         * lib/spawn-pipe.h: Likewise.
43760         * lib/spawn-pipe.c: Likewise.
43761         * lib/spawni.c: Likewise.
43762         * lib/stat-time.h: Likewise.
43763         * lib/w32spawn.h: Likewise.
43764         * tests/test-isatty.c: Likewise.
43765         * lib/config.charset: More comments.
43766         * doc/gnulib-intro.texi: Mention native Windows.
43767         * doc/posix-functions/_Exit_C99.texi: Likewise.
43768         * doc/posix-headers/fcntl.texi: Likewise.
43770 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
43772         argp: Avoid crash if translator uses % characters in a translation.
43773         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
43774         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43776 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
43778         doc: C11 and C++11 are now official
43779         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
43780         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
43781         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
43782         * modules/stdalign:
43783         Replace references to draft C1X to C11, and to draft C++0X to C++11.
43785 2012-01-06  Bruno Haible  <bruno@clisp.org>
43787         uc-is-grapheme-break tests: Tweak.
43788         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
43789         message.
43791 2012-01-06  Bruno Haible  <bruno@clisp.org>
43793         test-init.sh: correct the test for diff -u
43794         * tests/test-init.sh: Also redirect stdout to /dev/null.
43796 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43798         Use ', not `, for quoting output.
43799         * build-aux/announce-gen (usage, sizes, print_news_deltas)
43800         (print_changelog_deltas, get_tool_versions, main program):
43801         * build-aux/git-version-gen:
43802         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
43803         * build-aux/move-if-change (help):
43804         * build-aux/useless-if-before-free (usage, main program):
43805         * check-module (parse_module_file, usage)
43806         (find_included_lib_files, check_module):
43807         * lib/argmatch.c (main) [TEST]:
43808         * lib/argp-help.c (_help):
43809         * lib/getopt1.c (main) [TEST]:
43810         * lib/git-merge-changelog.c (usage):
43811         * lib/xstrtol-error.c (xstrtol_error):
43812         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
43813         * m4/argz.m4 (gl_FUNC_ARGZ):
43814         * m4/bison.m4 (gl_BISON):
43815         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
43816         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
43817         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
43818         * m4/fpending.m4 (gl_PREREQ_FPENDING):
43819         * m4/gc-random.m4 (gl_GC_RANDOM):
43820         * m4/intl.m4 (gt_CHECK_DECL):
43821         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
43822         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
43823         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
43824         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
43825         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
43826         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
43827         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
43828         * tests/test-dirname.c (main):
43829         * tests/test-getpass.c (main):
43830         * tests/test-iconvme.c (main):
43831         * tests/test-parse-datetime.c (LOG):
43832         * tests/test-xstrtoimax.sh:
43833         * tests/test-xstrtol.sh:
43834         * tests/test-xstrtoll.sh:
43835         * tests/test-xstrtoumax.sh:
43836         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
43837         * top/GNUmakefile (abort-due-to-no-makefile):
43838         Quote 'like this', not `like this', as per the recent change to
43839         the GNU coding standards.
43841 2012-01-05  Bruno Haible  <bruno@clisp.org>
43843         strtoimax: Don't force a replacement on systems where intmax_t is int.
43844         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
43845         'intmax_t' is not larger than 'int'.
43846         Reported by Pádraig Brady <P@draigBrady.com>.
43848 2012-01-05  Bruno Haible  <bruno@clisp.org>
43850         doc: Mention NetBSD bugs.
43851         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
43852         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
43854 2012-01-05  Bruno Haible  <bruno@clisp.org>
43856         strtoumax tests: Enhance tests.
43857         * tests/test-strtoumax.c (main): Add tests for large values.
43859 2012-01-05  Bruno Haible  <bruno@clisp.org>
43861         strtoimax: Work around AIX 5.1 bug.
43862         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
43863         definition.
43864         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
43865         Set HAVE_STRTOIMAX.
43866         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
43867         REPLACE_STRTOIMAX.
43868         * modules/inttypes-incomplete (Makefile.am): Substitute
43869         REPLACE_STRTOIMAX.
43870         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
43871         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
43872         (Depends-on): Update conditions.
43873         * tests/test-strtoimax.c (main): Add tests for large values.
43874         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
43876 2012-01-05  Bruno Haible  <bruno@clisp.org>
43878         inttypes: Modernize.
43879         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
43880         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
43881         (Makefile.am): Update inttypes.h rule.
43883 2012-01-05  Jim Meyering  <meyering@redhat.com>
43885         init.sh: don't waste a subshell just to redirect stderr
43886         * tests/init.sh: In testing for diff -u and diff -c, use a
43887         stderr-redirecting exec inside `...` rather than a subshell.
43889         test-init.sh: avoid failure on HP-UX 11.00
43890         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
43891         resolves to diff -c or cmp.  Reported by Bruno Haible.
43893 2012-01-05  Bruno Haible  <bruno@clisp.org>
43895         Tests for module 'strtoull'.
43896         * modules/strtoull-tests: New file.
43897         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
43899 2012-01-05  Bruno Haible  <bruno@clisp.org>
43901         Tests for module 'strtoll'.
43902         * modules/strtoll-tests: New file.
43903         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
43905 2012-01-05  Bruno Haible  <bruno@clisp.org>
43907         Tests for module 'strtoul'.
43908         * modules/strtoul-tests: New file.
43909         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
43911 2012-01-05  Bruno Haible  <bruno@clisp.org>
43913         Tests for module 'strtol'.
43914         * modules/strtol-tests: New file.
43915         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
43917 2012-01-04  Jim Meyering  <meyering@redhat.com>
43919         test-init.sh: accommodate Solaris 5.10's different diff -u output
43920         * tests/test-init.sh: Also exempt @@ lines from the comparison
43921         of diff output, since Solaris 5.10 and GNU diff formats differ.
43922         Reported by Stefano Lattarini.
43924 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43926         test-posixtm: don't assume signed integer wraparound
43927         * tests/test-posixtm.c (main): Don't assume wraparound semantics
43928         after signed integer overflow.  Inspired by (though it may not
43929         fix) Bruno Haible's bug report in
43930         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
43932         Spell out "Windows 9x" and "Windows XP".
43933         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
43934         "Windows 9x" and "WinXP" with "Windows XP".
43936 2012-01-04  Jim Meyering  <meyering@redhat.com>
43938         test-vc-list-files-cvs.sh: remove obsolete comment
43939         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
43940         double exit.  Now that's all encapsulated via skip_ and Exit.
43942 2012-01-04  Bruno Haible  <bruno@clisp.org>
43944         Talk about "native Windows API", not "Win32".
43945         * lib/classpath.c: Update comments to mention native Windows.
43946         * lib/csharpexec.c: Likewise.
43947         * lib/dup2.c: Likewise.
43948         * lib/error.c: Likewise.
43949         * lib/fcntl.c: Likewise.
43950         * lib/filename.h: Likewise.
43951         * lib/findprog.c: Likewise.
43952         * lib/get-rusage-as.c: Likewise.
43953         * lib/get-rusage-data.c: Likewise.
43954         * lib/getpagesize.c: Likewise.
43955         * lib/javaexec.c: Likewise.
43956         * lib/msvc-inval.c: Likewise.
43957         * lib/msvc-nothrow.c: Likewise.
43958         * lib/nanosleep.c: Likewise.
43959         * lib/nonblocking.c: Likewise.
43960         * lib/printf-parse.c: Likewise.
43961         * lib/setlocale.c: Likewise.
43962         * lib/sigaction.c: Likewise.
43963         * lib/strerror_r.c: Likewise.
43964         * lib/tmpdir.c: Likewise.
43965         * lib/vasnprintf.c: Likewise.
43966         * lib/w32spawn.h: Likewise.
43967         * lib/waitpid.c: Likewise.
43968         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
43969         * m4/locale-ar.m4: Likewise.
43970         * m4/locale-fr.m4: Likewise.
43971         * m4/locale-ja.m4: Likewise.
43972         * m4/locale-tr.m4: Likewise.
43973         * m4/locale-zh.m4: Likewise.
43974         * m4/printf.m4: Likewise.
43975         * tests/test-cloexec.c: Likewise.
43976         * tests/test-copy-acl.sh: Likewise.
43977         * tests/test-copy-file.sh: Likewise.
43978         * tests/test-file-has-acl.sh: Likewise.
43979         * tests/test-set-mode-acl.sh: Likewise.
43980         * tests/test-dup-safer.c: Likewise.
43981         * tests/test-dup2.c: Likewise.
43982         * tests/test-dup3.c: Likewise.
43983         * tests/test-fcntl.c: Likewise.
43984         * tests/test-nonblocking-pipe.h: Likewise.
43985         * tests/test-nonblocking-socket.h: Likewise.
43986         * tests/test-pipe.c: Likewise.
43987         * tests/test-pipe2.c: Likewise.
43988         * tests/test-spawn-pipe-child.c: Likewise.
43989         * doc/acl-resources.txt: Likewise.
43990         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43991         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
43992         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
43993         * lib/localcharset.c: Update comments to mention native Windows.
43994         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43995         * lib/localename.c: Likewise.
43996         * lib/progreloc.c: Likewise.
43997         * lib/relocatable.c: Likewise.
43998         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43999         (windows_compute_revents): Renamed from win32_compute_revents.
44000         (windows_compute_revents_socket): Renamed from
44001         win32_compute_revents_socket.
44002         * lib/select.c: Update comments to mention native Windows.
44003         (windows_poll_handle): Renamed from win32_poll_handle.
44004         * m4/threadlib.m4: Update comments to mention native Windows.
44005         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
44006         --enable-threads=windows instead of --enable-threads=win32. Set
44007         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
44008         * lib/glthread/lock.h: Update comments to mention native Windows.
44009         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
44010         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
44011         USE_WIN32_THREADS.
44012         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
44013         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
44014         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
44015         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
44016         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
44017         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
44018         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
44019         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
44020         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
44021         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
44022         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
44023         * tests/test-tls.c: Likewise.
44024         Rationale:
44025         Microsoft renamed the "Win32 API" to "Windows API", as it is available
44026         on both 32-bit and 64-bit Windows systems.
44027         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
44028         line of distinction is between "native Windows" on one side and Unix/
44029         POSIX systems on the other side. More details in
44030         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
44031         Suggested by Paul Eggert.
44033 2012-01-03  Bruno Haible  <bruno@clisp.org>
44035         isatty: Support for MSVC 9.
44036         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
44037         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
44038         (_isatty_nothrow): New function.
44039         (isatty): Use it instead of _isatty.
44040         (IsConsoleHandle): Add comment, from Paolo Bonzini.
44041         * lib/poll.c (IsConsoleHandle): Likewise.
44042         * lib/select.c (IsConsoleHandle): Likewise.
44043         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
44044         (gl_PREREQ_ISATTY): New macro.
44045         * modules/isatty (Depends-on): Add msvc-inval.
44046         (configure.ac): Invoke gl_PREREQ_ISATTY.
44048 2012-01-03  Jim Meyering  <meyering@redhat.com>
44050         maint.mk: remove temporary transition aid from over 1.5 years ago
44051         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
44052         purpose was to aid in the transition (avoiding silent malfunction)
44053         from that old name to the new _sc_search_regexp.  This shim was
44054         added by commit 219c504b.
44056         init.sh: do not try to accommodate compare arguments starting with "-"
44057         * tests/init.sh (compare_dev_null_): Do not try to accommodate
44058         compare arguments that start with "-".  Besides, we do not worry
44059         about this when invoking diff or cmp; why start now with sed?
44060         Using "--" to separate options from argument would trigger sed
44061         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
44062         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
44064 2012-01-02  Bruno Haible  <bruno@clisp.org>
44066         Enhance tests for module 'isatty'.
44067         * modules/isatty-tests (Depends-on): Add pipe-posix.
44068         * tests/test-isatty.c: Include <fcntl.h>.
44069         (DEV_NULL): New macro.
44070         (main): Test the resut of isatty() also on regular files, pipes, and
44071         /dev/null.
44073         New module 'isatty'.
44074         * lib/unistd.in.h (isatty): New declaration.
44075         * lib/isatty.c: New file, based on an idea of
44076         Bastien Roucariès <roucaries.bastien@gmail.com>.
44077         * m4/isatty.m4: New file.
44078         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
44079         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
44080         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
44081         REPLACE_ISATTY.
44082         * modules/isatty: New file.
44083         * doc/posix-functions/isatty.texi: Mention the new module.
44084         Suggested by Paolo Bonzini.
44086 2012-01-02  Bruno Haible  <bruno@clisp.org>
44088         canonicalize: Tweak 2011-12-29 commit.
44089         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
44090         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
44092 2012-01-02  Jim Meyering  <meyering@redhat.com>
44094         gitlog-to-changelog: describe input syntax in --help output
44095         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
44097         gitlog-to-changelog: fix typo in --help: show backslash before email @
44098         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
44099         in sources, but not in actual output.
44101 2011-12-30  Jim Meyering  <meyering@redhat.com>
44103         gitlog-to-changelog: don't malfunction when name contains %-directive
44104         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
44105         in a name string cause trouble.  E.g., with a user name of "%s",
44106         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
44108 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
44110         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
44111         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
44112         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
44113         the "  (tiny change)" notation that is appended to the standard
44114         ChangeLog "date  name  email" header line.
44116 2012-01-01  Jim Meyering  <meyering@redhat.com>
44118         test-framework-sh: init.sh: fix "make dist" failure
44119         When using gnulib-tool's --with-tests option and any module that
44120         depends on test-framework-sh, "make dist" would fail due to the
44121         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
44122         in the gltests directory, and not in the gllib/ directory.
44123         One way to work around that is to move the EXTRA_DIST += init.sh
44124         from the primary module to the -tests one:
44125         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
44126         * modules/test-framework-sh (Makefile.am): ...not here.
44127         Reported by Tom G. Christensen in
44128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
44130         version-etc: update copyright year reported by --version
44131         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
44133 2011-12-31  Pádraig Brady  <P@draigBrady.com>
44135         canonicalize: only stat() if required
44136         * lib/canonicalize.c (canonicalize_filename_mode):
44137         Avoid calling l?stat() when both CAN_MISSING,
44138         and CAN_NOLINKS are set, as we neither need
44139         to resolve symlinks or test component existence.
44141 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
44143         doc: cover st_ino issues once; add OpenVMS etc.
44144         * doc/posix-functions/stat.texi (stat):
44145         * doc/posix-functions/lstat.texi (lstat):
44146         * doc/posix-functions/fstatat.texi (fstatat):
44147         * doc/posix-functions/fstat.texi (fstat):
44148         Move general 'struct stat' stuff to sys_stat.texi,
44149         leaving behind a pointer.
44150         * doc/posix-headers/sys_stat.texi (sys/stat.h):
44151         Merge duplicate info about 'struct stat' problems into here.
44152         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
44153         and suggest partial workarounds.
44155         same-inode: port to OpenVMS
44156         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
44157         three st_ino values.
44159 2011-12-30  Pádraig Brady  <P@draigBrady.com>
44161         canonicalize: fix references to stat() and lstat()
44162         * lib/canonicalize.c (canonicalize_filename_mode):
44163         Ensure references always resolve to a replacement
44164         function if required (even via a macro).
44166 2011-12-30  Jim Meyering  <meyering@redhat.com>
44168         gitlog-to-changelog: remove a little duplication
44169         * build-aux/gitlog-to-changelog (main): Grep @lines once,
44170         rather than twice.
44172 2011-12-29  Pádraig Brady  <P@draigBrady.com>
44174         canonicalize: add support for not resolving symlinks
44175         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
44176         indicate we don't want to follow symlinks.  Also
44177         provide CAN_MODE_MASK to aid setting these existing
44178         mutually exclusive values.
44179         * lib/canonicalize.c (canonicalize_filename_mode):
44180         Extract the flags from can_mode parameter, which
44181         are currently just used to select between stat()
44182         and lstat().  Also ensure that mutually exclusive
44183         values are flagged immediately as invalid.
44184         * tests/test-canonicalize.c: Verify symlinks are
44185         not followed, and that invalid flag combinations
44186         are diagnosed.
44188 2011-12-25  Jim Meyering  <meyering@redhat.com>
44190         gitlog-to-changelog: do not clump multi-paragraph entries
44191         Identical header lines (date,name,email+coauthors) are suppressed,
44192         thus putting all entries with those same characteristics under
44193         a single header.  However, when a log entry consists of two or
44194         more paragraphs, it may not be clear where it starts and ends.
44195         This change makes it so that such an entry is always separated
44196         from others by a header line, even when that header would
44197         otherwise be suppressed.
44198         * build-aux/gitlog-to-changelog: Implement the above.
44199         Inspired by a related request from Stefano Lattarini in
44200         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
44202 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44204         announce-gen: fix `cmd' typo in diagnostic
44205         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
44206         diagnostic: a missing '$' meant that the command was not output.
44208 2011-12-23  Jim Meyering  <meyering@redhat.com>
44210         test-framework-sh: distribute init.sh
44211         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
44212         Otherwise, "make -C gnulib-tests check" (at least in grep) would
44213         fail due to the lack of init.sh.
44215         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
44216         * modules/atexit-tests: Rather than listing tests/init.sh,
44217         now that there's a module for it, simply depend on that new module.
44218         * modules/closein-tests: Likewise.
44219         * modules/exclude-tests: Likewise.
44220         * modules/getcwd-tests: Likewise.
44221         * modules/perror-tests: Likewise.
44222         * modules/pread-tests: Likewise.
44223         * modules/pwrite-tests: Likewise.
44224         * modules/vc-list-files-tests: Likewise.
44225         * modules/verify-tests: Likewise.
44226         * modules/xalloc-die-tests: Likewise.
44227         * modules/xstrtoimax-tests: Likewise.
44228         * modules/xstrtol-tests: Likewise.
44229         * modules/xstrtoll-tests: Likewise.
44230         * modules/xstrtoumax-tests: Likewise.
44231         * modules/yesno-tests: Likewise.
44233 2011-12-22  Jim Meyering  <meyering@redhat.com>
44235         test-framework-sh: add minimal tests of init.sh's compare function
44236         * modules/test-framework-sh-tests: New file.
44237         * tests/test-init.sh: New file.
44239         test-framework-sh: new module
44240         * modules/test-framework-sh: New file.
44241         * MODULES.html.sh (Support for maintaining and releasing projects):
44242         List it.
44244         init.sh: do not emit simulated diff output to stderr
44245         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
44247 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
44249         .gitignore: ignore gnulib.dvi and regex.info
44250         * doc/.gitignore:add gnulib.dvi and regex.info
44252 2011-12-22  Jim Meyering  <meyering@redhat.com>
44254         init.sh: correct previous change
44255         * tests/init.sh (compare): My previous change was wrong.
44256         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
44258         init.sh: avoid unwarranted test failure when using "set -e"
44259         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
44260         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
44261         a use like "compare exp out" would get evoke an unconditional failure.
44263 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
44265         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
44266         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
44267         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
44268         autoreconf that did not.
44269         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
44270         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44272 2011-12-17  Jim Meyering  <meyering@redhat.com>
44274         bootstrap: remove some now-unneeded code
44275         This script arose back when gnulib-tool was young.
44276         Since then, it has seen improvements that render much of this
44277         script unnecessary.  In particular, it can now make symlinks
44278         to the files it uses.  Also, I no longer see as much value in
44279         marking files as read-only via comments.
44280         If you relied on the symlink-creation feature of the preceding
44281         version of this script, you can get most of that functionality
44282         by adding the --symlink option to the definition of
44283         gnulib_tool_option_extras in your bootstrap.conf file.
44284         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
44285         Run autopoint and libtoolize *before* gnulib-tool.
44286         After it, run an abbreviated autoreconf, rather than a loop around
44287         all tools.
44288         (slirp, bt_mark_as_generated): Remove functions.
44290 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44292         ftoastr: fix typo
44293         * lib/ftoastr.h: Fix misspelling in comment.
44295 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
44297         * top/README-release: fix punctuation.
44299 2011-12-17  Jim Meyering  <meyering@redhat.com>
44301         bootstrap: correct the recent buildreq change
44302         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
44303         had no effect.
44304         * build-aux/bootstrap (buildreq): Bracket each search term with
44305         "*...*", so that the shell "case" statement works as intended.
44306         Add comments.
44308 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
44310         build: let bootstrap resort to wget when downloading .po files
44311         * build-aux/bootstrap (download_po_files): Fallback to wget when
44312         downloading the .po files via rsync fails.  This is necessary to
44313         bootstrap from behind a strict firewall.
44315 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44317         stdint: don't assume C++11 when compiling with g++
44318         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
44319         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
44320         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
44321         work also in C++ before C++11, as that improperly inhibits
44322         generating a substitute stdint.h for that case.
44324 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44326         alloca: protect comment from gnulib-tool
44327         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
44328         that gnulib-tool doesn't think it's a license, and munge it to
44329         say "GCC version 3".
44331 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
44333         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
44334         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
44335         $(abs_top_builddir) instead of $(top_builddir).
44337 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
44339         strftime-tests: also test nanoseconds
44340         * tests/test-strftime.c (T): Add a test of %N.
44342 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
44344         inttypes, stdint: add C++11 support
44345         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
44346         when including inttypes.h and stdint.h.  Support this change to
44347         the standard.
44348         * doc/posix-headers/inttypes.texi (inttypes.h):
44349         * doc/posix-headers/stdint.texi (stdint.h): Document this.
44350         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
44351         Define if not defined already, for the benefit of pre-C++11 hosts.
44352         Define the standard format macros (e.g., PRId8) always.
44353         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
44354         Likewise, if __cpluspus.  Define the standard constant and limit
44355         macros (e.g., INT8_C, INT8_MAX) always.
44356         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
44357         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
44358         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
44359         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
44360         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
44361         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
44362         Likewise.
44364 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44366         nonblocking tests: Fix test failure on Linux/PPC.
44367         Suggested by Prerna Saxena in
44368         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
44369         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
44370         Set to 1100000.
44372 2011-12-12  Jim Meyering  <meyering@redhat.com>
44374         argmatch: don't hard-code `' when listing valid option arguments
44375         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
44376         use the quote function to add quotes.  Use fputs rather than
44377         fprintf for the format string with no format directive.
44379 2011-12-07  Eric Blake  <eblake@redhat.com>
44381         bootstrap: detect tools required by gnulib-tool
44382         * build-aux/bootstrap (buildreq): Provide minimum implicit
44383         dependencies.
44384         * DEPENDENCIES: Mention patch as a prereq.
44386 2011-12-04  Bruno Haible  <bruno@clisp.org>
44388         sethostname: Port to Windows platforms.
44389         * lib/sethostname.c: Provide an alternate implementation for Windows
44390         platforms.
44391         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
44392         (main): Skip the test if sethostname() fails with EPERM. On Windows
44393         platforms, don't check the result of gethostname().
44395 2011-12-04  Bruno Haible  <bruno@clisp.org>
44396             Jim Meyering  <meyering@redhat.com>
44398         tests: Avoid spurious error message on platforms without mktemp program.
44399         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
44401 2011-12-04  Bruno Haible  <bruno@clisp.org>
44403         sethostname: Fix documentation.
44404         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
44405         "not fixed" section.
44407 2011-12-03  Bruno Haible  <bruno@clisp.org>
44409         gnulib-tool: Verify that the License field is present and non-empty.
44410         * gnulib-tool (func_get_license_raw): New function, extracted from
44411         func_get_license.
44412         (func_get_license): Use it. Warn if the module is not a test module and
44413         has no license.
44414         Suggested by Jim Meyering.
44416 2011-12-03  Bruno Haible  <bruno@clisp.org>
44418         sethostname tests: Fix link error on mingw.
44419         * tests/test-sethostname1.c: New file, extracted from
44420         tests/test-sethostname.c.
44421         * tests/test-sethostname2.c: New file, extracted from
44422         tests/test-sethostname.c.
44423         * tests/test-sethostname.c: Remove file.
44424         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
44425         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
44426         (Depends-on): Add gethostname.
44427         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
44428         Link the latter with $(GETHOSTNAME_LIB).
44430         sethostname tests: Fix compilation error on mingw.
44431         * tests/test-sethostname.c: Don't include <sys/types.h>.
44432         (geteuid): Use a dummy value without uid_t.
44433         * modules/sethostname-tests (Depends-on): Remove sys_types.
44435         sethostname tests: Avoid a gcc warning.
44436         * tests/test-sethostname.c (main): Remove an unused variable.
44438         Tweak last commit.
44439         * modules/sethostname-tests (Files): Sort by decreasing importance.
44440         (configure.ac): Check for geteuid.
44441         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
44442         the test when there's nothing to test. Drop an unnecessary cast.
44443         Improve an error message. Verify that the final sethostname() call
44444         succeeds.
44446 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44448         Add a test suite for the sethostname module.
44449         * modules/sethostname-tests: New file.  A test program
44450         for the sethostname module.
44451         * tests/test-sethostname.c: Likewise.
44453 2011-12-03  Bruno Haible  <bruno@clisp.org>
44455         Tweak last commit.
44456         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
44457         Fix preprocessor directives indentation. Fix typos.
44458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44459         * modules/unistd (Makefile): Likewise.
44461 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44463         Integrate the sethostname module into unistd.
44464         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
44465         into the unistd.h header.
44466         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
44467         preprocessor directives.
44468         * modules/unistd: Setup the Makefile substitutions of the
44469         SETHOSTNAME preprocessor directives.
44471 2011-12-03  Bruno Haible  <bruno@clisp.org>
44473         Tweak last commit.
44474         * lib/sethostname.c: Don't include <string.h>.
44475         (sethostname): No need to copy the argument string to the stack. Don't
44476         call clearerr. Preserve errno when fprintf failed.
44477         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
44478         Don't invoke AC_REPLACE_FUNCS.
44479         * modules/sethostname (Link): Remove empty section.
44480         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
44481         failure problem.
44483 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44485         New module 'sethostname'.
44486         * lib/sethostname.c (sethostname): New file.  Provide sethostname
44487         for systems that lack it.
44488         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
44489         sethostname declaration and function.
44490         * modules/sethostname: New file.  Define the sethostname module.
44492 2011-12-03  Bruno Haible  <bruno@clisp.org>
44494         Tweak last commit.
44495         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
44497 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44499         Split the HOST_NAME_MAX detection into a separate m4 macro.
44500         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
44501         macro so it can be used by the pending sethostname module.
44503 2011-12-03  Bruno Haible  <bruno@clisp.org>
44505         Fix module descriptions syntax.
44506         * modules/argv-iter (License): Fix syntax.
44507         * modules/di-set (License): Likewise.
44508         * modules/ino-map (License): Likewise.
44509         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
44511 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
44513         stdalign: port to Clang 3.0
44514         Problem reported by Simon Josefsson in
44515         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
44516         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
44517         which has <stdalign.h> but which does not define alignof.
44518         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
44520 2011-12-01  Eric Blake  <eblake@redhat.com>
44522         mktempd: silence dd usage
44523         * build-aux/mktempd (rand_bytes): Silence dd.
44525 2011-11-30  Simon Josefsson  <simon@josefsson.org>
44527         manywarnings: Don't mention gcc version in docstring.
44528         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
44529         Jim Meyering <meyering@redhat.com>.
44531 2011-11-30  Jim Meyering  <meyering@redhat.com>
44533         hash: mark a few floating point constants with "f" suffix
44534         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
44535         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
44536         floating point constants with "f", since they're destined to be
44537         saved/used as "float"s.
44539 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
44541         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
44542         * tests/test-float.c (test_long_double): Correct and re-enable the
44543         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
44545 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
44547         Avoid subtracting two pointers that don't point into the same block.
44548         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
44549         only pointers into the same memory block are subtracted. We cannot
44550         assume that sizeof (ptrdiff_t) == sizeof (void *).
44552 2011-11-29  Eric Blake  <eblake@redhat.com>
44554         maint.mk: add syntax check for use of compare from init.sh
44555         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
44556         moved here from coreutils.
44558         manywarnings: drop -Wunsuffixed-float-constants
44559         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
44560         '1.0D', which is the only way to silence this warning for 'double'.
44562 2011-11-29  Jim Meyering  <meyering@redhat.com>
44564         hash: mark compute_bucket_size with the pure attribute
44565         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
44567         quotearg, propername: correct pragma guard expression
44568         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
44569         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
44571 2011-11-28  Jim Meyering  <meyering@redhat.com>
44573         propername: do not mark proper_name with the const attribute
44574         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
44575         since it examines data pointed to by its parameter.
44576         * lib/propername.c (proper_name): Instead, add a pragma to suppress
44577         the suggestion from -Wsuggest-attribute=const.
44579         propername: mark one more function as const
44580         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
44582 2011-11-27  Jim Meyering  <meyering@redhat.com>
44584         mark functions with const and pure attributes
44586         Mark functions per suggestions from gcc-4.6 when using these options:
44587         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
44588         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
44589         Follow these guidelines: when possible, apply the attribute to
44590         an extern declaration, not to its definition.  Apply it to the
44591         definition only when the definition is static.
44592         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
44593         * lib/argv-iter.h (argv_iter_n_args): Likewise.
44594         * lib/base64.h (isbase64): Likewise.
44595         * lib/basename-lgpl.c (last_component, base_len): Likewise.
44596         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
44597         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
44598         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
44599         (c_tolower, c_toupper): Likewise.
44600         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
44601         * lib/chdir-long.c (find_non_slash): Likewise.
44602         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
44603         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
44604         * lib/file-type.h (file_type): Likewise.
44605         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
44606         * lib/filevercmp.c (verrevcmp): Likewise.
44607         * lib/freadahead.h (freadahead): Likewise.
44608         * lib/fts.c (fts_maxarglen): Likewise.
44609         * lib/hash-pjw.h (hash_pjw): Likewise.
44610         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
44611         * lib/hash.c (is_prime, next_prime): Likewise.
44612         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
44613         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
44614         (hash_table_ok, hash_get_first, hash_string): Likewise.
44615         (compute_bucket_size): Likewise.
44616         * lib/i-ring.h (i_ring_empty): Likewise.
44617         * lib/isnan.c (isnanl): Likewise.
44618         * lib/math.h (isnanl, rpl_isnanl): Likewise.
44619         * lib/memcasecmp.h (memcasecmp): Likewise.
44620         * lib/memchr2.h (memchr2): Likewise.
44621         * lib/memcmp2.h (memcmp2): Likewise.
44622         * lib/parse-datetime.y (lookup_zone): Likewise.
44623         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
44624         [!WINDOWS_SOCKETS]: Likewise.
44625         * lib/strnlen1.h (strnlen1): Likewise.
44626         * lib/uniwidth.in.h (uc_width): Likewise.
44627         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
44628         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
44629         (quoting_options_from_style): Add a comment.
44630         * lib/propername.h (proper_name): Add a comment.
44632 2011-11-27  Bruno Haible  <bruno@clisp.org>
44634         Remove unused macros from !_LIBC code in glibc-borrowed files.
44635         * lib/fnmatch.c (STRCOLL): Remove macro.
44636         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
44637         * lib/glob.c (__stat, __readdir64): Remove macros.
44638         * lib/tempname.c (__open64, __xstat64): Remove macros.
44639         Suggested by Paul Eggert.
44641 2011-11-27  Bruno Haible  <bruno@clisp.org>
44643         getcwd: Fix link error on MSVC 9.
44644         * modules/getcwd (Depends-on): Add readdir, rewinddir.
44646 2011-11-27  Bruno Haible  <bruno@clisp.org>
44648         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
44649         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
44650         HAVE_OPENDIR is 0.
44651         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
44652         HAVE_CLOSEDIR is 0.
44653         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
44654         is 0.
44655         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
44657 2011-11-27  Bruno Haible  <bruno@clisp.org>
44659         getcwd: Fix bug from 2011-08-17.
44660         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
44661         platforms that need it.
44662         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
44663         code of 4 to be a failure, not a success. This ensures that
44664         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
44666 2011-11-27  Bruno Haible  <bruno@clisp.org>
44668         binary-io tests: Avoid test failure on mingw when libtool is used.
44669         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
44670         Don't verify the size of t-bin-out1.tmp here.
44671         * tests/test-binary-io.sh: Verify it here.
44672         Reported by Simon Josefsson.
44674 2011-11-26  Bruno Haible  <bruno@clisp.org>
44676         Fix conflict between two instantiations of module 'unistd'.
44677         * gnulib-tool (func_emit_autoconf_snippet): Substitute
44678         ${include_guard_prefix} also in the autoconf snippet.
44679         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
44680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
44681         GNULIB_UNISTD_H_GETOPT.
44682         * modules/getopt-posix (configure.ac): Set the
44683         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
44684         * modules/getopt-gnu (configure.ac): Likewise.
44685         * modules/unistd (Makefile.am): Change the substitution value of
44686         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
44687         Reported by Simon Josefsson.
44689 2011-11-25  Bruno Haible  <bruno@clisp.org>
44691         pagealign_alloc: Doc and comments.
44692         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
44693         module.
44694         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
44696 2011-11-25  Jim Meyering  <meyering@redhat.com>
44698         test-update-copyright.sh: avoid false-positive failure
44699         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
44700         around false positive failure on Cygwin/Windows.  The latter was
44701         matching erroneously-created files with names like
44702         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
44704 2011-11-25  Simon Josefsson  <simon@josefsson.org>
44706         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
44707         * m4/valgrind-tests.m4: Check that the parameters that will be
44708         used works, not just a subset of them.  Reported by Bruno Haible
44709         <bruno@clisp.org>.
44711 2011-11-24  Jim Meyering  <meyering@redhat.com>
44713         test-stdalign.c: comment out long double tests
44714         * tests/test-stdalign.c: Don't try to reduce alignment of long double
44715         variables.  That provokes errors like this from gcc-4.7.0 20111124:
44716         error: '_Alignas' specifiers cannot reduce alignment of \
44717         'static_longdouble_alignas'.
44719 2011-11-22  Jim Meyering  <meyering@redhat.com>
44721         init.sh: make "compare /dev/null FILE" output more readable
44722         * tests/init.sh (compare_): Document the preferred order of arguments.
44723         (emit_diff_u_header_): New function.
44724         (compare_dev_null_): Emit a simulated diff, rather than just the
44725         contents of the unexpected file.  Suggestion from Bruno Haible.
44727 2011-11-21  Jim Meyering  <meyering@redhat.com>
44728             Eric Blake  <eblake@redhat.com>
44730         init.sh: work around OSF/1 5.1's mishandling of /dev/null
44731         * tests/init.sh: Make our compare function slightly more portable.
44732         Reported by Bruno Haible in
44733         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
44735 2011-11-21  Simon Josefsson  <simon@josefsson.org>
44737         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
44738         before using it, in code that ends up in config.h.
44740 2011-11-20  Bruno Haible  <bruno@clisp.org>
44742         getcwd: Work around getcwd bug on AIX 5..7.
44743         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
44744         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
44745         Use a different value for gl_cv_func_getcwd_path_max. Move the
44746         definition of HAVE_PARTLY_WORKING_GETCWD from here...
44747         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
44748         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
44749         Define HAVE_MINIMALLY_WORKING_GETCWD.
44750         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
44751         where it is not even minimally working, that is, on AIX.
44752         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
44753         m4/getcwd-path-max.m4.
44754         (main): Update exit code computation.
44755         * doc/posix-functions/getcwd.texi: Mention list of platforms where
44756         getcwd does not handle long file names.
44758 2011-11-20  Bruno Haible  <bruno@clisp.org>
44760         getcwd: Fix bug from 2009-09-10.
44761         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
44762         like "no".
44764 2011-11-20  Simon Josefsson  <simon@josefsson.org>
44766         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
44768 2011-11-20  Bruno Haible  <bruno@clisp.org>
44770         fma tests: Avoid shadowing local variables.
44771         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
44772         expected.
44774 2011-11-20  Bruno Haible  <bruno@clisp.org>
44776         copysignf tests: Fix.
44777         * tests/test-copysignf.c: Fix signature check.
44779 2011-11-20  Bruno Haible  <bruno@clisp.org>
44781         fma: Remove unused code.
44782         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
44783         unused macros.
44785 2011-11-20  Bruno Haible  <bruno@clisp.org>
44787         sethostname: Fix doc about AIX.
44788         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
44789         sethostname; it has it.
44791         sethostname: Mention more portability problems.
44792         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
44793         problem.
44794         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
44796 2011-11-19  Bruno Haible  <bruno@clisp.org>
44798         Depend on module fcntl-h when AT_FDCWD is used.
44799         * modules/utimens (Depends-on): Add fcntl-h.
44800         * modules/areadlinkat (Depends-on): Likewise.
44801         * modules/areadlinkat-with-size (Depends-on): Likewise.
44802         * modules/faccessat (Depends-on): Likewise.
44803         * modules/fchmodat (Depends-on): Likewise.
44804         * modules/fchownat (Depends-on): Likewise.
44805         * modules/getcwd (Depends-on): Likewise.
44806         * modules/mkdirat (Depends-on): Likewise.
44807         * modules/mkfifoat (Depends-on): Likewise.
44808         * modules/readlinkat (Depends-on): Likewise.
44809         * modules/symlinkat (Depends-on): Likewise.
44810         * modules/dup2-tests (Depends-on): Likewise.
44811         * modules/fdutimensat-tests (Depends-on): Likewise.
44812         * modules/futimens-tests (Depends-on): Likewise.
44814 2011-11-19  Bruno Haible  <bruno@clisp.org>
44816         euidaccess: Update a comment.
44817         * lib/euidaccess.c: Update comment about platforms with faccessat.
44819 2011-11-19  Bruno Haible  <bruno@clisp.org>
44821         openat: Fix file list.
44822         * modules/openat (Files): Remove lib/at-func.c.
44824 2011-11-19  Bruno Haible  <bruno@clisp.org>
44826         fstatat: Simplify.
44827         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
44828         gnulib should define rpl_fstatat, there is a
44829         "#define fstatat rpl_fstatat" in <sys/stat.h>.
44831 2011-11-19  Bruno Haible  <bruno@clisp.org>
44833         Ensure 'inline' can be used in tests/test-utimens-common.h.
44834         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
44835         * modules/futimens-tests (configure.ac): Likewise.
44836         * modules/utimens-tests (configure.ac): Likewise.
44837         * modules/utimensat-tests (configure.ac): Likewise.
44839 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44841         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
44842         not hash_insert0.
44843         (hash_insert_if_absent): Doc fix.
44845 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44847         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
44849 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
44851         test-getcwd: disambiguate exit status
44852         * tests/test-getcwd.c (test_long_name): Return 0..7.
44853         (main): Exit with an unambiguous exit status.  The old
44854         code yielded a mysterious mixture of two failure codes.
44856         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
44857         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
44858         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
44859         rpl_fstatat or fstatat.  This should fix the other problem
44860         reported by Kai Habel in
44861         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44862         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
44863         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
44864         and I reproduced it on a Solaris 8 host we still have in production.
44866 2011-11-18  Jim Meyering  <meyering@redhat.com>
44868         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
44869         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
44870         Add a sentence to the comment.
44871         (hash_insert0): New function that simply calls hash_insert_if_absent.
44872         * lib/hash.h (hash_insert_if_absent): Declare it.
44873         (hash_insert0): Add deprecation attribute.
44874         (_GL_ATTRIBUTE_DEPRECATED): Define.
44875         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
44876         not hash_insert0.
44877         * NEWS: Mention it, even though it's not really an incompatible change.
44879 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
44881         openat: avoid compilation failure due to lack of <errno.h> inclusion
44882         * lib/openat.c: Include <errno.h>.
44884 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44886         * modules/getcwd (Depends-on): Add fdopendir.
44887         This fixes one of the two problems reported by Kai Habel in
44888         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44890         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
44891         stdalign problem reported by Ian Beckwith in
44892         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
44893         * modules/crypto/gc-arcfour (Depends-on):
44894         Depend conditionally on crypto/arcfour.
44895         * modules/crypto/gc-arctwo (Depends-on):
44896         Depend conditionally on crypto/arctwo.
44897         * modules/crypto/gc-des (Depends-on):
44898         Depend conditionally on crypto/des.
44899         * modules/crypto/gc-hmac-md5 (Depends-on):
44900         Depend conditionally on crypto/hmac-md5.
44901         * modules/crypto/gc-hmac-sha1 (Depends-on):
44902         Depend conditionally on crypto/hmac-sha1.
44903         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
44904         * modules/crypto/gc-md4 (Depends-on):
44905         Depend conditionally on crypto/md4.
44906         * modules/crypto/gc-md5 (Depends-on):
44907         Depend conditionally on crypto/md5.
44908         * modules/crypto/gc-rijndael (Depends-on):
44909         Depend conditionally on crypto/rijndael.
44910         * modules/crypto/gc-sha1 (Depends-on):
44911         Depend conditionally on crypto/sha1.
44912         * modules/crypto/gc-arcfour:
44913         * modules/crypto/gc-arctwo:
44914         * modules/crypto/gc-des:
44915         * modules/crypto/gc-hmac-md5:
44916         * modules/crypto/gc-hmac-sha1:
44917         * modules/crypto/gc-md2:
44918         * modules/crypto/gc-md4:
44919         * modules/crypto/gc-md5:
44920         * modules/crypto/gc-rijndael:
44921         * modules/crypto/gc-sha1:
44922         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
44923         now that the conditional dependencies do the work for us.
44925 2011-11-17  Jim Meyering  <meyering@redhat.com>
44927         tests: factor st_ctime-comparison out of two headers
44928         * tests/test-utimens-common.h (ctime_compare): Define.
44929         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
44930         * tests/test-lutimens.h (test_lutimens): Likewise.
44931         * tests/test-utimens.h (test_utimens): Likewise.
44933         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
44934         Invoke the test program via an init.sh-using wrapper.
44935         * tests/test-getcwd.sh: New file.
44936         * modules/getcwd-tests (Files): Add it.
44937         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
44939 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
44941         gitlog-to-changelog: support multi-author commits.
44942         The FSF cares about keeping track of all authors of patches to its
44943         projects, but Git doesn't provide obvious support for multi-author
44944         changesets. Consensus seems to be forming around the use of extra
44945         Signed-off-by inspired lines in the log message formatted as
44946         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
44947         multi-author commits between version control systems.
44948         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
44949         log message and output in standard ChangeLog multi-author format.
44950         Reported by Peter Rosin <peda@lysator.liu.se>
44952 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
44953             Bruno Haible  <bruno@clisp.org>
44955         Fix some modules' file list.
44956         * modules/fstatat (Files): Add m4/lstat.m4.
44957         * modules/openat (Files): Likewise.
44958         * modules/unlinkat (Files): Likewise.
44960 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
44962         maint.mk: fix tight-scope.mk generation in VPATH builds.
44963         * top/maint.mk (tight-scope.mk): Make sure to prefix file
44964         reference with $(srcdir) so that the file is found correctly even
44965         when running `make syntax-check' in a VPATH build.
44967 2011-11-13  Bruno Haible  <bruno@clisp.org>
44968             Jim Meyering  <meyering@redhat.com>
44970         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
44971         * tests/init.sh (compare): Remove "No differences encountered" or
44972         synonymous output from the 'diff' program.
44974 2011-11-13  Bruno Haible  <bruno@clisp.org>
44976         Makefile: Tweak indentation.
44977         * Makefile: Use tab as first character in every line that contains rule
44978         commands.
44980 2011-11-13  Bruno Haible  <bruno@clisp.org>
44982         Syntax check for copyright statements.
44983         * check-copyright: New file.
44984         * Makefile (sc_check_copyright): New rule.
44986 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44988         * build-aux/git-version-gen: Add --prefix to configure the tag
44989         match string.
44991 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44993         * build-aux/git-version-gen: Add --help and --version.
44995 2011-11-12  Jim Meyering  <meyering@redhat.com>
44997         revamp the other test-exclude?.sh scripts to use init.sh, too
44998         * tests/test-exclude1.sh: Use init.sh.
44999         * tests/test-exclude2.sh: Likewise.
45000         * tests/test-exclude3.sh: Likewise.
45001         * tests/test-exclude4.sh: Likewise.
45002         * tests/test-exclude5.sh: Likewise.
45003         * tests/test-exclude6.sh: Likewise.
45004         * tests/test-exclude7.sh: Likewise.
45005         * tests/test-exclude8.sh: Likewise.
45006         * modules/exclude-tests (Files): List init.sh.
45008         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
45009         These shell scripts ignored failure of the binary test-exclude,
45010         so making the latter return 77 didn't cause them to be skipped.
45011         * tests/test-exclude5.sh: Exit with test-exclude's error status
45012         when that program fails.  Revamp to use init.sh.
45013         * tests/test-exclude2.sh: Likewise.
45015         test-exclude: fix a typo
45016         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
45018 2011-11-11  Bruno Haible  <bruno@clisp.org>
45020         obstack: Fix compilation error on MSVC 9.
45021         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
45023 2011-11-11  Jim Meyering  <meyering@redhat.com>
45025         test-exclude: skip tests rather than failing on deficient systems
45026         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
45027         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
45028         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
45029         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
45031 2011-11-10  Bruno Haible  <bruno@clisp.org>
45033         ptsname_r test: Avoid gcc warning on glibc systems.
45034         * tests/test-ptsname_r.c (null_ptr): New function.
45035         (test_errors): Use it.
45037 2011-11-10  Bruno Haible  <bruno@clisp.org>
45039         ptsname_r: Avoid compilation error on OSF/1 5.1.
45040         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
45041         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
45042         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
45043         function is not declared or incompatibly declared.
45044         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
45045         * modules/ptsname_r (Depends-on, configure.ac): Update.
45046         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
45048 2011-11-10  Bruno Haible  <bruno@clisp.org>
45050         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
45051         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
45052         When cross-compiling, guess yes on all platforms except AIX.
45053         Reported by Ludovic Courtès <ludo@gnu.org>.
45055 2011-11-09  Bruno Haible  <bruno@clisp.org>
45057         ptsname_r tests: Fix bugs.
45058         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
45059         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
45061 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45063         fstatat: work with cross-compilation
45064         Problem reported by Ludovic Courtès in
45065         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
45066         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
45067         "cross-compiling" and assume the bug is present.  Replace
45068         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
45069         an inverted sense, to be more conservative about our assumptions.
45070         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
45072 2011-11-09  Bruno Haible  <bruno@clisp.org>
45074         Improve MODULES.html output.
45075         * modules/mkfifoat (Description): Use the word "function".
45076         * modules/readlinkat (Description): Likewise.
45077         * modules/symlinkat (Description): Likewise.
45079 2011-11-09  Eric Blake  <eblake@redhat.com>
45081         ptsname_r-tests: new test module
45082         * modules/ptsname_r-tests: New module.
45083         * tests/test-ptsname_r.c: New file.
45085         ptsname_r: new module
45086         * modules/ptsname_r: New module.
45087         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
45088         * lib/ptsname.c (__ptsname_r): Split...
45089         * lib/ptsname_r.c: ...into new file.
45090         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45091         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
45092         * modules/stdlib (Makefile.am): Substitute witnesses.
45093         * lib/stdlib.in.h (ptsname_r): Declare it.
45094         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
45095         * MODULES.html.sh (Misc): Likewise.
45096         * modules/ptsname (Depends-on): Alter dependency.
45097         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
45099 2011-11-09  Jim Meyering  <meyering@redhat.com>
45101         announce-gen: be more concise when there's only one URL+tarball
45102         * build-aux/announce-gen (get_tool_versions): When you distribute
45103         only one type of tarball, combine the first two "Here are..."
45104         sections and make the key-checking grammar independent of
45105         how many tarballs there are.
45107 2011-11-09  Eric Blake  <eblake@redhat.com>
45109         openpty: provide a stub on mingw
45110         * lib/pty.in.h (includes): Provide forward declarations.
45111         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
45113         raise: fix mingw handling of SIGPIPE
45114         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
45116 2011-11-08  Bruno Haible  <bruno@clisp.org>
45118         More conditional dependencies.
45119         * modules/faccessat (Depends-on): Add conditions.
45120         * modules/fchmodat (Depends-on): Likewise.
45121         * modules/fchownat (Depends-on): Likewise.
45122         * modules/fstatat (Depends-on): Likewise.
45123         * modules/mkfifoat (Depends-on): Likewise.
45124         * modules/readlinkat (Depends-on): Likewise.
45125         * modules/symlinkat (Depends-on): Likewise.
45126         * modules/unlinkat (Depends-on): Likewise.
45127         * modules/utimensat (Depends-on): Likewise.
45128         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
45129         * modules/linkat (Depends-on): Refine the conditions.
45130         * modules/renameat (Depends-on): Likewise.
45132 2011-11-08  Bruno Haible  <bruno@clisp.org>
45134         faccessat: Move AC_LIBOBJ invocation to module description.
45135         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
45136         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
45137         invocation from here...
45138         * modules/faccessat (configure.ac): ... to here. Invoke
45139         gl_PREREQ_FACCESSAT.
45141 2011-11-08  Bruno Haible  <bruno@clisp.org>
45143         faccessat: Simplify autoconf macro.
45144         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
45145         gl_FUNC_EUIDACCESS.
45147 2011-11-08  Bruno Haible  <bruno@clisp.org>
45149         renameat: Fix dependencies.
45150         * modules/renameat (Depends-on): Add stdbool.
45152 2011-11-08  Bruno Haible  <bruno@clisp.org>
45154         mkfifoat: Fix module description.
45155         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
45156         not gl_UNISTD_MODULE_INDICATOR.
45158 2011-11-08  Bruno Haible  <bruno@clisp.org>
45160         fstatat: Remove unused dependency.
45161         * modules/fstatat (Depends-on): Remove fstat.
45163 2011-11-08  Simon Josefsson  <simon@josefsson.org>
45165         GNUmakefile: behave when Makefile is missing.
45166         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
45168 2011-11-08  Bruno Haible  <bruno@clisp.org>
45170         openat: Conditionalize dependencies.
45171         * lib/openat.c: Reduce the scope of some #includes.
45172         * modules/openat (Depends-on): Add conditions.
45174 2011-11-07  Jim Meyering  <meyering@redhat.com>
45176         maint.mk: extract GPG key ID without using a temporary file
45177         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
45178         without using a temporary file.  Based on a suggestion from Werner Koch
45179         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
45181 2011-11-07  Eric Blake  <eblake@redhat.com>
45183         grantpt: fix typo
45184         * lib/stdlib.in.h (grantpt): Check correct function.
45186         maint.mk: silence new syntax check
45187         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
45189 2011-11-06  Bruno Haible  <bruno@clisp.org>
45191         Doc about floating-point and math API.
45192         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
45193         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
45195 2011-11-06  Bruno Haible  <bruno@clisp.org>
45197         stdalign tests: Skip the test when compiled by Sun C.
45198         * tests/test-stdalign.c (main): Skip the test on Sun C.
45200 2011-11-06  Bruno Haible  <bruno@clisp.org>
45202         ansi-c++-opt: Complete the 2011-06-05 change.
45203         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
45204         does not support namespaces, set the variable to "no", not to ":".
45206 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45208         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
45210 2011-11-06  Bruno Haible  <bruno@clisp.org>
45212         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
45213         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
45214         (minus_zerol) [HP-UX]: New macro.
45215         (unary_minus) [HP-UX]: New function.
45216         (copysignl) [HP-UX]: Use unary_minus function.
45218 2011-11-06  Bruno Haible  <bruno@clisp.org>
45220         ldexp, ldexpf, ldexpl: Enhance tests.
45221         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
45222         and tests/test-ldexpl.c.
45223         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
45224         LDEXP, MIN_EXP, MAX_EXP): New macros.
45225         Include test-ldexp.h.
45226         (main): Just call test_function.
45227         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
45228         infinity.h, nan.h.
45229         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45230         MAX_EXP): New macros.
45231         Include test-ldexp.h.
45232         (x, y): Remove variables.
45233         (main): Just call test_function.
45234         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
45235         infinity.h, nan.h.
45236         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45237         MAX_EXP): New macros.
45238         Include test-ldexp.h.
45239         (x, y): Remove variables.
45240         (main): Just call test_function.
45241         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
45242         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
45243         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45244         (Depends-on): Add isnand-nolibm, signbit, float.
45245         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
45246         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45247         (Depends-on): Add isnanf-nolibm, signbit, float.
45249 2011-11-06  Bruno Haible  <bruno@clisp.org>
45251         math tests: Cosmetics.
45252         * tests/test-math-c++.cc: Reorder declarations.
45254 2011-11-05  Bruno Haible  <bruno@clisp.org>
45256         fma*: Simplify test.
45257         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
45258         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
45260         Tests for module 'fmal'.
45261         * modules/fmal-tests: New file.
45262         * tests/test-fmal1.c: New file.
45263         * tests/test-fmal2.c: New file.
45265         New module 'fmal'.
45266         * lib/math.in.h (fmal): New declaration.
45267         * lib/fmal.c: New file.
45268         * m4/fmal.m4: New file.
45269         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
45270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
45271         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
45272         REPLACE_FMAL.
45273         * modules/fmal: New file.
45274         * doc/posix-functions/fmal.texi: Mention the new module and the various
45275         bugs.
45277         Tests for module 'fmaf'.
45278         * modules/fmaf-tests: New file.
45279         * tests/test-fmaf1.c: New file.
45280         * tests/test-fmaf2.c: New file.
45282         New module 'fmaf'.
45283         * lib/math.in.h (fmaf): New declaration.
45284         * lib/fmaf.c: New file.
45285         * m4/fmaf.m4: New file.
45286         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
45287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
45288         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
45289         REPLACE_FMAF.
45290         * modules/fmaf: New file.
45291         * doc/posix-functions/fmaf.texi: Mention the new module and the various
45292         bugs.
45294         Tests for module 'fma'.
45295         * modules/fma-tests: New file.
45296         * tests/test-fma1.c: New file.
45297         * tests/test-fma1.h: New file.
45298         * tests/test-fma2.c: New file.
45299         * tests/test-fma2.h: New file.
45301         New module 'fma'.
45302         * lib/math.in.h (fma): New declaration.
45303         * lib/fma.c: New file.
45304         * m4/fma.m4: New file.
45305         * m4/fegetround.m4: New file.
45306         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
45307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
45308         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
45309         REPLACE_FMA.
45310         * modules/fma: New file.
45311         * doc/posix-functions/fma.texi: Mention the new module and the various
45312         bugs.
45314         Extend gl_MATHFUNC.
45315         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
45316         Support 'void' as argument type.
45317         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
45319 2011-11-05  Jim Meyering  <meyering@redhat.com>
45321         maint.mk: also prohibit inclusion of dirent.h without use
45322         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
45324 2011-11-05  Bruno Haible  <bruno@clisp.org>
45326         ldexpl tests: Avoid test failure on MSVC 9.
45327         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
45328         value. Needed in order to enforce the conversion from a value greater
45329         than LDBL_MAX to Infinity.
45331 2011-11-05  Bruno Haible  <bruno@clisp.org>
45333         New modules 'at-internal', 'openat-h', split off from module 'openat'.
45334         * modules/at-internal: New file, extracted from modules/openat.
45335         * modules/openat-h: New file.
45336         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
45337         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
45338         * modules/openat (Description): Add reference to POSIX function.
45339         (Files): Remove lib/openat.h, lib/openat-proc.c.
45340         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
45341         intprops, unistd.
45342         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
45343         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
45344         gl_FCNTL_MODULE_INDICATOR.
45345         (Include): Remove unistd.h, openat.h.
45346         * modules/areadlinkat (Files): Add lib/at-func.c.
45347         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45348         openat-die, openat-h, save-cwd.
45349         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
45350         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45351         openat-die, openat-h, save-cwd, unistd.
45352         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
45353         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45354         openat-h, save-cwd. Remove fcntl-h, openat.
45355         * modules/fchmodat (Files): Remove lib/openat.h.
45356         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45357         openat, stdbool, unistd.
45358         * modules/fchownat (Files): Remove lib/openat.h.
45359         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45360         openat, stdbool, sys_stat.
45361         * modules/fdopendir (Files): Remove lib/openat-priv.h,
45362         lib/openat-proc.c.
45363         (Depends-on): Add at-internal.
45364         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
45365         * modules/fstatat (Files): Remove lib/openat.h.
45366         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45367         stdbool, unistd.
45368         * modules/fts (Depends-on): Add openat-h.
45369         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
45370         openat.
45371         * modules/mkdirat (Files): Remove lib/openat.h.
45372         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45373         openat, stdbool, sys_stat.
45374         * modules/mkfifoat (Files): Add lib/at-func.c.
45375         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45376         openat-h, save-cwd. Remove fcntl-h, openat.
45377         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
45378         * modules/readlinkat (Files): Add lib/at-func.c.
45379         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45380         openat-h, save-cwd. Remove fcntl-h, openat.
45381         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
45382         openat.
45383         * modules/selinux-at (Files): Add lib/at-func.c.
45384         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45385         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
45386         * modules/symlinkat (Files): Add lib/at-func.c.
45387         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45388         openat-h, save-cwd. Remove fcntl-h, openat.
45389         * modules/unlinkat (Files): Remove lib/openat.h.
45390         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45391         stdbool.
45392         * modules/utimensat (Files): Add lib/at-func.c.
45393         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
45394         openat-die, openat-h, save-cwd.
45395         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
45396         * modules/fdutimensat-tests (Depends-on): Add openat.
45397         * modules/fstatat-tests (Depends-on): Add openat-h.
45398         * modules/readlinkat-tests (Depends-on): Add openat.
45399         * modules/symlinkat-tests (Depends-on): Add openat.
45401 2011-11-05  Bruno Haible  <bruno@clisp.org>
45403         openat: Include <stdbool.h>.
45404         * lib/openat.c: Include <stdbool.h>.
45406 2011-11-04  Bruno Haible  <bruno@clisp.org>
45408         fchownat, renameat, unlinkat: Fix dependencies.
45409         * modules/fchownat (Depends-on): Add fstatat.
45410         * modules/renameat (Depends-on): Likewise.
45411         * modules/unlinkat (Depends-on): Likewise.
45413 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45415         openat: remove direct dependency on dirent
45416         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
45417         and hasn't been needed ever since fdopendir was split into its own
45418         module on 2009-08-31.
45419         * modules/openat (Depends-on): Remove dirent.
45421 2011-11-04  Bruno Haible  <bruno@clisp.org>
45423         renameat: Optimize code size.
45424         * modules/renameat (configure.ac): Don't compile at-func2.c if
45425         REPLACE_RENAMEAT is 1.
45427 2011-11-04  Bruno Haible  <bruno@clisp.org>
45429         openat tests: Fix file list.
45430         * modules/openat-tests (Files): Add tests/test-open.h.
45432 2011-11-04  Bruno Haible  <bruno@clisp.org>
45434         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
45435         * modules/fchmodat (Depends-on): Add openat-die.
45436         * modules/fchownat (Depends-on): Likewise.
45437         * modules/linkat (Depends-on): Likewise.
45438         * modules/renameat (Depends-on): Likewise.
45439         * modules/openat (Depends-on): Add dirent.
45441 2011-11-04  Jim Meyering  <meyering@redhat.com>
45443         at-func*.c: fix comments
45444         * lib/at-func2.c: Correct/improve first-line comment.
45445         * lib/at-func.c: Correct grammar in first-line comment.
45447 2011-11-04  Bruno Haible  <bruno@clisp.org>
45449         New module 'mkdirat', split off from module 'openat'.
45450         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
45451         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
45452         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
45453         * modules/mkdirat: New file, extracted from modules/openat.
45454         * modules/openat (Files): Remove lib/mkdirat.c.
45455         (Depends-on): Remove mkdir.
45456         (configure.ac): Remove AC_LIBOBJ of mkdirat.
45457         (Include): Remove <sys/stat.h>.
45458         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
45459         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
45460         tests/test-mkdir.h.
45461         (Depends-on): Remove ignore-value.
45462         (Makefile.am): Remove rules for test-mkdirat.
45463         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
45464         of module 'openat'.
45465         * NEWS: Mention the change.
45467 2011-11-04  Bruno Haible  <bruno@clisp.org>
45469         closedir: Avoid warning on mingw.
45470         * lib/closedir.c: Include <unistd.h>.
45472 2011-11-04  Bruno Haible  <bruno@clisp.org>
45474         New module 'fstatat', split off from module 'openat'.
45475         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
45476         defined.
45477         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
45478         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
45479         gl_FUNC_FSTATAT.
45480         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
45481         * modules/fstatat: New file, extracted from modules/openat.
45482         * modules/openat (Files): Remove lib/fstatat.c.
45483         (Depends-on): Remove lstat.
45484         (configure.ac): Remove AC_LIBOBJ of fstatat.
45485         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
45486         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
45487         tests/test-lstat.h, tests/test-stat.h.
45488         (Depends-on): Remove getcwd-lgpl.
45489         (Makefile.am): Remove rules for test-fstatat.
45490         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
45491         of module 'openat'.
45492         * NEWS: Mention the change.
45493         * modules/getcwd (Depends-on): Add fstatat.
45494         * modules/linkat (Depends-on): Likewise.
45495         * modules/mkfifoat-tests (Depends-on): Likewise.
45496         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
45498 2011-11-03  Bruno Haible  <bruno@clisp.org>
45500         New module 'unlinkat', split off from module 'openat'.
45501         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
45502         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
45503         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
45504         * modules/unlinkat: New file, extracted from modules/openat. Correct
45505         the dependency conditions.
45506         * modules/openat (Files): Remove lib/unlinkat.c.
45507         (Depends-on): Remove rmdir, unlink.
45508         (configure.ac): Remove AC_LIBOBJ of unlinkat.
45509         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
45510         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
45511         tests/test-rmdir.h, tests/test-unlink.h.
45512         (Depends-on): Remove unlinkdir.
45513         (Makefile.am): Remove rules for test-unlinkat.
45514         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
45515         of module 'openat'.
45516         * NEWS: Mention the change.
45517         * modules/linkat-tests (Depends-on): Add unlinkat.
45518         * modules/mkfifoat-tests (Depends-on): Likewise.
45519         * modules/readlinkat-tests (Depends-on): Likewise.
45521 2011-11-02  Bruno Haible  <bruno@clisp.org>
45523         New module 'fchmodat', split off from module 'openat'.
45524         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
45525         defined.
45526         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
45527         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
45528         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
45529         * modules/fchmodat: New file, extracted from modules/openat.
45530         * modules/openat (Files): Remove lib/fchmodat.c.
45531         (configure.ac): Remove AC_LIBOBJ of fchmodat.
45532         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
45533         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
45534         (Makefile.am): Remove rules for test-fchmodat.
45535         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
45536         of module 'openat'.
45537         * NEWS: Mention the change.
45539 2011-11-02  Jim Meyering  <meyering@redhat.com>
45541         putenv: indent #definition of "environ" to placate cppi
45542         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
45544         gitlog-to-changelog: provide a ChangeLog-repair mechanism
45545         Git logs are often treated as immutable, because editing them
45546         changes the SHA1 checksums of all descendants.  Thus, errors in
45547         git logs tend to stay there forever.  However, when we generate
45548         a ChangeLog file -- typically for distribution -- from that git log,
45549         we can actually make corrections in the generated file.  The key
45550         lies in recording in machine-readable/applicable form the desired
45551         corrections.  See --help for description and an example.
45552         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
45553         (usage): Describe it; alphabetize option descriptions.
45554         (main): Honor the new option, carefully.
45556 2011-11-01  Jim Meyering  <meyering@redhat.com>
45558         gitlog-to-changelog: avoid an infloop
45559         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
45560         that ends up being empty.
45562 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45564         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
45565         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
45566         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
45567         contains (possibly-quoted) backslashes.  This should avoid
45568         all-too-common shell bugs if COMPLICATED contains backslashes in
45569         the "wrong" places.  Reported by David Evans in
45570         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
45571         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
45572         because we want ASCII ranges.  Is there some reason we don't use
45573         the C locale everywhere in this script?
45574         (func_module, top level): Avoid unwanted pathname expansion when
45575         $repo_url_prefix or $repo_url_suffix_repl contain shell
45576         metacharacters like '?' and '*'.
45578 2011-11-01  Bruno Haible  <bruno@clisp.org>
45580         fchownat: Improve description.
45581         * modules/fchownat (Description): Add link to function.
45583 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45585         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
45586         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
45587         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
45588         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
45590 2011-11-01  Bruno Haible  <bruno@clisp.org>
45592         alignof: Avoid collision with stdalign module.
45593         * lib/alignof.h (alignof): Remove macro.
45594         * NEWS: Mention the change.
45595         Reported by Paul Eggert.
45597 2011-11-01  Bruno Haible  <bruno@clisp.org>
45599         New module 'fchownat', split off from module 'openat'.
45600         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
45601         defined.
45602         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
45603         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
45604         invoke gl_FUNC_FCHOWNAT.
45605         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45606         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
45607         * modules/fchownat: New file, extracted from modules/openat.
45608         * modules/openat (Files): Remove lib/fchownat.c.
45609         (Depends-on): Remove lchown.
45610         (configure.ac): Remove AC_LIBOBJ of fchownat.
45611         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
45612         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
45613         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
45614         (Depends-on): Remove mgetgroups, usleep, stat-time.
45615         (configure.ac): Remove test for getegid.
45616         (Makefile.am): Remove rules for test-fchownat.
45617         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
45618         of module 'openat'.
45619         * NEWS: Mention the change.
45621 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45623         stdalign: port better to MSVC and to Sun C 5.11
45624         This fixes some of the problems reported by Bruno Haible in
45625         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
45626         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
45627         shortcomings of MSVC and of Sun C 5.11.
45628         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
45629         around __declspec arg.
45630         * modules/stdalign-tests (Files): Add tests/macros.h.
45631         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
45632         Include macros.h, for ASSERT.
45633         (DECLARE_ALIGNED): Remove.
45634         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
45635         to catch bug), and to 1 if not (simplifies the rest of the code).
45636         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
45637         (CHECK_AUTO): Remove.
45638         (CHECK_ALIGNED): Check only the alignment of the static vars,
45639         since auto var alignment isn't supported by Sun C 5.11.
45640         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
45641         ASSERT failures are easier to diagnose.
45643 2011-10-31  Bruno Haible  <bruno@clisp.org>
45645         doc about some IRIX 5.3 problems.
45646         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
45647         on IRIX 5.3.
45648         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
45649         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
45650         5.3.
45651         * doc/posix-functions/grantpt.texi: Likewise.
45652         * doc/posix-functions/unlockpt.texi: Likewise.
45653         * doc/posix-functions/lgamma.texi: Likewise.
45654         * doc/posix-functions/nextafter.texi: Likewise.
45655         * doc/posix-functions/remainder.texi: Likewise.
45656         * doc/posix-functions/select.texi: Mention misplaced declaration on
45657         IRIX 5.3.
45658         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45660 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
45662         gitlog-to-changelog: fix git-log invocation.
45663         git-log mishandles date strings before 1970-01-01 UTC, and there is
45664         no use to specify --since=1970-01-01 by default anyway.
45665         * build-aux/gitlog-to-changelog: By default, when no --since option
45666         was given, do not specify explicit --since option to git-log.
45668 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
45670         gitlog-to-changelog: new option --append-dot.
45671         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
45672         first non-blank line of each commit message terminated with a dot.
45674 2011-10-30  Bruno Haible  <bruno@clisp.org>
45676         ffsl, ffsll: Avoid compilation error due to 'restrict'.
45677         * lib/ffsl.h: Include <config.h>.
45678         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
45680 2011-10-30  Jim Meyering  <meyering@redhat.com>
45682         GNUmakefile: reenable "make syntax-check" for most projects
45683         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
45684         build-aux variable", "syntax-check" would do nothing but succeed with
45685         the "No version control files detected..." diagnostic (unless you
45686         happened to override _build-aux via cfg.mk).
45687         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
45688         to precede inclusion of maint.mk.  Otherwise, these variables would
45689         be used undefined in any project that does not override the default.
45691 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
45693         gitlog-to-changelog: treat a message with only blank lines as empty.
45694         * build-aux/gitlog-to-changelog: Move the code that removes leading and
45695         trailing blank lines before the code that issues a warning about an
45696         empty commit message.
45698 2011-10-30  Jim Meyering  <meyering@redhat.com>
45700         test-parse-datetime.c: avoid new DST-related false positive test failure
45701         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
45702         based on the time/date we'll convert, not the current time.
45703         Otherwise, the moment we cross a DST boundary like today's in
45704         Europe, (CEST to CET), that offset ends up being one hour off.
45706 2011-10-27  Bruno Haible  <bruno@clisp.org>
45708         fstat: Tweak documentation.
45709         * modules/fstat (Description): More precise description.
45711 2011-10-27  Bruno Haible  <bruno@clisp.org>
45713         Update documentation regarding 'largefile' module.
45714         * doc/posix-functions/fstat.texi: Tweak wording.
45715         * doc/posix-functions/opendir.texi: Mention that the module fixes the
45716         problems with huge directories and/or small ino_t types.
45717         * doc/posix-functions/readdir.texi: Likewise.
45718         * doc/posix-functions/rewinddir.texi: Likewise.
45720 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
45722         maint.mk: don't maintain a second build-aux variable.
45723         * maint.mk (build_aux): Removed.  The maintainer-makefile module
45724         depends on GNUmakefile, which already maintains a cfg.mk
45725         overridable $(_build-aux) for projects with a non-standard
45726         build-aux directory location, although without the $(srcdir)
45727         prefix.  Use that variable consistently instead of introducing a
45728         second one.  Adjust all call sites.
45730 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45732         Add stdalign module and use it in other modules.
45733         This is based on a previous proposal by Bruno Haible
45734         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
45736         stdalign: new module
45737         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
45738         * modules/stdalign: New files.
45739         * MODULES.html.sh (c1x_core_properties): Add stdalign.
45740         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
45742         stdalign-tests: new module
45743         * modules/stdalign-tests, tests/test-stdalign.c: New files.
45745         argp: use stdalign
45746         * lib/argp-parse.c: Include <stdalign.h>.
45747         (alignof): Remove.
45748         * modules/argp (Depends-on): Add stdalign.
45750         crypto libraries: use stdalign
45751         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
45752         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
45753         Do not include <stdlib.h> twice, in md4.c.
45754         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
45755         because we are accessing a pointer's bit-pattern, not a size.
45756         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
45757         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
45758         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
45759         * modules/crypto/sha512: Likewise.
45761         sys_socket: use stdalign, not alignof
45762         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
45763         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
45765 2011-10-27  Bruno Haible  <bruno@clisp.org>
45767         raise test: Avoid a test failure on Linux/MIPS.
45768         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
45769         because 99 is a valid signal on Linux/MIPS.
45771 2011-10-27  Bruno Haible  <bruno@clisp.org>
45773         nonblocking tests: Fix test failure on Linux/MIPS.
45774         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
45775         Set to 270000.
45777 2011-10-27  Bruno Haible  <bruno@clisp.org>
45779         utimensat: Work around problem on Linux/hppa.
45780         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
45781         values.
45782         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
45784 2011-10-25  Jim Meyering  <meyering@redhat.com>
45786         maint.mk: fix a bug in sc_prohibit_stddef_without_use
45787         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
45788         after symbols like NULL, size_t, etc.
45789         Reported by Alfred M. Szmidt.
45791         maint.mk: exempt ENODATA from a syntax-check rule
45792         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
45793         from the sc_prohibit_always-defined_macros syntax-check rule.
45794         Add a comment.  See this for more details:
45795         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
45797 2011-10-23  Jim Meyering  <meyering@redhat.com>
45799         fts: close parent dir FD before returning from post-traversal fts_read
45800         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
45801         unlink A, even though an FD open on A remained.  This is suboptimal
45802         (holding a file descriptor open longer than needed), but otherwise not
45803         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
45804         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
45805         that represents a real problem: it causes the removal of A to fail
45806         with e.g., "rm: cannot remove `A': Device or resource busy"
45808         fts visits each directory twice and keeps a cache (fts_fd_ring) of
45809         directory file descriptors.  After completing the final, FTS_DP,
45810         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
45811         cache, but then proceeded to add a new FD to it via the subsequent
45812         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
45813         final file descriptor would be closed only via fts_close's call to
45814         fd_ring_clear.  Now, it is usually closed earlier, via the final
45815         FTS_DP-returning fts_read call.
45816         * lib/fts.c (restore_initial_cwd): New function, converted from
45817         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
45818         Update callers.
45819         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
45820         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
45822 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
45823             Bruno Haible  <bruno@clisp.org>
45824             Jim Meyering  <jim@meyering.net>
45826         readme-release: improve safety of release prep instructions.
45827         * README-release: Don't git pull all branches when only master
45828         is needed for the release process.
45829         Run make maintainer-clean before changing trees and merging.
45830         Don't try to run ./configure right after git pull in case files
45831         that influence the bootstrap process have changed, move the
45832         ./configure step to after running ./bootstrap.
45833         Don't bootstrap "one last time"... it's the first time!
45835 2011-10-22  Bruno Haible  <bruno@clisp.org>
45837         errno, strerror-override: Support for MSVC 10.
45838         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
45839         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
45840         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
45841         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
45842         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
45843         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
45844         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
45845         Assign values compatible with MSVC 10.
45846         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
45847         New macros.
45848         (GNULIB_defined_EWINSOCK): New macro.
45849         * lib/strerror-override.c (strerror_override): Update accordingly.
45850         * lib/strerror-override.h: Likewise.
45851         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
45852         longer equal to the corresponding errno value.
45853         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45855 2011-10-22  Bruno Haible  <bruno@clisp.org>
45857         perror: Recognize when test program crashes.
45858         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
45859         strerror, set gl_cv_func_perror_works to no.
45860         Reported by Daniel Richard G. <skunk@iskunk.org>.
45862         perror: Fix indentation.
45863         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
45865 2011-10-22  Bruno Haible  <bruno@clisp.org>
45867         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
45868         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
45869         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
45870         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
45871         functions, not as a macro.
45872         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
45873         macros.
45874         (isfinite, isinf, isnan, signbit): Check overloaded functions and
45875         absence of macro.
45876         Suggested by Eric Blake.
45877         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45879 2011-10-21  Bruno Haible  <bruno@clisp.org>
45881         relocatable-prog-wrapper: Don't leave object files behind.
45882         * build-aux/install-reloc: Re-synchronize list of .o files to be
45883         removed with list of compilation units.
45885 2011-10-20  Bruno Haible  <bruno@clisp.org>
45887         openpty, posix_openpt: Remove code duplication.
45888         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
45889         * lib/openpty.c: Include <stdlib.h>.
45890         (openpty): Use posix_openpt on all platforms except IRIX.
45891         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
45893 2011-10-20  Bruno Haible  <bruno@clisp.org>
45895         unlockpt: Detect invalid argument.
45896         * lib/unlockpt.c: Include <fcntl.h>.
45897         (unlockpt): Check whether fd is valid, using fcntl().
45898         * modules/unlockpt (Depends-on): Add fcntl-h.
45900 2011-10-20  Bruno Haible  <bruno@clisp.org>
45902         openpty: Avoid compilation error on AIX 6.1.
45903         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
45905 2011-10-20  Bruno Haible  <bruno@clisp.org>
45907         posix_openpt: Support for OpenBSD.
45908         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
45909         (posix_openpt) [OpenBSD]: New code.
45910         * lib/grantpt.c: Include <fcntl.h>.
45911         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
45912         * modules/grantpt (Depends-on): Add fcntl-h.
45914 2011-10-20  Bruno Haible  <bruno@clisp.org>
45916         posix_openpt test: Coding style.
45917         * tests/test-posix_openpt.c: Use GNU coding style.
45919 2011-10-20  Bruno Haible  <bruno@clisp.org>
45921         grantpt: Support --avoid=pt_chown.
45922         * modules/grantpt (Files): Add lib/pty-private.h.
45924 2011-10-20  Bruno Haible  <bruno@clisp.org>
45926         posix_openpt: Fix autoconf macro.
45927         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
45928         unneeded check for _getpty.
45930 2011-10-20  Bruno Haible  <bruno@clisp.org>
45932         openpty: Update comments.
45933         * lib/openpty.c: Add comments about Minix.
45935 2011-10-19  Eric Blake  <eblake@redhat.com>
45937         openpty: relax license
45938         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
45940         pt_chown: use configmake to simplify build
45941         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
45943         ptsname and others: relax license
45944         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
45945         * modules/unlockpt (License): Likewise.
45946         * modules/pt_chown (License): Likewise.
45947         * modules/ptsname (License): Likewise.
45948         * modules/ttyname_r (License): Likewise.
45950 2011-10-19  Jim Meyering  <meyering@redhat.com>
45952         posix_openpt: remove spurious #endif
45953         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
45955 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
45957         maint.mk: Respect $(build_aux) in web-manual rule.
45958         * top/maint.mk (web-manual): Find gen-announce script in user's
45959         $(build_aux) directory instead of hard-coding 'build-aux'.
45961 2011-10-19  Bruno Haible  <bruno@clisp.org>
45963         posix_openpt: Fix compilation error.
45964         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
45965         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
45966         Mention the openpty module as an alternative.
45968 2011-10-19  Bruno Haible  <bruno@clisp.org>
45970         Support for old NeXTstep 3.3 frexp().
45971         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
45972         execution time of the test to 5 seconds.
45973         Reported by Daniel Richard G. <skunk@iskunk.org>.
45975 2011-10-19  Bruno Haible  <bruno@clisp.org>
45977         Support for old NeXTstep 3.3 sed.
45978         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
45979         part, use /.../, not \|...|. Escape periods in the header file name.
45980         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
45981         Reported by Daniel Richard G. <skunk@iskunk.org>.
45983 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45985         Support for old NeXTstep 3.3 gcc.
45986         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
45987         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
45988         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
45989         * lib/spawn.in.h (_Restrict_arr_): Likewise.
45990         * lib/regex.h (_Restrict_arr_): Likewise.
45991         * lib/regex_internal.h (re_token_t): Likewise.
45992         * lib/regexec.c (check_node_accept_bytes): Likewise.
45993         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
45995 2011-10-18  Eric Blake  <eblake@redhat.com>
45997         posix_openpt: new module
45998         * modules/posix_openpt: New module.
45999         * m4/posix_openpt.m4: New file.
46000         * lib/posix_openpt.c: Likewise.
46001         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46002         (gl_STDLIB_H_DEFAULTS): Set defaults.
46003         * modules/stdlib (Makefile.am): Substitute macros.
46004         * lib/stdlib.in.h (posix_openpt): Declare.
46005         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
46006         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
46007         * modules/posix_openpt-tests: New test module.
46008         * tests/test-posix_openpt.c: New test.
46010 2011-10-15  Bruno Haible  <bruno@clisp.org>
46012         xstrtoll: Fix compilation failure.
46013         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
46014         from lib/strtol.c.
46015         * doc/posix-headers/limits.texi: Mention missing numerical limits on
46016         some platforms.
46017         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46019 2011-10-15  Bruno Haible  <bruno@clisp.org>
46021         vasnprintf: Optimize bit search operation.
46022         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
46023         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
46024         gl_DOUBLE_EXPONENT_LOCATION.
46025         * modules/vasnprintf (Files): Add m4/exponentd.m4.
46026         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46027         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46028         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46029         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46030         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46031         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46032         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46033         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
46035 2011-10-15  Bruno Haible  <bruno@clisp.org>
46037         vasnprintf: Fix comments.
46038         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
46040 2011-10-14  Bruno Haible  <bruno@clisp.org>
46042         Tests for module 'integer_length_ll'.
46043         * modules/integer_length_ll-tests: New file.
46044         * tests/test-integer_length_ll.c: New file.
46046         New module 'integer_length_ll'.
46047         * lib/integer_length_ll.c: New file.
46048         * modules/integer_length_ll: New file.
46050 2011-10-14  Bruno Haible  <bruno@clisp.org>
46052         Tests for module 'integer_length_l'.
46053         * modules/integer_length_l-tests: New file.
46054         * tests/test-integer_length_l.c: New file.
46056         New module 'integer_length_l'.
46057         * lib/integer_length_l.c: New file.
46058         * modules/integer_length_l: New file.
46060 2011-10-14  Bruno Haible  <bruno@clisp.org>
46062         Tests for module 'integer_length'.
46063         * modules/integer_length-tests: New file.
46064         * tests/test-integer_length.c: New file.
46066         New module 'integer_length'.
46067         * lib/integer_length.h: New file.
46068         * lib/integer_length.c: New file.
46069         * modules/integer_length: New file.
46071 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46073         popen: Fix dependency conditions.
46074         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
46076 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46078         perror: Fix autoconf test.
46079         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
46080         <stdlib.h> and <string.h>.
46082 2011-10-14  Bruno Haible  <bruno@clisp.org>
46084         ffsl: Optimize on 64-bit platforms.
46085         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
46086         unrolling.
46088 2011-10-13  Bruno Haible  <bruno@clisp.org>
46090         ffsl: Optimize on 32-bit platforms.
46091         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
46092         use ffs() without a loop.
46094         ffsl, ffsll: Optimize for GCC.
46095         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
46096         * lib/ffsl.c (GCC_BUILTIN): New macro.
46097         * lib/ffsll.c (GCC_BUILTIN): Likewise.
46099 2011-10-13  Bruno Haible  <bruno@clisp.org>
46101         ffs, bcopy, memset: Support symbol renaming via config.h.
46102         * lib/ffs.c: Include <config.h>.
46103         * lib/bcopy.c: Likewise.
46104         * lib/memset.c: Likewise.
46106 2011-10-10  Bruno Haible  <bruno@clisp.org>
46108         atanl: Simplify for platforms where 'long double' == 'double'.
46109         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46110         alternative implementation.
46111         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46112         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46113         * modules/atanl (Depends-on): Add atan. Update conditions.
46115 2011-10-10  Bruno Haible  <bruno@clisp.org>
46117         acosl: Simplify for platforms where 'long double' == 'double'.
46118         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46119         alternative implementation.
46120         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46121         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46122         * modules/acosl (Depends-on): Add acos. Update conditions.
46124 2011-10-10  Bruno Haible  <bruno@clisp.org>
46126         asinl: Simplify for platforms where 'long double' == 'double'.
46127         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46128         alternative implementation.
46129         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46130         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46131         * modules/asinl (Depends-on): Add asin. Update conditions.
46133 2011-10-10  Bruno Haible  <bruno@clisp.org>
46135         tanl: Simplify for platforms where 'long double' == 'double'.
46136         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46137         implementation.
46138         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46139         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46140         * modules/tanl (Depends-on): Add tan. Update conditions.
46141         (configure.ac): Don't compile trigl.c if
46142         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46144 2011-10-10  Bruno Haible  <bruno@clisp.org>
46146         cosl: Simplify for platforms where 'long double' == 'double'.
46147         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46148         implementation.
46149         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46150         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46151         * modules/cosl (Depends-on): Add cos. Update conditions.
46152         (configure.ac): Don't compile sincosl.c and trigl.c if
46153         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46155 2011-10-10  Bruno Haible  <bruno@clisp.org>
46157         sinl: Simplify for platforms where 'long double' == 'double'.
46158         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46159         implementation.
46160         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46161         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46162         * modules/sinl (Depends-on): Add sin. Update conditions.
46163         (configure.ac): Don't compile sincosl.c and trigl.c if
46164         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46166 2011-10-10  Bruno Haible  <bruno@clisp.org>
46168         logl: Simplify for platforms where 'long double' == 'double'.
46169         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46170         implementation.
46171         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46172         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46173         * modules/logl (Depends-on): Add log. Update conditions.
46175 2011-10-10  Bruno Haible  <bruno@clisp.org>
46177         expl: Simplify for platforms where 'long double' == 'double'.
46178         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46179         implementation.
46180         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46181         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46182         * modules/expl (Depends-on): Add exp. Update conditions.
46184 2011-10-10  Bruno Haible  <bruno@clisp.org>
46186         sqrtl: Simplify for platforms where 'long double' == 'double'.
46187         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46188         alternative implementation.
46189         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46190         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46191         * modules/sqrtl (Depends-on): Update conditions.
46193 2011-10-10  Bruno Haible  <bruno@clisp.org>
46195         ldexpl: Simplify for platforms where 'long double' == 'double'.
46196         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46197         alternative implementation.
46198         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46199         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46200         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
46202 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
46204         ffsll: set correct witness
46205         * modules/ffsll (configure.ac): Fix typo.
46207 2011-10-10  Bruno Haible  <bruno@clisp.org>
46209         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
46210         * lib/printf-frexpl.c: Include <config.h>.
46211         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46212         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
46213         second time.
46214         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
46215         gl_LONG_DOUBLE_VS_DOUBLE.
46216         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
46217         conditions.
46219 2011-10-10  Bruno Haible  <bruno@clisp.org>
46221         frexpl: Simplify for platforms where 'long double' == 'double'.
46222         * lib/frexpl.c: Include <config.h>.
46223         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46224         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46225         time.
46226         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46227         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46228         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
46229         * modules/frexpl (Depends-on): Add frexp. Update conditions.
46230         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
46231         conditions.
46233 2011-10-10  Jim Meyering  <meyering@redhat.com>
46235         test-renameat: don't leave behind a temporary file
46236         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
46237           ERROR: files left in build directory after distclean:
46238           ./gltests/test-renameat.too
46239           make[1]: *** [distcleancheck] Error 1
46240         Reported by Tom G. Christensen.
46242 2011-10-09  Bruno Haible  <bruno@clisp.org>
46244         rint: Determine RINT_LIBM correctly on AIX 7.
46245         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
46246         directly, not only through a function pointer. Also accept an optional
46247         4th argument with extra code.
46248         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
46249         rintf() call by gcc when optimizing.
46251         mathfunc.m4: Refactor.
46252         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
46253         m4 variable.
46255 2011-10-09  Bruno Haible  <bruno@clisp.org>
46257         rintl: Simplify for platforms where 'long double' == 'double'.
46258         * lib/rintl.c: Include <config.h>.
46259         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46260         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46261         time.
46262         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46263         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46264         * modules/rintl (Depends-on): Add rint. Update conditions.
46266 2011-10-09  Bruno Haible  <bruno@clisp.org>
46268         roundl: Simplify for platforms where 'long double' == 'double'.
46269         * lib/roundl.c: Include <config.h>.
46270         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46271         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46272         time.
46273         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46274         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46275         * modules/roundl (Depends-on): Add round. Update conditions.
46277 2011-10-09  Bruno Haible  <bruno@clisp.org>
46279         truncl: Simplify for platforms where 'long double' == 'double'.
46280         * lib/truncl.c: Include <config.h>.
46281         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46282         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46283         time.
46284         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46285         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46286         * modules/truncl (Depends-on): Add trunc. Update conditions.
46288 2011-10-09  Bruno Haible  <bruno@clisp.org>
46290         ceill: Simplify for platforms where 'long double' == 'double'.
46291         * lib/ceill.c: Include <config.h>.
46292         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46293         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46294         time.
46295         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46296         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46297         * modules/ceill (Depends-on): Add ceil. Update conditions.
46299 2011-10-09  Bruno Haible  <bruno@clisp.org>
46301         floorl: Simplify for platforms where 'long double' == 'double'.
46302         * lib/floorl.c: Include <config.h>.
46303         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46304         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46305         time.
46306         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46307         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46308         * modules/floorl (Depends-on): Add floor. Update conditions.
46310 2011-10-09  Bruno Haible  <bruno@clisp.org>
46312         rint: Fix ordering constraints.
46313         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
46314         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
46315         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
46317 2011-10-09  Bruno Haible  <bruno@clisp.org>
46319         copysignl: Simplify for platforms where 'long double' == 'double'.
46320         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46321         alternative.
46322         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46323         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46324         * modules/copysignl (Depends-on): Add copysign. Update conditions.
46326 2011-10-09  Bruno Haible  <bruno@clisp.org>
46328         Tests for module 'rintl'.
46329         * modules/rintl-tests: New file.
46330         * tests/test-rintl.c: New file.
46332         New module 'rintl'.
46333         * lib/math.in.h (rintl): New declaration.
46334         * lib/rintl.c: New file.
46335         * m4/rintl.m4: New file.
46336         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
46337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
46338         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
46339         * modules/rintl: New file.
46340         * tests/test-math-c++.cc: Check the declaration of rintl.
46341         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46342         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
46343         * doc/posix-functions/rintl.texi: Mention the new module.
46345 2011-10-09  Bruno Haible  <bruno@clisp.org>
46347         Tests for module 'rintf'.
46348         * modules/rintf-tests: New file.
46349         * tests/test-rintf.c: New file.
46351         New module 'rintf'.
46352         * lib/math.in.h (rintf): New declaration.
46353         * lib/rintf.c: New file.
46354         * m4/rintf.m4: New file.
46355         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
46356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
46357         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
46358         * modules/rintf: New file.
46359         * tests/test-math-c++.cc: Check the declaration of rintf.
46360         * doc/posix-functions/rintf.texi: Mention the new module.
46362 2011-10-09  Bruno Haible  <bruno@clisp.org>
46364         rint: Support for MSVC.
46365         * lib/math.in.h (rint): New declaration.
46366         * lib/rint.c: New file.
46367         * m4/rint.m4: New file.
46368         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
46369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
46370         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
46371         * modules/rint (Description): Fix.
46372         (Files): Add lib/rint.c, m4/rint.m4.
46373         (Depends-on): Add math.
46374         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
46375         gl_MATH_MODULE_INDICATOR.
46376         * tests/test-math-c++.cc: Check the declaration of rint.
46377         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46378         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
46379         * doc/posix-functions/rint.texi: Mention the replacement provided by
46380         the module.
46382         rint tests: More tests.
46383         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
46384         minus-zero.h, infinity.h, nan.h.
46385         (main): Skip the test if the current rounding mode is not standard. Add
46386         tests for negative numbers, minus zero, infinity, NaN.
46387         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
46388         tests/nan.h.
46389         (Depends-on): Add isnand-nolibm.
46391 2011-10-09  Bruno Haible  <bruno@clisp.org>
46393         Tests for module 'copysignl'.
46394         * modules/copysignl-tests: New file.
46395         * tests/test-copysignl.c: New file.
46397         New module 'copysignl'.
46398         * lib/math.in.h (copysignl): New declaration.
46399         * lib/copysignl.c: New file.
46400         * m4/copysignl.m4: New file.
46401         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
46402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
46403         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
46404         HAVE_COPYSIGNL.
46405         * modules/copysignl: New file.
46406         * tests/test-math-c++.cc: Check the declaration of copysignl.
46407         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46408         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
46409         * doc/posix-functions/copysignl.texi: Mention the new module.
46411 2011-10-09  Bruno Haible  <bruno@clisp.org>
46413         Tests for module 'copysignf'.
46414         * modules/copysignf-tests: New file.
46415         * tests/test-copysignf.c: New file.
46417         New module 'copysignf'.
46418         * lib/math.in.h (copysignf): New declaration.
46419         * lib/copysignf.c: New file.
46420         * m4/copysignf.m4: New file.
46421         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
46422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
46423         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
46424         HAVE_COPYSIGNF.
46425         * modules/copysignf: New file.
46426         * tests/test-math-c++.cc: Check the declaration of copysignf.
46427         * doc/posix-functions/copysignf.texi: Mention the new module.
46429 2011-10-09  Bruno Haible  <bruno@clisp.org>
46431         Ensure that HAVE_* variables are set to 1 before they are set to 0.
46432         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
46433         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
46434         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
46435         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
46436         gl_SIGNAL_H_DEFAULTS.
46438 2011-10-09  Bruno Haible  <bruno@clisp.org>
46440         poll: Make macro safer.
46441         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
46442         ac_cv_header_poll_h is not set.
46444 2011-10-09  Bruno Haible  <bruno@clisp.org>
46446         copysign: Provide replacement.
46447         * lib/math.in.h (copysign): New declaration.
46448         * lib/copysign.c: New file.
46449         * m4/copysign.m4: New file.
46450         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
46451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
46452         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
46453         HAVE_COPYSIGN.
46454         * modules/copysign (Description): Clarify.
46455         (Files): Add lib/copysign.c, m4/copysign.m4.
46456         (Depends-on): Add math, signbit.
46457         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
46458         gl_MATH_MODULE_INDICATOR.
46459         * tests/test-math-c++.cc: Check the declaration of copysign.
46460         * doc/posix-functions/copysign.texi: Mention the effects of the module
46461         on Minix and MSVC.
46463 2011-10-09  Bruno Haible  <bruno@clisp.org>
46465         isinf: Ensure macro on AIX 5.1.
46466         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
46467         macro.
46468         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
46470 2011-10-09  Bruno Haible  <bruno@clisp.org>
46472         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
46473         * modules/snprintf-posix-tests (configure.ac): Require
46474         gl_LONG_DOUBLE_VS_DOUBLE.
46475         * modules/sprintf-posix-tests (configure.ac): Likewise.
46476         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
46477         * modules/vasprintf-posix-tests (configure.ac): Likewise.
46478         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
46479         * modules/vsprintf-posix-tests (configure.ac): Likewise.
46480         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
46481         tests on platforms where 'long double' is the same as 'double'.
46482         * tests/test-sprintf-posix.h (test_function): Likewise.
46483         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46484         * tests/test-vasprintf-posix.c (test_function): Likewise.
46486         *printf: Fix for platforms where 'long double' == 'double'.
46487         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46488         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
46489         * modules/dprintf-posix (Files): Add m4/math_h.m4.
46490         * modules/fprintf-posix (Files): Likewise.
46491         * modules/obstack-printf-posix (Files): Likewise.
46492         * modules/snprintf-posix (Files): Likewise.
46493         * modules/sprintf-posix (Files): Likewise.
46494         * modules/vasnprintf (Files): Likewise.
46495         * modules/vasnprintf-posix (Files): Likewise.
46496         * modules/vasprintf-posix (Files): Likewise.
46497         * modules/vdprintf-posix (Files): Likewise.
46498         * modules/vfprintf-posix (Files): Likewise.
46499         * modules/vsnprintf-posix (Files): Likewise.
46500         * modules/vsprintf-posix (Files): Likewise.
46501         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46502         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46503         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46504         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46505         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46506         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46507         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46509         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
46510         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
46511         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46512         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
46513         'long double'.
46514         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
46516         isinf: Fix for platforms where 'long double' == 'double'.
46517         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46518         Don't blindly assume 80-bit 'long double'.
46520         isfinite: Fix for platforms where 'long double' == 'double'.
46521         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46522         Don't blindly assume 80-bit 'long double'.
46524         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
46525         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
46526         * modules/isfinite-tests (configure.ac): Require
46527         gl_LONG_DOUBLE_VS_DOUBLE.
46528         * modules/isinf-tests (configure.ac): Likewise.
46529         * modules/isnan-tests (configure.ac): Likewise.
46530         * modules/isnanl-tests (configure.ac): Likewise.
46531         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
46532         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
46533         tests on platforms where 'long double' is the same as 'double'.
46534         * tests/test-isinf.c (test_isinfl): Likewise.
46535         * tests/test-isnan.c (test_long_double): Likewise.
46536         * tests/test-isnanl.h (main): Likewise.
46538 2011-10-08  Bruno Haible  <bruno@clisp.org>
46540         Tests for module 'tanhf'.
46541         * modules/tanhf-tests: New file.
46542         * tests/test-tanhf.c: New file.
46544         New module 'tanhf'.
46545         * lib/math.in.h (tanhf): New declaration.
46546         * lib/tanhf.c: New file.
46547         * m4/tanhf.m4: New file.
46548         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
46549         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
46550         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
46551         * modules/tanhf: New file.
46552         * tests/test-math-c++.cc: Check the declaration of tanhf.
46553         * doc/posix-functions/tanhf.texi: Mention the new module.
46555         tanh: Use a .m4 file.
46556         * m4/tanh.m4: New file.
46557         * modules/tanh (Files): Add it.
46558         (configure.ac): Just invoke gl_FUNC_TANH.
46560 2011-10-08  Bruno Haible  <bruno@clisp.org>
46562         Tests for module 'coshf'.
46563         * modules/coshf-tests: New file.
46564         * tests/test-coshf.c: New file.
46566         New module 'coshf'.
46567         * lib/math.in.h (coshf): New declaration.
46568         * lib/coshf.c: New file.
46569         * m4/coshf.m4: New file.
46570         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
46571         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
46572         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
46573         * modules/coshf: New file.
46574         * tests/test-math-c++.cc: Check the declaration of coshf.
46575         * doc/posix-functions/coshf.texi: Mention the new module.
46577         cosh: Use a .m4 file.
46578         * m4/cosh.m4: New file.
46579         * modules/cosh (Files): Add it.
46580         (configure.ac): Just invoke gl_FUNC_COSH.
46582 2011-10-08  Bruno Haible  <bruno@clisp.org>
46584         Tests for module 'sinhf'.
46585         * modules/sinhf-tests: New file.
46586         * tests/test-sinhf.c: New file.
46588         New module 'sinhf'.
46589         * lib/math.in.h (sinhf): New declaration.
46590         * lib/sinhf.c: New file.
46591         * m4/sinhf.m4: New file.
46592         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
46593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
46594         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
46595         * modules/sinhf: New file.
46596         * tests/test-math-c++.cc: Check the declaration of sinhf.
46597         * doc/posix-functions/sinhf.texi: Mention the new module.
46599         sinh: Use a .m4 file.
46600         * m4/sinh.m4: New file.
46601         * modules/sinh (Files): Add it.
46602         (configure.ac): Just invoke gl_FUNC_SINH.
46604 2011-10-08  Bruno Haible  <bruno@clisp.org>
46606         Tests for module 'atan2f'.
46607         * modules/atan2f-tests: New file.
46608         * tests/test-atan2f.c: New file.
46610         New module 'atan2f'.
46611         * lib/math.in.h (atan2f): New declaration.
46612         * lib/atan2f.c: New file.
46613         * m4/atan2f.m4: New file.
46614         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
46615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
46616         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
46617         * modules/atan2f: New file.
46618         * tests/test-math-c++.cc: Check the declaration of atan2f.
46619         * doc/posix-functions/atan2f.texi: Mention the new module.
46621         atan2: Use a .m4 file.
46622         * m4/atan2.m4: New file.
46623         * modules/atan2 (Files): Add it.
46624         (configure.ac): Just invoke gl_FUNC_ATAN2.
46626 2011-10-08  Bruno Haible  <bruno@clisp.org>
46628         Tests for module 'atanf'.
46629         * modules/atanf-tests: New file.
46630         * tests/test-atanf.c: New file.
46632         New module 'atanf'.
46633         * lib/math.in.h (atanf): New declaration.
46634         * lib/atanf.c: New file.
46635         * m4/atanf.m4: New file.
46636         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
46637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
46638         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
46639         * modules/atanf: New file.
46640         * tests/test-math-c++.cc: Check the declaration of atanf.
46641         * doc/posix-functions/atanf.texi: Mention the new module.
46643         atan: Use a .m4 file.
46644         * m4/atan.m4: New file.
46645         * modules/atan (Files): Add it.
46646         (configure.ac): Just invoke gl_FUNC_ATAN.
46648 2011-10-08  Bruno Haible  <bruno@clisp.org>
46650         Tests for module 'acosf'.
46651         * modules/acosf-tests: New file.
46652         * tests/test-acosf.c: New file.
46654         New module 'acosf'.
46655         * lib/math.in.h (acosf): New declaration.
46656         * lib/acosf.c: New file.
46657         * m4/acosf.m4: New file.
46658         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
46659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
46660         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
46661         * modules/acosf: New file.
46662         * tests/test-math-c++.cc: Check the declaration of acosf.
46663         * doc/posix-functions/acosf.texi: Mention the new module.
46665         acos: Use a .m4 file.
46666         * m4/acos.m4: New file.
46667         * modules/acos (Files): Add it.
46668         (configure.ac): Just invoke gl_FUNC_ACOS.
46670 2011-10-08  Bruno Haible  <bruno@clisp.org>
46672         Tests for module 'asinf'.
46673         * modules/asinf-tests: New file.
46674         * tests/test-asinf.c: New file.
46676         New module 'asinf'.
46677         * lib/math.in.h (asinf): New declaration.
46678         * lib/asinf.c: New file.
46679         * m4/asinf.m4: New file.
46680         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
46681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
46682         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
46683         * modules/asinf: New file.
46684         * tests/test-math-c++.cc: Check the declaration of asinf.
46685         * doc/posix-functions/asinf.texi: Mention the new module.
46687         asin: Use a .m4 file.
46688         * m4/asin.m4: New file.
46689         * modules/asin (Files): Add it.
46690         (configure.ac): Just invoke gl_FUNC_ASIN.
46692 2011-10-08  Bruno Haible  <bruno@clisp.org>
46694         Tests for module 'tanf'.
46695         * modules/tanf-tests: New file.
46696         * tests/test-tanf.c: New file.
46698         New module 'tanf'.
46699         * lib/math.in.h (tanf): New declaration.
46700         * lib/tanf.c: New file.
46701         * m4/tanf.m4: New file.
46702         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
46703         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
46704         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
46705         * modules/tanf: New file.
46706         * tests/test-math-c++.cc: Check the declaration of tanf.
46707         * doc/posix-functions/tanf.texi: Mention the new module.
46709         tan: Use a .m4 file.
46710         * m4/tan.m4: New file.
46711         * modules/tan (Files): Add it.
46712         (configure.ac): Just invoke gl_FUNC_TAN.
46714 2011-10-08  Bruno Haible  <bruno@clisp.org>
46716         Tests for module 'cosf'.
46717         * modules/cosf-tests: New file.
46718         * tests/test-cosf.c: New file.
46720         New module 'cosf'.
46721         * lib/math.in.h (cosf): New declaration.
46722         * lib/cosf.c: New file.
46723         * m4/cosf.m4: New file.
46724         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
46725         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
46726         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
46727         * modules/cosf: New file.
46728         * tests/test-math-c++.cc: Check the declaration of cosf.
46729         * doc/posix-functions/cosf.texi: Mention the new module.
46731         cos: Use a .m4 file.
46732         * m4/cos.m4: New file.
46733         * modules/cos (Files): Add it.
46734         (configure.ac): Just invoke gl_FUNC_COS.
46736 2011-10-08  Bruno Haible  <bruno@clisp.org>
46738         Tests for module 'sinf'.
46739         * modules/sinf-tests: New file.
46740         * tests/test-sinf.c: New file.
46742         New module 'sinf'.
46743         * lib/math.in.h (sinf): New declaration.
46744         * lib/sinf.c: New file.
46745         * m4/sinf.m4: New file.
46746         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
46747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
46748         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
46749         * modules/sinf: New file.
46750         * tests/test-math-c++.cc: Check the declaration of sinf.
46751         * doc/posix-functions/sinf.texi: Mention the new module.
46753         sin: Use a .m4 file.
46754         * m4/sin.m4: New file.
46755         * modules/sin (Files): Add it.
46756         (configure.ac): Just invoke gl_FUNC_SIN.
46758 2011-10-08  Bruno Haible  <bruno@clisp.org>
46760         Tests for module 'powf'.
46761         * modules/powf-tests: New file.
46762         * tests/test-powf.c: New file.
46764         New module 'powf'.
46765         * lib/math.in.h (powf): New declaration.
46766         * lib/powf.c: New file.
46767         * m4/powf.m4: New file.
46768         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
46769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
46770         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
46771         * modules/powf: New file.
46772         * tests/test-math-c++.cc: Check the declaration of powf.
46773         * doc/posix-functions/powf.texi: Mention the new module.
46775         pow: Use a .m4 file.
46776         * m4/pow.m4: New file.
46777         * modules/pow (Files): Add it.
46778         (configure.ac): Just invoke gl_FUNC_POW.
46780 2011-10-08  Bruno Haible  <bruno@clisp.org>
46782         Tests for module 'log10f'.
46783         * modules/log10f-tests: New file.
46784         * tests/test-log10f.c: New file.
46786         New module 'log10f'.
46787         * lib/math.in.h (log10f): New declaration.
46788         * lib/log10f.c: New file.
46789         * m4/log10f.m4: New file.
46790         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
46791         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
46792         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
46793         * modules/log10f: New file.
46794         * tests/test-math-c++.cc: Check the declaration of log10f.
46795         * doc/posix-functions/log10f.texi: Mention the new module.
46797         log10: Use a .m4 file.
46798         * m4/log10.m4: New file.
46799         * modules/log10 (Files): Add it.
46800         (configure.ac): Just invoke gl_FUNC_LOG10.
46802 2011-10-08  Bruno Haible  <bruno@clisp.org>
46804         Tests for module 'logf'.
46805         * modules/logf-tests: New file.
46806         * tests/test-logf.c: New file.
46808         New module 'logf'.
46809         * lib/math.in.h (logf): New declaration.
46810         * lib/logf.c: New file.
46811         * m4/logf.m4: New file.
46812         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
46813         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
46814         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
46815         * modules/logf: New file.
46816         * tests/test-math-c++.cc: Check the declaration of logf.
46817         * doc/posix-functions/logf.texi: Mention the new module.
46819         log: Use a .m4 file.
46820         * m4/log.m4: New file.
46821         * modules/log (Files): Add it.
46822         (configure.ac): Just invoke gl_FUNC_LOG.
46824 2011-10-08  Bruno Haible  <bruno@clisp.org>
46826         Tests for module 'expf'.
46827         * modules/expf-tests: New file.
46828         * tests/test-expf.c: New file.
46830         New module 'expf'.
46831         * lib/math.in.h (expf): New declaration.
46832         * lib/expf.c: New file.
46833         * m4/expf.m4: New file.
46834         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
46835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
46836         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
46837         * modules/expf: New file.
46838         * tests/test-math-c++.cc: Check the declaration of expf.
46839         * doc/posix-functions/expf.texi: Mention the new module.
46841         exp: Use a .m4 file.
46842         * m4/exp.m4: New file.
46843         * modules/exp (Files): Add it.
46844         (configure.ac): Just invoke gl_FUNC_EXP.
46846 2011-10-08  Bruno Haible  <bruno@clisp.org>
46848         Tests for module 'sqrtf'.
46849         * modules/sqrtf-tests: New file.
46850         * tests/test-sqrtf.c: New file.
46852         New module 'sqrtf'.
46853         * lib/math.in.h (sqrtf): New declaration.
46854         * lib/sqrtf.c: New file.
46855         * m4/sqrtf.m4: New file.
46856         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
46857         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
46858         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
46859         * modules/sqrtf: New file.
46860         * tests/test-math-c++.cc: Check the declaration of sqrtf.
46861         * doc/posix-functions/sqrtf.texi: Mention the new module.
46863 2011-10-08  Bruno Haible  <bruno@clisp.org>
46865         Tests: Avoid link failures w.r.t. libintl.
46866         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
46867         $(LIBINTL).
46868         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
46869         $(LIBINTL).
46870         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
46871         against $(LIBINTL).
46872         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
46873         $(LIBINTL).
46874         * modules/openat-tests (Makefile.am): Link test-fchmodat against
46875         $(LIBINTL).
46876         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
46878 2011-10-08  Bruno Haible  <bruno@clisp.org>
46880         pow tests: Defeat compiler optimizations.
46881         * tests/test-pow.c (main): Assign arguments to x and y before use.
46883 2011-10-08  Bruno Haible  <bruno@clisp.org>
46885         gnulib-tool: Improve last commit.
46886         * gnulib-tool (func_modules_transitive_closure): Simplify code.
46887         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
46888         ignore dependencies that are not among the modules list.
46890 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
46892         gnulib-tool: don't follow dependencies to avoided modules
46893         This fixes a bug that is related to the previous one.
46894         * gnulib-tool (func_modules_transitive_closure)
46895         (func_emit_autoconf_snippets):
46896         Check whether a dependency is acceptable before using it.
46897         (--extract-dependencies): Report an error if --avoid is also used,
46898         since this combination of options is not yet supported.
46900         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
46901         Problem reported by Peter Dyballa in
46902         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
46903         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
46904         when echoing "$condition".
46906 2011-10-07  Bruno Haible  <bruno@clisp.org>
46908         Fix documentation about math functions on MacOS X.
46909         * doc/posix-functions/exp2.texi: Don't say the function is missing on
46910         MacOS X 10.5.
46911         * doc/posix-functions/fdim.texi: Likewise.
46912         * doc/posix-functions/feclearexcept.texi: Likewise.
46913         * doc/posix-functions/fegetenv.texi: Likewise.
46914         * doc/posix-functions/fegetround.texi: Likewise.
46915         * doc/posix-functions/feholdexcept.texi: Likewise.
46916         * doc/posix-functions/feraiseexcept.texi: Likewise.
46917         * doc/posix-functions/fesetenv.texi: Likewise.
46918         * doc/posix-functions/fesetround.texi: Likewise.
46919         * doc/posix-functions/fetestexcept.texi: Likewise.
46920         * doc/posix-functions/feupdateenv.texi: Likewise.
46921         * doc/posix-functions/fmax.texi: Likewise.
46922         * doc/posix-functions/fmin.texi: Likewise.
46923         * doc/posix-functions/log2.texi: Likewise.
46924         * doc/posix-functions/modff.texi: Likewise.
46925         * doc/posix-functions/nan.texi: Likewise.
46926         * doc/posix-functions/nanf.texi: Likewise.
46927         * doc/posix-functions/nextafterf.texi: Likewise.
46928         * doc/posix-functions/remquo.texi: Likewise.
46930 2011-10-07  Bruno Haible  <bruno@clisp.org>
46932         modff: Drop assumption about library that defines modff.
46933         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
46934         AC_CHECK_FUNCS.
46935         * modules/modff (Files): Add m4/mathfunc.m4.
46937 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
46939         raise tests: Avoid a GCC warning.
46940         * tests/test-raise.c (handler): Use _Noreturn.
46942 2011-10-07  Bruno Haible  <bruno@clisp.org>
46944         Tests for module 'ldexpf'.
46945         * modules/ldexpf-tests: New file.
46946         * tests/test-ldexpf.c: New file.
46948         New module 'ldexpf'.
46949         * lib/math.in.h (ldexpf): New declaration.
46950         * lib/ldexpf.c: New file.
46951         * m4/ldexpf.m4: New file.
46952         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
46953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
46954         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
46955         * modules/ldexpf: New file.
46956         * tests/test-math-c++.cc: Check the declaration of ldexpf.
46957         * doc/posix-functions/ldexpf.texi: Mention the new module.
46959 2011-10-06  Bruno Haible  <bruno@clisp.org>
46961         frexpf: Work around problems on IRIX and mingw.
46962         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
46963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
46964         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
46965         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
46966         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
46967         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
46968         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
46970 2011-10-06  Bruno Haible  <bruno@clisp.org>
46972         fabsf: Drop assumption about library that defines fabsf.
46973         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
46974         AC_CHECK_FUNCS.
46975         * modules/fabsf (Files): Add m4/mathfunc.m4.
46977 2011-10-06  Bruno Haible  <bruno@clisp.org>
46979         frexpf: Drop assumption about library that defines frexpf.
46980         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
46981         'int *', 'float *', 'long double *', 'float', 'long double'.
46982         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
46983         AC_CHECK_FUNCS.
46984         * modules/frexpf (Files): Add m4/mathfunc.m4.
46986         Tests for module 'frexpf'.
46987         * modules/frexpf-tests: New file.
46988         * tests/test-frexpf.c: New file.
46990         New module 'frexpf'.
46991         * lib/math.in.h (frexpf): New declaration.
46992         * lib/frexpf.c: New file.
46993         * m4/frexpf.m4: New file.
46994         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
46995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
46996         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
46997         * modules/frexpf: New file.
46998         * tests/test-math-c++.cc: Check the declaration of frexpf.
46999         * doc/posix-functions/frexpf.texi: Mention the new module.
47001 2011-10-06  Bruno Haible  <bruno@clisp.org>
47003         math: Sort function declarations of math.in.h.
47004         * lib/math.in.h (frexp, logb): Move declarations.
47006 2011-10-05  Bruno Haible  <bruno@clisp.org>
47008         Tests for module 'modff'.
47009         * modules/modff-tests: New file.
47010         * tests/test-modff.c: New file.
47012         New module 'modff'.
47013         * lib/math.in.h (modff): New declaration.
47014         * lib/modff.c: New file.
47015         * m4/modff.m4: New file.
47016         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
47017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
47018         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
47019         * modules/modff: New file.
47020         * tests/test-math-c++.cc: Check the declaration of modff.
47021         * doc/posix-functions/modff.texi: Mention the new module.
47023         modf tests: Make test sharper.
47024         * tests/test-modf.c (main): Strengthen upper bound.
47026         modf: Use a .m4 file.
47027         * m4/modf.m4: New file.
47028         * modules/modf (Files): Add it.
47029         (configure.ac): Just invoke gl_FUNC_MODF.
47031 2011-10-05  Bruno Haible  <bruno@clisp.org>
47033         Tests for module 'fmodf'.
47034         * modules/fmodf-tests: New file.
47035         * tests/test-fmodf.c: New file.
47037         New module 'fmodf'.
47038         * lib/math.in.h (fmodf): New declaration.
47039         * lib/fmodf.c: New file.
47040         * m4/fmodf.m4: New file.
47041         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
47042         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
47043         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
47044         * modules/fmodf: New file.
47045         * tests/test-math-c++.cc: Check the declaration of fmodf.
47046         * doc/posix-functions/fmodf.texi: Mention the new module.
47048         fmod: Use a .m4 file.
47049         * m4/fmod.m4: New file.
47050         * modules/fmod (Files): Add it.
47051         (configure.ac): Just invoke gl_FUNC_FMOD.
47053 2011-10-05  Bruno Haible  <bruno@clisp.org>
47055         Tests for module 'fabsf'.
47056         * modules/fabsf-tests: New file.
47057         * tests/test-fabsf.c: New file.
47059         New module 'fabsf'.
47060         * lib/math.in.h (fabsf): New declaration.
47061         * lib/fabsf.c: New file.
47062         * m4/fabsf.m4: New file.
47063         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
47064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
47065         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
47066         * modules/fabsf: New file.
47067         * tests/test-math-c++.cc: Check the declaration of fabsf.
47068         * doc/posix-functions/fabsf.texi: Mention the new module.
47070         fabs: Use a .m4 file.
47071         * m4/fabs.m4: New file.
47072         * modules/fabs (Files): Add it.
47073         (configure.ac): Just invoke gl_FUNC_FABS.
47075 2011-10-05  Jim Meyering  <meyering@redhat.com>
47077         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
47078         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
47079         ls -lL regression introduced in coreutils-8.12, it does so at the
47080         cost of an additional stat call in the common case.  Besides, now
47081         that the kernel change that prompted commit 95f7c57f has been reverted
47082         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
47083         we have no use for commit 95f7c57f, "file-has-acl: use
47084         acl_extended_file_nofollow if available".
47086 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
47088         file-has-acl: revert unintended change in behavior of ls -L
47089         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
47090         derived from...
47091         (file_has_acl): ...code here.  Call it.
47092         This problem was introduced with 2011-07-22 commit 95f7c57f,
47093         "file-has-acl: use acl_extended_file_nofollow if available".
47094         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
47096 2011-10-03  Bruno Haible  <bruno@clisp.org>
47098         poll: Avoid link errors on MSVC.
47099         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
47100         * modules/poll (Depends-on): Add sockets.
47101         (Link): New section.
47102         * NEWS: Mention the change.
47103         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
47104         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
47105         $(LIB_POLL) instead of $(LIBSOCKET).
47107 2011-10-03  Bruno Haible  <bruno@clisp.org>
47109         sys_select tests: Fix link error on MSVC 9.
47110         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
47111         with $(LIB_SELECT) instead of $(LIBSOCKET).
47113 2011-10-03  Bruno Haible  <bruno@clisp.org>
47115         sys_select: Fix compilation error on mingw.
47116         * lib/sys_select.in.h: On native Windows, include <io.h>.
47118 2011-10-03  Bruno Haible  <bruno@clisp.org>
47120         wmemset: Support for MSVC.
47121         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
47122         whether wmemset() exists.
47124 2011-10-03  Bruno Haible  <bruno@clisp.org>
47126         wmemmove: Support for MSVC.
47127         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
47128         whether wmemmove() exists.
47130 2011-10-03  Bruno Haible  <bruno@clisp.org>
47132         wmemcpy: Support for MSVC.
47133         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
47134         whether wmemcpy() exists.
47136 2011-10-03  Bruno Haible  <bruno@clisp.org>
47138         wmemcmp: Support for MSVC.
47139         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
47140         whether wmemcmp() exists.
47142 2011-10-03  Bruno Haible  <bruno@clisp.org>
47144         wmemchr: Support for MSVC.
47145         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
47146         whether wmemchr() exists.
47148 2011-10-03  Bruno Haible  <bruno@clisp.org>
47150         glthread/*, strsignal: Support for MSVC.
47151         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
47152         including <winsock.h> on MSVC 9.
47153         * lib/glthread/lock.h: Likewise.
47154         * lib/glthread/thread.h: Likewise.
47155         * lib/glthread/tls.h: Likewise.
47156         * lib/glthread/yield.h: Likewise.
47157         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
47158         if HAVE_UNISTD_H is false.
47159         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
47161 2011-10-03  Bruno Haible  <bruno@clisp.org>
47163         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
47164         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
47165         Set to 100000.
47167 2011-10-03  Bruno Haible  <bruno@clisp.org>
47169         acl: Fix specification.
47170         * lib/file-has-acl.c (file_has_acl): Fix specification.
47172 2011-10-03  Bruno Haible  <bruno@clisp.org>
47174         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
47175         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
47176         (compute_curr_prefix, shared_library_fullname,
47177         find_shared_library_fullname, get_shared_library_fullname, relocate):
47178         Use it together with PIC && INSTALLDIR.
47179         Reported by <jojelino@gmail.com>
47180         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
47182 2011-10-01  Jim Meyering  <meyering@redhat.com>
47184         maint.mk: adjust a release-related rule not to require use of gzip
47185         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
47186         Instead, check each file in $(DIST_ARCHIVES).  This is better for
47187         projects that build only .tar.xz files.  Also fix an erroneous test.
47189         test-linkat: don't leave behind a temporary file
47190         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
47191         Otherwise, coreutils' "make distcheck" would fail with this:
47192           Only in /c/cu/tests/torture/coreutils/test/\
47193             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
47194           make[2]: *** [my-distcheck] Error 1
47196         float, math: add omitted file
47197         * lib/itold.c: Add file, required for yesterday's float change.
47199 2011-10-01  Bruno Haible  <bruno@clisp.org>
47201         isinf: Fix for OpenBSD/x86.
47202         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
47203         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
47204         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
47206 2011-10-01  Bruno Haible  <bruno@clisp.org>
47208         isfinite: Fix syntax error in configure test.
47209         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
47211         isfinite: Fix typo.
47212         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
47213         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
47215 2011-10-01  Bruno Haible  <bruno@clisp.org>
47217         nonblocking tests: Fix test failure on Linux/IA-64.
47218         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
47219         Set to 270000.
47221 2011-10-01  Bruno Haible  <bruno@clisp.org>
47223         mkfifoat tests: Fix a test failure on mingw.
47224         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
47225         with error ENOSYS.
47227 2011-09-30  Bruno Haible  <bruno@clisp.org>
47229         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
47230         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
47231         'long double'. Set REPLACE_ITOLD.
47232         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
47233         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
47234         * lib/itold.c: New file.
47235         * modules/float (Files): Add lib/itold.c.
47236         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
47237         (Makefile.am): Substitute REPLACE_ITOLD.
47238         * modules/math (Depends-on): Add float.
47239         (Makefile.am): Substitute REPLACE_ITOLD.
47240         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
47241         * doc/posix-headers/math.texi: Likewise.
47242         * doc/posix-functions/logl.texi: Likewise.
47244 2011-09-30  Bruno Haible  <bruno@clisp.org>
47246         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
47247         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
47248         Set to 140000.
47250 2011-09-30  Bruno Haible  <bruno@clisp.org>
47252         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
47253         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
47254         invocation, say "right after AC_PROG_CC_STDC", not "right after
47255         AC_PROG_CC".
47256         Reported by Gary V. Vaughan <gary@gnu.org>.
47258 2011-09-30  Bruno Haible  <bruno@clisp.org>
47260         Centralize C99 requirement.
47261         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
47262         * modules/stdarg (configure.ac-early): Invoke it instead of
47263         AC_PROG_CC_STDC.
47264         Reported by Gary V. Vaughan and Paul Eggert.
47266 2011-09-29  Bruno Haible  <bruno@clisp.org>
47268         float: Fix LDBL_MAX value on Linux/PowerPC.
47269         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
47270         on Linux/PowerPC.
47271         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
47272         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
47273         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
47274         platform.
47275         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
47277 2011-09-29  Bruno Haible  <bruno@clisp.org>
47279         doc: Improve doc about gl_EARLY.
47280         * doc/gnulib-tool.texi (Initial import): Mention where to place an
47281         AC_PROG_CC_STDC invocation.
47282         Reported by Gary V. Vaughan <gary@gnu.org>.
47284 2011-09-28  Bruno Haible  <bruno@clisp.org>
47286         fgetc, fputc, fread, fwrite tests: Fix link error.
47287         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
47288         on non-MSVC platforms.
47289         * tests/test-fputc.c (main): Likewise.
47290         * tests/test-fread.c (main): Likewise.
47291         * tests/test-fwrite.c (main): Likewise.
47292         Reported by Jim Meyering.
47294 2011-09-27  Bruno Haible  <bruno@clisp.org>
47296         fputc, fwrite tests: Avoid test failure on MSVC.
47297         * tests/test-fgetc.c: Include msvc-inval.h.
47298         (main): Invoke gl_msvc_inval_ensure_handler.
47299         * tests/test-fputc.c: Include msvc-inval.h.
47300         (main): Invoke gl_msvc_inval_ensure_handler.
47301         * tests/test-fread.c: Include msvc-inval.h.
47302         (main): Invoke gl_msvc_inval_ensure_handler.
47303         * tests/test-fwrite.c: Include msvc-inval.h.
47304         (main): Invoke gl_msvc_inval_ensure_handler.
47305         * modules/fgetc-tests (Depends-on): Add msvc-inval.
47306         * modules/fputc-tests (Depends-on): Likewise.
47307         * modules/fread-tests (Depends-on): Likewise.
47308         * modules/fwrite-tests (Depends-on): Likewise.
47310 2011-09-27  Bruno Haible  <bruno@clisp.org>
47312         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
47313         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
47314         (raise): Remove older, duplicated declaration.
47315         (_gl_raise_SIGPIPE): New declaration.
47316         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
47317         (rpl_raise): Remove function.
47318         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
47319         a gnulib-defined SIGPIPE here.
47320         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
47321         'sigprocmask' has detected missing signal-blocking and the module
47322         'sigpipe' is enabled.
47323         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47325 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
47327         base64-tests: avoid memory leak
47328         * tests/test-base64.c (main): Plug memory leak.
47330         base32: new module
47331         * modules/base32: New module.
47332         * lib/base32.c: New file.
47333         * lib/base32.h: Likewise.
47334         * m4/base32.m4: Likewise.
47335         * modules/base32-tests: New test.
47336         * tests/test-base32.c: Likewise.
47337         * MODULES.html.sh (Misc): Mention it.
47339 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47341         gnulib: use more-standard license notice wording
47342         * gnulib-tool (func_emit_copyright_notice): When emitting a
47343         license notice into a file, use the standard wording as suggested
47344         by the current information for GNU maintainers, except say "file"
47345         rather than "program".  The new wording gives a license version
47346         number, which addresses an issue raised by Glenn Morris in
47347         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
47348         * m4/onceonly.m4: Use that same wording here, too.
47350         dup2: minor simplification
47351         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
47352         as lib/dup2.c no longer uses 'inline'.
47354 2011-09-25  Bruno Haible  <bruno@clisp.org>
47356         strings: Fix compilation error on MSVC.
47357         * lib/strings.in.h: Include <stddef.h> for size_t.
47359 2011-09-25  Bruno Haible  <bruno@clisp.org>
47361         fflush et al.: Document limitation on MSVC.
47362         * doc/posix-functions/fflush.texi: Document possible crash in handling
47363         mode other than DEFAULT_HANDLING.
47364         * doc/posix-functions/fgetc.texi: Likewise.
47365         * doc/posix-functions/fputc.texi: Likewise.
47366         * doc/posix-functions/fread.texi: Likewise.
47367         * doc/posix-functions/fwrite.texi: Likewise.
47369 2011-09-25  Bruno Haible  <bruno@clisp.org>
47371         msvc-inval: Allow three invalid parameter handling modes.
47372         * lib/msvc-inval.h: Don't include <stdlib.h> here.
47373         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
47374         macros.
47375         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
47376         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
47377         SANE_LIBRARY_HANDLING as a no-op.
47378         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
47379         <stdlib.h>.
47380         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
47382 2011-09-25  Bruno Haible  <bruno@clisp.org>
47384         msvc-inval: Make handler multithread-safe.
47385         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
47386         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
47387         declarations.
47388         (gl_msvc_inval_current): New declaration.
47389         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47390         Operate on the structure returned by gl_msvc_inval_current().
47391         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
47392         Remove varaiables.
47393         (tls_index, tls_initialized): New variables.
47394         (not_per_thread): New variable.
47395         (gl_msvc_inval_current): New function.
47396         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
47397         returned by gl_msvc_inval_current().
47399 2011-09-25  Bruno Haible  <bruno@clisp.org>
47401         msvc-inval: Install handler globally.
47402         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
47403         !_MSC_VER.
47404         (gl_msvc_invalid_parameter_handler): Remove declaration.
47405         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
47406         declarations.
47407         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47408         Install the handler globally, don't uninstall it.
47409         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
47410         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
47411         currently valid, call RaiseException instead.
47412         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
47413         for !_MSC_VER.
47415 2011-09-25  Bruno Haible  <bruno@clisp.org>
47417         strerror_r-posix: Fix for MSVC 9.
47418         * lib/strerror_r.c (local_snprintf): New function.
47419         (snprintf): Define to local_snprintf, not to _snprintf.
47421 2011-09-25  Bruno Haible  <bruno@clisp.org>
47423         ftruncate: Support for MSVC 9.
47424         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
47425         (chsize_nothrow): New function.
47426         (chsize): Redefine as a macro.
47427         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
47428         * modules/ftruncate (Depends-on): Add msvc-inval.
47430 2011-09-25  Bruno Haible  <bruno@clisp.org>
47432         New module 'fstat'.
47433         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
47434         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
47435         * lib/fchdir.c (rpl_fstat): Remove function.
47436         * m4/fstat.m4: New file.
47437         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
47438         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
47439         declared.
47440         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
47441         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
47442         * modules/fstat: New file.
47443         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
47444         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
47445         is set.
47446         * doc/posix-functions/fstat.texi: Mention the new module and the
47447         problem on MSVC.
47448         * NEWS: Mention the change.
47449         * modules/acl (Depends-on): Add fstat.
47450         * modules/chdir-safer (Depends-on): Likewise.
47451         * modules/chown (Depends-on): Likewise.
47452         * modules/copy-file (Depends-on): Likewise.
47453         * modules/fchdir (Depends-on): Likewise.
47454         * modules/fdopendir (Depends-on): Likewise.
47455         * modules/fopen (Depends-on): Likewise.
47456         * modules/fts (Depends-on): Likewise.
47457         * modules/getcwd (Depends-on): Likewise.
47458         * modules/isapipe (Depends-on): Likewise.
47459         * modules/linkat (Depends-on): Likewise.
47460         * modules/lseek (Depends-on): Likewise.
47461         * modules/mkdir-p (Depends-on): Likewise.
47462         * modules/open (Depends-on): Likewise.
47463         * modules/openat (Depends-on): Likewise.
47464         * modules/read-file (Depends-on): Likewise.
47465         * modules/renameat (Depends-on): Likewise.
47466         * modules/utimens (Depends-on): Likewise.
47468 2011-09-25  Bruno Haible  <bruno@clisp.org>
47470         linkat: Fix compilation on MSVC 9.
47471         * lib/linkat.c: Don't include <stdint.h>.
47473 2011-09-25  Bruno Haible  <bruno@clisp.org>
47475         fclose: Support for MSVC 9.
47476         * lib/fclose.c: Include msvc-inval.h.
47477         (fclose_nothrow): New function.
47478         (rpl_fclose): Use it.
47479         * modules/fclose (Depends-on): Add msvc-inval.
47480         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
47482 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47484         dup2: minor simplifications
47485         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
47486         that it's a performance win.
47487         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
47488         ! defined __CYGWIN__)" to "ifdef F_GETFL".
47490 2011-09-24  Jim Meyering  <meyering@redhat.com>
47492         test-futimens: avoid a warning from gcc -Wshadow
47493         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
47494         to avoid a shadowing warning.
47496 2011-09-24  Bruno Haible  <bruno@clisp.org>
47498         fdopen: Support for MSVC 9.
47499         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
47500         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
47501         * lib/fdopen.c: Include msvc-inval.h.
47502         (fdopen_nothrow): New function.
47503         (rpl_fdopen): Use it.
47504         * modules/fdopen (Depends-on): Add msvc-inval.
47505         * modules/fclose-tests (Depends-on): Add fdopen.
47506         * modules/fflush-tests (Depends-on): Likewise.
47507         * modules/fgetc-tests (Depends-on): Likewise.
47508         * modules/fputc-tests (Depends-on): Likewise.
47509         * modules/fread-tests (Depends-on): Likewise.
47510         * modules/freopen-tests (Depends-on): Likewise.
47511         * modules/fseeko-tests (Depends-on): Likewise.
47512         * modules/ftello-tests (Depends-on): Likewise.
47513         * modules/fwrite-tests  (Depends-on): Likewise.
47514         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
47516 2011-09-24  Bruno Haible  <bruno@clisp.org>
47518         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
47519         * modules/fgetc-tests (Depends-on): Add unistd.
47520         * modules/fputc-tests (Depends-on): Likewise.
47521         * modules/fread-tests (Depends-on): Likewise.
47522         * modules/fwrite-tests (Depends-on): Likewise.
47524 2011-09-24  Bruno Haible  <bruno@clisp.org>
47526         dup: Simplify autoconf test.
47527         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
47528         on gl_MSVC_INVAL's result.
47530 2011-09-24  Bruno Haible  <bruno@clisp.org>
47532         Tests for function fwrite().
47533         * modules/fwrite-tests: New file.
47534         * tests/test-fwrite.c: New file.
47535         * modules/stdio-tests (Depends-on): Add fwrite-tests.
47537         Tests for function fread().
47538         * modules/fread-tests: New file.
47539         * tests/test-fread.c: New file.
47540         * modules/stdio-tests (Depends-on): Add fread-tests.
47542         Activate fputc tests.
47543         * modules/stdio-tests (Depends-on): Add fputc-tests.
47545         Enhance fgetc, fputc tests.
47546         * tests/test-fgetc.c (main): Also test the stream's error indicator.
47547         * tests/test-fputc.c (main): Likewise.
47549 2011-09-24  Bruno Haible  <bruno@clisp.org>
47551         write: Support for MSVC 9.
47552         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47553         is not 1.
47554         * lib/write.c (write_nothrow): New function.
47555         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
47556         not 1. Use write_nothrow.
47557         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
47558         invalid parameter handler.
47559         (gl_PREREQ_WRITE): New macro.
47560         * modules/write (Depends-on): Add msvc-inval.
47561         (configure.ac): Invoke gl_PREREQ_WRITE.
47562         * doc/posix-functions/write.texi: Mention the problem on MSVC.
47564 2011-09-24  Bruno Haible  <bruno@clisp.org>
47566         read: Fix last commit.
47567         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
47569 2011-09-24  Bruno Haible  <bruno@clisp.org>
47571         dup2: Fix last commit.
47572         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
47573         (rpl_dup2): Disable fcntl workaround on native Windows.
47575         sigprocmask: Make code safer.
47576         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
47577         section that changes macro definitions for this compilation unit.
47579 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47581         dup2: clarify by coalescing Windows-specific material
47582         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
47583         "msvc-nothrow.h"' to the Windows-specific section, so that the
47584         Emacs source need not contain these include files.
47585         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
47586         Windows-specific fixes into this function rather than just the
47587         nothrow fix, as this shortens and clarifies the code.  Always
47588         define as a function, as that's a bit cleaner than having it be
47589         sometimes a function and sometimes a macro.
47590         (rpl_dup2): Move the Windows-specific stuff out of here and into
47591         ms_windows_dup2.  Don't protect the Haiku-related fix with
47592         "#if !defined __linux__", as the same code also works around
47593         a Linux kernel bug, and it doesn't add any system calls on any
47594         platform.  Add comment about FreeBSD 6.1.
47596         sigprocmask: move #include directive
47597         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
47598         Windows-specific section, so that the Emacs source need not
47599         contain msvc-inval.h.
47601 2011-09-23  Bruno Haible  <bruno@clisp.org>
47603         read: Support for MSVC 9.
47604         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47605         is not 1.
47606         * lib/read.c (read_nothrow): New function.
47607         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
47608         read_nothrow.
47609         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
47610         invalid parameter handler.
47611         (gl_PREREQ_READ): New macro.
47612         * modules/read (Depends-on): Add msvc-inval.
47613         (configure.ac): Invoke gl_PREREQ_READ.
47614         * doc/posix-functions/read.texi: Mention the problem on MSVC.
47616 2011-09-23  Bruno Haible  <bruno@clisp.org>
47618         close: Support for MSVC 9.
47619         * lib/close.c: Include <errno.h>, msvc-inval.h.
47620         (close_nothrow): New function.
47621         (rpl_close): Use it.
47622         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
47623         invalid parameter handler.
47624         * modules/close (Depends-on): Add msvc-inval.
47625         * modules/dup2-tests (Depends-on): Add close.
47626         * modules/dup3-tests (Depends-on): Likewise.
47627         * modules/fcntl-tests (Depends-on): Likewise.
47628         * modules/spawn-pipe-tests (Depends-on): Likewise.
47629         * modules/unistd-safer-tests (Depends-on): Likewise.
47630         * doc/posix-functions/close.texi: Mention the problem on MSVC.
47632 2011-09-23  Bruno Haible  <bruno@clisp.org>
47634         New module 'dup'.
47635         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
47636         Allow replacement.
47637         * lib/dup.c: New file.
47638         * lib/fchdir.c (rpl_dup): Remove function.
47639         * m4/dup.m4: New file.
47640         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
47641         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
47642         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
47643         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
47644         * modules/dup: New file.
47645         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
47646         'dup' module is in use.
47647         * modules/fdopendir (Depends-on): Add dup.
47648         * modules/fdutimensat-tests (Depends-on): Likewise.
47649         * modules/fts (Depends-on): Likewise.
47650         * modules/futimens-tests (Depends-on): Likewise.
47651         * modules/posix_spawnp-tests (Depends-on): Likewise.
47652         * modules/unistd-safer-tests (Depends-on): Likewise.
47653         * modules/utimens-tests (Depends-on): Likewise.
47654         * doc/posix-functions/dup.texi: Mention the new module and the problem
47655         on MSVC.
47657 2011-09-23  Bruno Haible  <bruno@clisp.org>
47659         getdtablesize: Support for MSVC 9.
47660         * lib/getdtablesize.c: Include msvc-inval.h.
47661         (_setmaxstdio_nothrow): New function.
47662         (_setmaxstdio): Redefine it.
47663         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
47664         * modules/getdtablesize (Depends-on): Add msvc-inval.
47665         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
47667 2011-09-23  Bruno Haible  <bruno@clisp.org>
47669         signal-h: Rename from signal.
47670         * modules/signal-h: Renamed from modules/signal.
47671         * modules/pthread_sigmask (Depends-on): Update.
47672         * modules/raise (Depends-on): Likewise.
47673         * modules/sigaction (Depends-on): Likewise.
47674         * modules/sigpipe (Depends-on): Likewise.
47675         * modules/sigprocmask (Depends-on): Likewise.
47676         * modules/sys_select (Depends-on): Likewise.
47677         * modules/signal-h-tests: Renamed from modules/signal-tests.
47678         (Files, Depends-on, Makefile.am): Update.
47679         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
47680         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
47681         (Files, Makefile.am): Update.
47682         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
47683         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
47684         * modules/signal: New placeholder file.
47685         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
47686         * doc/posix-headers/signal.texi: Update.
47687         * NEWS: Mention the change.
47689 2011-09-23  Bruno Haible  <bruno@clisp.org>
47691         sigprocmask: Avoid crashes through signal() on MSVC 9.
47692         * lib/sigprocmask.c: Include msvc-inval.h.
47693         (signal_nothrow): New function.
47694         (signal): Redefine it.
47695         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
47696         * modules/sigprocmask (Depends-on): Add msvc-inval.
47697         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
47699 2011-09-23  Bruno Haible  <bruno@clisp.org>
47701         Tests for module 'raise'.
47702         * modules/raise-tests: New file.
47703         * tests/test-raise.c: New file.
47705         raise: Support for MSVC.
47706         * lib/signal.in.h (raise): New declaration.
47707         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
47708         for native Windows platforms.
47709         * m4/raise.m4: New file.
47710         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
47711         HAVE_RAISE, REPLACE_RAISE.
47712         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
47713         REPLACE_RAISE.
47714         * modules/raise (Status, Notice): Remove fields.
47715         (Files): Add m4/raise.m4.
47716         (Depends-on): Add signal, msvc-inval.
47717         (configure.ac): Use the common idioms.
47718         (Maintainer): Add me.
47719         * tests/test-signal-c++.cc: Check the signature of raise.
47720         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
47722 2011-09-23  Bruno Haible  <bruno@clisp.org>
47724         pipe2: Fix compilation on pre-C99 compilers.
47725         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
47727 2011-09-23  Bruno Haible  <bruno@clisp.org>
47729         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
47730         * lib/msvc-nothrow.h: New file.
47731         * lib/msvc-nothrow.c: New file.
47732         * m4/msvc-nothrow.m4: New file.
47733         * modules/msvc-nothrow: New file.
47734         * lib/dup2.c: Include msvc-nothrow.h.
47735         (rpl_dup2): No need to protect _get_osfhandle call here.
47736         * lib/accept4.c: Include msvc-nothrow.h.
47737         * lib/error.c: Likewise.
47738         * lib/fcntl.c: Likewise.
47739         * lib/lseek.c: Likewise.
47740         * lib/nonblocking.c: Likewise.
47741         * lib/poll.c: Likewise.
47742         * lib/read.c: Likewise.
47743         * lib/select.c: Likewise.
47744         * lib/sockets.h: Likewise.
47745         * lib/sockets.c: Likewise.
47746         * lib/stdio-read.c: Likewise.
47747         * lib/stdio-write.c: Likewise.
47748         * lib/write.c: Likewise.
47749         * lib/w32sock.h: Likewise.
47750         * lib/w32spawn.h: Likewise.
47751         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
47752         * lib/fsync.c: Likewise.
47753         * lib/isapipe.c: Likewise.
47754         * modules/dup2 (Depends-on): Add msvc-nothrow.
47755         * modules/accept4 (Depends-on): Likewise.
47756         * modules/error (Depends-on): Likewise.
47757         * modules/fcntl (Depends-on): Likewise.
47758         * modules/lseek (Depends-on): Likewise.
47759         * modules/nonblocking (Depends-on): Likewise.
47760         * modules/poll (Depends-on): Likewise.
47761         * modules/read (Depends-on): Likewise.
47762         * modules/select (Depends-on): Likewise.
47763         * modules/sockets (Depends-on): Likewise.
47764         * modules/sigpipe (Depends-on): Likewise.
47765         * modules/write (Depends-on): Likewise.
47766         * modules/accept (Depends-on): Likewise.
47767         * modules/bind (Depends-on): Likewise.
47768         * modules/connect (Depends-on): Likewise.
47769         * modules/gethostname (Depends-on): Likewise.
47770         * modules/getpeername (Depends-on): Likewise.
47771         * modules/getsockname (Depends-on): Likewise.
47772         * modules/getsockopt (Depends-on): Likewise.
47773         * modules/ioctl (Depends-on): Likewise.
47774         * modules/listen (Depends-on): Likewise.
47775         * modules/recv (Depends-on): Likewise.
47776         * modules/recvfrom (Depends-on): Likewise.
47777         * modules/send (Depends-on): Likewise.
47778         * modules/sendto (Depends-on): Likewise.
47779         * modules/setsockopt (Depends-on): Likewise.
47780         * modules/shutdown (Depends-on): Likewise.
47781         * modules/socket (Depends-on): Likewise.
47782         * modules/execute (Depends-on): Likewise.
47783         * modules/spawn-pipe (Depends-on): Likewise.
47784         * modules/flock (Depends-on): Likewise.
47785         * modules/fsync (Depends-on): Likewise.
47786         * modules/isapipe (Depends-on): Likewise.
47787         * tests/test-cloexec.c: Include msvc-nothrow.h.
47788         * tests/test-dup-safer.c: Likewise.
47789         * tests/test-dup2.c: Likewise.
47790         * tests/test-dup3.c: Likewise.
47791         * tests/test-fcntl.c: Likewise.
47792         * tests/test-pipe.c: Likewise.
47793         * tests/test-pipe2.c: Likewise.
47794         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
47795         * modules/unistd-safer-tests (Depends-on): Likewise.
47796         * modules/dup2-tests (Depends-on): Likewise.
47797         * modules/dup3-tests (Depends-on): Likewise.
47798         * modules/fcntl-tests (Depends-on): Likewise.
47799         * modules/pipe-posix-tests (Depends-on): Likewise.
47800         * modules/pipe2-tests (Depends-on): Likewise.
47802 2011-09-23  Bruno Haible  <bruno@clisp.org>
47804         dup2: Make code more maintainable.
47805         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
47806         (rpl_dup2): Use it.
47807         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
47808         * modules/dup2 (configure.ac): Invoke it.
47809         Reported by Paul Eggert.
47811 2011-09-23  Bruno Haible  <bruno@clisp.org>
47813         msvc-inval: Fix compilation error.
47814         * lib/msvc-inval.h: Include <excpt.h>.
47816 2011-09-23  Bruno Haible  <bruno@clisp.org>
47818         mkdir: Tweak for MSVC 9.
47819         * lib/sys_stat.in.h: Update comments.
47820         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
47822         Tests for module 'chdir'.
47823         * modules/chdir-tests: New file.
47824         * tests/test-chdir.c: New file.
47826         New module 'chdir'.
47827         * modules/chdir: New file.
47828         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
47829         (chdir): New declaration.
47830         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
47831         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
47832         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
47833         * tests/test-unistd-c++.cc: Check signature of chdir.
47834         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
47835         * modules/chdir-long (Depends-on): Add chdir.
47836         * modules/fchdir (Depends-on): Likewise.
47837         * modules/rename (Depends-on): Likewise.
47838         * modules/savewd (Depends-on): Likewise.
47840         rmdir: Support for mingw, MSVC 9.
47841         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
47842         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
47844         getcwd: Tweak for MSVC 9.
47845         * lib/unistd.in.h: Update comments.
47846         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
47848 2011-09-22  Bruno Haible  <bruno@clisp.org>
47850         strerror_r-posix: Avoid a link error on MSVC.
47851         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
47852         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
47854 2011-09-22  Bruno Haible  <bruno@clisp.org>
47856         select: Avoid link errors on MSVC.
47857         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
47858         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
47859         * modules/pselect (Link): Likewise.
47860         * NEWS: Mention the change.
47861         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
47862         test-select-stdin against $(LIB_SELECT).
47863         * modules/pselect-tests (Makefile.am): Link test-pselect against
47864         $(LIB_SELECT).
47866 2011-09-22  Bruno Haible  <bruno@clisp.org>
47868         select: Avoid compilation error on MSVC.
47869         * lib/select.c: Don't include <stdbool.h>.
47871 2011-09-21  Bruno Haible  <bruno@clisp.org>
47873         Consolidate all uses of PATH_MAX in *.m4 files.
47874         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
47875         macros.
47876         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
47877         and gl_PATHMAX_SNIPPET.
47878         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
47879         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47880         * modules/chdir-long (Files): Add m4/pathmax.m4.
47881         * modules/getcwd (Files): Likewise.
47883 2011-09-21  Bruno Haible  <bruno@clisp.org>
47885         ftruncate: Un-deprecate, concentrate on Win32 support.
47886         * modules/ftruncate (Status, Notice): Remove sections.
47887         (Depends-on): Add largefile.
47888         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
47889         non-mingw platforms.
47890         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
47891         include <io.h>.
47892         * modules/perror-tests (Depends-on): Add ftruncate.
47893         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
47894         'ftruncate' module.
47896 2011-09-21  Bruno Haible  <bruno@clisp.org>
47898         Add dependencies to new dirent related modules.
47899         * modules/opendir (Depends-on): Add closedir.
47900         * modules/getcwd (Depends-on): Add opendir, closedir.
47901         * modules/dirent-safer-tests (Depends-on): Likewise.
47902         * modules/fdopendir-tests (Depends-on): Likewise.
47903         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
47904         * modules/renameat-tests (Depends-on): Likewise.
47906 2011-09-21  Bruno Haible  <bruno@clisp.org>
47908         opendir: Avoid compilation error on mingw.
47909         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
47910         * modules/opendir (Depends-on): Add unistd.
47912 2011-09-21  Bruno Haible  <bruno@clisp.org>
47914         ftruncate tests: Avoid a test failure on mingw.
47915         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
47917 2011-09-21  Bruno Haible  <bruno@clisp.org>
47919         select tests: Avoid test failures on OSF/1 5.1 and mingw.
47920         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
47921         native Windows.
47923 2011-09-21  Bruno Haible  <bruno@clisp.org>
47925         New module 'fdopen'.
47926         * lib/stdio.in.h (fdopen): New declaration.
47927         * lib/fdopen.c: New file.
47928         * m4/fdopen.m4: New file.
47929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
47930         REPLACE_FDOPEN.
47931         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
47932         REPLACE_FDOPEN.
47933         * modules/fdopen: New file.
47934         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
47935         * tests/test-stdio-c++.cc: Check signature of fdopen.
47936         * doc/posix-functions/fdopen.texi: Mention the new module.
47938 2011-09-21  Bruno Haible  <bruno@clisp.org>
47940         unlockpt tests: Avoid test failure on NetBSD 5.1.
47941         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
47942         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
47944 2011-09-21  Bruno Haible  <bruno@clisp.org>
47946         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
47947         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
47948         * tests/test-getlogin_r.c (main): Likewise.
47950 2011-09-20  Bruno Haible  <bruno@clisp.org>
47952         time tests: Don't require pid_t.
47953         * doc/posix-headers/time.texi: Revert last change.
47954         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
47955         * tests/test-time.c: Comment out the check for pid_t.
47957 2011-09-20  Bruno Haible  <bruno@clisp.org>
47959         fsync tests: Avoid a test failure on mingw.
47960         * tests/test-fsync.c (main): Allow a failure with EIO.
47962 2011-09-20  Bruno Haible  <bruno@clisp.org>
47964         euidaccess: Update comments.
47965         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
47967 2011-09-20  Bruno Haible  <bruno@clisp.org>
47969         Ensure EBADF returns for socket functions on mingw.
47970         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
47971         descriptor is invalid.
47972         * lib/bind.c (rpl_bind): Likewise.
47973         * lib/connect.c (rpl_connect): Likewise.
47974         * lib/getpeername.c (rpl_getpeername): Likewise.
47975         * lib/getsockname.c (rpl_getsockname): Likewise.
47976         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47977         * lib/listen.c (rpl_listen): Likewise.
47978         * lib/recv.c (rpl_recv): Likewise.
47979         * lib/recvfrom.c (rpl_recvfrom): Likewise.
47980         * lib/send.c (rpl_send): Likewise.
47981         * lib/sendto.c (rpl_sendto): Likewise.
47982         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47983         * lib/shutdown.c (rpl_shutdown): Likewise.
47985 2011-09-20  Bruno Haible  <bruno@clisp.org>
47987         select tests: EBADF tests.
47988         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
47989         test_bad_fd): New functions.
47990         (test_function): Invoke also test_bad_fd.
47992 2011-09-20  Bruno Haible  <bruno@clisp.org>
47994         Tests for module 'posix_spawn_file_actions_addopen.
47995         * modules/posix_spawn_file_actions_addopen-tests: New file.
47996         * tests/test-posix_spawn_file_actions_addopen.c: New file.
47998         Tests for module 'posix_spawn_file_actions_adddup2'.
47999         * modules/posix_spawn_file_actions_adddup2-tests: New file.
48000         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
48002         Tests for module 'posix_spawn_file_actions_addclose'.
48003         * modules/posix_spawn_file_actions_addclose-tests: New file.
48004         * tests/test-posix_spawn_file_actions_addclose.c: New file.
48006 2011-09-20  Bruno Haible  <bruno@clisp.org>
48008         Tests for module 'unlockpt'.
48009         * modules/unlockpt-tests: New file.
48010         * tests/test-unlockpt.c: New file.
48011         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
48013         Tests for module 'grantpt'.
48014         * modules/grantpt-tests: New file.
48015         * tests/test-grantpt.c: New file.
48016         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
48018 2011-09-20  Bruno Haible  <bruno@clisp.org>
48020         freopen tests: EBADF tests.
48021         * tests/test-freopen.c: Include errno.h, unistd.h.
48022         (main): Add tests for EBADF, commented out for the moment.
48024         fclose tests: EBADF tests.
48025         * tests/test-fclose.c (main): Add tests for EBADF.
48027         fflush tests: EBADF tests.
48028         * tests/test-fflush.c: Include errno.h, macros.h.
48029         (main): Add tests for EBADF.
48031         ftello tests: EBADF tests.
48032         * tests/test-ftello4.sh: New file.
48033         * tests/test-ftello4.c: New file.
48034         * modules/ftello-tests (Files): Add them.
48035         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
48037         fseeko tests: EBADF tests.
48038         * tests/test-fseeko4.sh: New file.
48039         * tests/test-fseeko4.c: New file.
48040         * modules/fseeko-tests (Files): Add them.
48041         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
48043         Tests for function fputc().
48044         * modules/fputc-tests: New file.
48045         * tests/test-fputc.c: New file.
48046         * modules/stdio-tests (Depends-on): Add fputc-tests.
48048         Tests for function fgetc().
48049         * modules/fgetc-tests: New file.
48050         * tests/test-fgetc.c: New file.
48051         * modules/stdio-tests (Depends-on): Add fgetc-tests.
48053         Tests for function fdopen().
48054         * modules/fdopen-tests: New file.
48055         * tests/test-fdopen.c: New file.
48056         * modules/stdio-tests (Depends-on): Add fdopen-tests.
48058         Tests for module 'vdprintf'.
48059         * modules/vdprintf-tests: New file.
48060         * tests/test-vdprintf.c: New file.
48062         Tests for module 'dprintf'.
48063         * modules/dprintf-tests: New file.
48064         * tests/test-dprintf.c: New file.
48066 2011-09-20  Bruno Haible  <bruno@clisp.org>
48068         Tests for module 'ioctl'.
48069         * modules/ioctl-tests: New file.
48070         * tests/test-ioctl.c: New file.
48072 2011-09-20  Bruno Haible  <bruno@clisp.org>
48074         fcntl tests: EBADF tests.
48075         * tests/test-fcntl.c (main): Add more tests for EBADF.
48077 2011-09-20  Bruno Haible  <bruno@clisp.org>
48079         utimensat tests: EBADF tests.
48080         * tests/test-utimensat.c (main): Add tests for EBADF.
48082         renameat tests: EBADF tests.
48083         * tests/test-renameat.c (main): Add tests for EBADF.
48085         mkfifoat tests: EBADF tests.
48086         * tests/test-mkfifoat.c (main): Add tests for EBADF.
48088         readlinkat tests: EBADF tests.
48089         * tests/test-readlinkat.c (main): Add tests for EBADF.
48091         symlinkat tests: EBADF tests.
48092         * tests/test-symlinkat.c (main): Add tests for EBADF.
48094         linkat tests: EBADF tests.
48095         * tests/test-linkat.c (main): Add tests for EBADF.
48097         Tests for module 'faccessat'.
48098         * modules/faccessat-tests: New file.
48099         * tests/test-faccessat.c: New file.
48101         fdopendir tests: EBADF tests.
48102         * tests/test-fdopendir.c (main): Add more tests for EBADF.
48104         openat tests: EBADF tests.
48105         * tests/test-fchownat.c (main): Add tests for EBADF.
48106         * tests/test-fstatat.c (main): Likewise.
48107         * tests/test-mkdirat.c (main): Likewise.
48108         * tests/test-openat.c (main): Likewise.
48109         * tests/test-unlinkat.c (main): Likewise.
48110         * tests/test-fchmodat.c: New file.
48111         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
48112         (Makefile.am): Also run 'test-fchmodat'.
48114 2011-09-20  Bruno Haible  <bruno@clisp.org>
48116         utimens, futimens, fdutimensat tests: EBADF tests.
48117         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
48119         Tests for function fstat().
48120         * modules/fstat-tests: New file.
48121         * tests/test-fstat.c: New file.
48122         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
48124 2011-09-20  Bruno Haible  <bruno@clisp.org>
48126         test-ttyname_r tests: EBADF tests.
48127         * tests/test-ttyname_r.c (main): Add tests for EBADF.
48129         Tests for module 'isatty'.
48130         * modules/isatty-tests: New file.
48131         * tests/test-isatty.c: New file.
48133         Tests for module 'write'.
48134         * modules/write-tests: New file.
48135         * tests/test-write.c: New file.
48137         Tests for module 'read'.
48138         * modules/read-tests: New file.
48139         * tests/test-read.c: New file.
48141         pwrite tests: EBADF tests.
48142         * tests/test-pwrite.c (main): Add tests for EBADF.
48144         pread tests: EBADF tests.
48145         * tests/test-pread.c (main): Add tests for EBADF.
48147         lseek tests: EBADF tests.
48148         * tests/test-lseek.c (main): Add more tests for EBADF.
48150         Tests for module 'ftruncate'.
48151         * modules/ftruncate-tests: New file.
48152         * tests/test-ftruncate.sh: New file.
48153         * tests/test-ftruncate.c: New file.
48155         fsync tests: EBADF tests.
48156         * tests/test-fsync.c (main): Add more tests for EBADF.
48158         fdatasync tests: EBADF tests.
48159         * tests/test-fdatasync.c (main): Add more tests for EBADF.
48161         Tests for module 'fchown'.
48162         * modules/fchown-tests: New file.
48163         * tests/test-fchown.c: New file.
48165         Tests for module 'fchmod'.
48166         * modules/fchmod-tests: New file.
48167         * tests/test-fchmod.c: New file.
48169         fchdir tests: EBADF tests.
48170         * tests/test-fchdir.c (main): Add more tests for EBADF.
48172         dup2 tests: EBADF tests.
48173         * tests/test-dup2.c (main): Add more tests for EBADF.
48175         Tests for module 'dup'.
48176         * modules/dup-tests: New file.
48177         * tests/test-dup.c: New file.
48179         Tests for module 'close'.
48180         * modules/close-tests: New file.
48181         * tests/test-close.c: New file.
48183 2011-09-20  Bruno Haible  <bruno@clisp.org>
48185         Tests for module 'shutdown'.
48186         * modules/shutdown-tests: New file.
48187         * tests/test-shutdown.c: New file.
48189         Tests for module 'setsockopt'.
48190         * modules/setsockopt-tests: New file.
48191         * tests/test-setsockopt.c: New file.
48193         Tests for module 'sendto'.
48194         * modules/sendto-tests: New file.
48195         * tests/test-sendto.c: New file.
48197         Tests for module 'send'.
48198         * modules/send-tests: New file.
48199         * tests/test-send.c: New file.
48201         Tests for module 'recvfrom'.
48202         * modules/recvfrom-tests: New file.
48203         * tests/test-recvfrom.c: New file.
48205         Tests for module 'recv'.
48206         * modules/recv-tests: New file.
48207         * tests/test-recv.c: New file.
48209         Tests for module 'listen'.
48210         * modules/listen-tests: New file.
48211         * tests/test-listen.c: New file.
48213         Tests for module 'getsockopt'.
48214         * modules/getsockopt-tests: New file.
48215         * tests/test-getsockopt.c: New file.
48217         Tests for module 'getsockname'.
48218         * modules/getsockname-tests: New file.
48219         * tests/test-getsockname.c: New file.
48221         Tests for module 'getpeername'.
48222         * modules/getpeername-tests: New file.
48223         * tests/test-getpeername.c: New file.
48225         Tests for module 'connect'.
48226         * modules/connect-tests: New file.
48227         * tests/test-connect.c: New file.
48229         Tests for module 'bind'.
48230         * modules/bind-tests: New file.
48231         * tests/test-bind.c: New file.
48233         accept4 tests: Fix for native Windows.
48234         * tests/test-accept4.c: Include sockets.h.
48235         (main): Invoke gl_sockets_startup.
48236         * modules/accept4-tests (Depends-on): Add sockets.
48238         accept tests: Fix for native Windows.
48239         * tests/test-accept.c: Include sockets.h.
48240         (main): Invoke gl_sockets_startup.
48241         * modules/accept-tests (Depends-on): Add sockets.
48243 2011-09-19  Bruno Haible  <bruno@clisp.org>
48245         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
48246         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
48247         do...while(0).
48248         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
48249         Suggested by Paul Eggert.
48251 2011-09-19  Bruno Haible  <bruno@clisp.org>
48253         sched: Ensure pid_t is defined.
48254         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
48255         not define pid_t.
48256         * lib/sched.in.h: Include <sys/types.h>.
48257         * doc/posix-headers/sched.texi: Mention the pid_t problem.
48258         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48260 2011-09-19  Bruno Haible  <bruno@clisp.org>
48262         msvc-inval: Ensure the entire expansion is a single statement.
48263         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
48264         of braces.
48266 2011-09-19  Jim Meyering  <meyering@redhat.com>
48268         tests: use printf, not echo in init.sh's warn_ function
48269         * tests/init.sh (warn_): Use printf, not echo.  The latter would
48270         misbehave when given strings containing a backslash or starting
48271         with e.g., -n.  James Youngman suggested setting IFS.
48273 2011-09-19  Eric Blake  <eblake@redhat.com>
48275         futimens: enhance test
48276         * tests/test-futimens.h (test_futimens): Also check for EBADF on
48277         closed non-negative fd.
48279         date: accept 'hence' as opposite of 'ago'
48280         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
48281         * tests/test-parse-datetime.c (main): Enhance test.
48282         Suggested by Jesse Wilson.
48284 2011-09-19  Jim Meyering  <meyering@redhat.com>
48286         getcwd: don't fail in a deep directory on a system without openat
48287         Before this change, getcwd would fail when called from a directory
48288         of depth PATH_MAX / 3 or greater.  That was due to the fact that
48289         the non-openat implementation used "..", "../..", "../../..", etc.
48290         to access ancestor directories.  With too many, that string would
48291         be longer than PATH_MAX.
48292         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
48293         using gnulib's openat replacement.
48294         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
48295         we're using the replacement function.
48297 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
48299         maint.mk: avoid warnings from perl about missing files
48300         * top/maint.mk (def_sym_regex): Ignore files listed in
48301         $(gl_other_headers_) that do not exist, say because a project
48302         does not use a corresponding module.
48304 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
48306         stat: use pathmax.h only if needed
48307         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
48308         This is better for Emacs, which does not have a mingw port and
48309         therefore can avoid the pathmax module.
48311         utimens: remove dependency on dup2
48312         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
48313         to work around the Linux kernel bug.
48314         * modules/utimens (Depends-on): Remove dup2.
48316 2011-09-18  Bruno Haible  <bruno@clisp.org>
48318         inet_ntop, inet_pton: Look for it also in libresolv.
48319         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
48320         libnsl, search for it in libresolv.
48321         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48322         Needed on Solaris 7.
48324 2011-09-18  Bruno Haible  <bruno@clisp.org>
48326         accept, accept4 tests: Avoid link error on Solaris.
48327         * modules/accept-tests (Makefile.am): Link test-accept against
48328         $(LIBSOCKET).
48329         * modules/accept4-tests (Makefile.am): Link test-accept4 against
48330         $(LIBSOCKET).
48332         accept4: Avoid link error on Solaris.
48333         * modules/accept4 (Link): New section.
48335         socket functions: Avoid link errors on Solaris.
48336         * modules/accept (Depends-on): Add socketlib.
48337         (Link): New section.
48338         * modules/bind (Depends-on): Add socketlib.
48339         (Link): New section.
48340         * modules/connect (Depends-on): Add socketlib.
48341         (Link): New section.
48342         * modules/getpeername (Depends-on): Add socketlib.
48343         (Link): New section.
48344         * modules/getsockname (Depends-on): Add socketlib.
48345         (Link): New section.
48346         * modules/getsockopt (Depends-on): Add socketlib.
48347         (Link): New section.
48348         * modules/listen (Depends-on): Add socketlib.
48349         (Link): New section.
48350         * modules/recv (Depends-on): Add socketlib.
48351         (Link): New section.
48352         * modules/recvfrom (Depends-on): Add socketlib.
48353         (Link): New section.
48354         * modules/send (Depends-on): Add socketlib.
48355         (Link): New section.
48356         * modules/sendto (Depends-on): Add socketlib.
48357         (Link): New section.
48358         * modules/setsockopt (Depends-on): Add socketlib.
48359         (Link): New section.
48360         * modules/shutdown (Depends-on): Add socketlib.
48361         (Link): New section.
48362         * modules/socket (Depends-on): Add socketlib.
48363         (Link): New section.
48365 2011-09-18  Bruno Haible  <bruno@clisp.org>
48367         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
48368         * tests/test-ptsname.c (main): Terminate the test if it takes longer
48369         than 5 seconds.
48370         * modules/ptsname-tests (configure.ac): Test for alarm.
48372 2011-09-18  Bruno Haible  <bruno@clisp.org>
48374         posix_spawn_file_actions_add*: Fix module dependencies.
48375         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
48376         posix_spawn_file_actions_init.
48377         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
48378         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
48380 2011-09-18  Bruno Haible  <bruno@clisp.org>
48382         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
48383         * tests/test-rename.h (test_rename): Allow error code EEXIST.
48384         * tests/test-renameat.c (main): Likewise.
48386 2011-09-18  Bruno Haible  <bruno@clisp.org>
48388         Tests for module 'accept4'.
48389         * modules/accept4-tests: New file.
48390         * tests/test-accept4.c: New file.
48392 2011-09-18  Bruno Haible  <bruno@clisp.org>
48394         Tests for module 'accept'.
48395         * modules/accept-tests: New file.
48396         * tests/test-accept.c: New file.
48398 2011-09-18  Bruno Haible  <bruno@clisp.org>
48400         dup2: Support for MSVC.
48401         * lib/dup2.c: Include msvc-inval.h.
48402         (rpl_dup2): Handle invalid parameter notifications during dup2 and
48403         _get_osfhandle calls.
48404         * modules/dup2 (Depends-on): Add msvc-inval.
48405         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
48407         New module 'msvc-inval'.
48408         * lib/msvc-inval.h: New file.
48409         * lib/msvc-inval.c: New file.
48410         * m4/msvc-inval.m4: New file.
48411         * modules/msvc-inval: New file.
48413 2011-09-17  Bruno Haible  <bruno@clisp.org>
48415         Tests for module 'pclose'.
48416         * modules/pclose-tests: New file.
48418         New module 'pclose'.
48419         * lib/stdio.in.h (pclose): New declaration.
48420         * lib/pclose.c: New file.
48421         * m4/pclose.m4: New file.
48422         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
48423         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
48424         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
48425         * modules/pclose: New file.
48426         * modules/popen-tests (Depends-on): Add pclose.
48427         * modules/popen-safer-tests (Depends-on): Likewise.
48428         * doc/posix-functions/pclose.texi: Mention the new module.
48430 2011-09-17  Bruno Haible  <bruno@clisp.org>
48432         popen: Support for MSVC.
48433         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
48434         * lib/popen.c (popen): Provide alternate definition for native Windows.
48435         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
48436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
48437         * modules/popen (Depends-on, configure.ac): Update condition.
48438         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
48439         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
48440         fixed.
48442 2011-09-17  Bruno Haible  <bruno@clisp.org>
48444         isnanl, isnand, isnanf: Work around MSVC bug.
48445         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
48447 2011-09-17  Bruno Haible  <bruno@clisp.org>
48449         sys_socket tests: Fix recent mistake.
48450         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
48452 2011-09-17  Bruno Haible  <bruno@clisp.org>
48454         putenv: Support for MSVC.
48455         * modules/putenv (Depends-on): Add environ.
48456         * lib/putenv.c (environ): Disable declaration.
48457         * lib/unistd.in.h: Update comment.
48459 2011-09-17  Bruno Haible  <bruno@clisp.org>
48461         math: Avoid macro redefinition warnings on MSVC.
48462         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
48463         Undefine before redefining.
48465 2011-09-17  Bruno Haible  <bruno@clisp.org>
48467         doc: Mention functions which are declared as macros.
48468         * doc/posix-functions/*[fl].texi: Mention that some functions are
48469         defined as macros with arguments only.
48471 2011-09-17  Bruno Haible  <bruno@clisp.org>
48473         Add dependencies to new dirent related modules.
48474         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
48475         * modules/fts (Depends-on): Likewise.
48476         * modules/glob (Depends-on): Likewise.
48477         * modules/savedir (Depends-on): Likewise.
48478         * modules/scandir (Depends-on): Likewise.
48479         * modules/dirent-safer (Depends-on): Add opendir, closedir.
48480         * modules/fdopendir (Depends-on): Add opendir.
48482 2011-09-17  Bruno Haible  <bruno@clisp.org>
48484         inet_pton: Support for MSVC on Windows Vista or newer.
48485         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
48486         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
48487         HAVE_DECL_INET_PTON is defined.
48488         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48489         On platforms with <winsock2.h>, test whether inet_pton is declared in
48490         <ws2tcpip.h>. If so, arrange to replace it.
48491         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48492         REPLACE_INET_PTON.
48493         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
48494         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
48495         (Depends-on, configure.ac): Update condition.
48496         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
48498 2011-09-17  Bruno Haible  <bruno@clisp.org>
48500         inet_ntop: Support for MSVC on Windows Vista or newer.
48501         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
48502         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
48503         HAVE_DECL_INET_NTOP is defined.
48504         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48505         On platforms with <winsock2.h>, test whether inet_ntop is declared in
48506         <ws2tcpip.h>. If so, arrange to replace it.
48507         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48508         REPLACE_INET_NTOP.
48509         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
48510         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
48511         (Depends-on, configure.ac): Update condition.
48512         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
48514 2011-09-16  Eric Blake  <eblake@redhat.com>
48516         test-fsync: yet another enhancement
48517         * tests/test-fsync.c (main): Also test behavior on read-only text
48518         file.
48520 2011-09-16  Bruno Haible  <bruno@clisp.org>
48522         Enhance fsync, fdatasync tests.
48523         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
48524         * tests/test-fdatasync.c (main): Likewise.
48526 2011-09-16  Bruno Haible  <bruno@clisp.org>
48528         Support for MSVC compiler: Ensure mode_t gets defined.
48529         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
48530         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48531         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48532         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
48533         * tests/test-fcntl-h.c: Check that mode_t is defined.
48534         * tests/test-sys_stat.c: Likewise.
48535         * tests/test-sys_types.c: Likewise.
48536         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
48537         * doc/posix-headers/sys_stat.texi: Likewise.
48538         * doc/posix-headers/sys_types.texi: Likewise.
48540 2011-09-16  Bruno Haible  <bruno@clisp.org>
48542         sys_stat: Support for MSVC.
48543         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
48544         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
48545         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
48546         MSVC.
48548 2011-09-16  Bruno Haible  <bruno@clisp.org>
48550         Support for MSVC compiler: Ensure off_t gets defined.
48551         * lib/unistd.in.h: Include <sys/types.h>.
48552         * tests/test-fcntl-h.c: Check that off_t is defined.
48553         * tests/test-sys_stat.c: Likewise.
48554         * tests/test-sys_types.c: Likewise.
48556 2011-09-16  Eric Blake  <eblake@redhat.com>
48558         fdatasync: port to Solaris
48559         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
48560         * modules/fdatasync (Link): Document it.
48561         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
48563         fdatasync: port to MacOS X 10.7
48564         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
48565         declared.
48566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
48567         * modules/unistd (Makefile.am): Substitute it.
48568         * lib/unistd.in.h (fdatasync): Declare on MacOS.
48569         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
48571         fdatasync: minor improvements
48572         * modules/fdatasync (Depends-on): Add condition for fsync.
48573         * lib/fdatasync.c (fdatasync): Add comment.
48574         * tests/test-unistd-c++.cc: Test fdatasync.
48576         unistd: update refs to newer POSIX
48577         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
48578         Suggested by Bruno Haible.
48580         fdatasync: new module
48581         * modules/fsync (Description): Document difference to fdatasync.
48582         * modules/fdatasync: New module.
48583         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
48584         * lib/fdatasync.c (fdatasync): Likewise.
48585         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
48586         defaults.
48587         * modules/unistd (Makefile.am): Set witnesses.
48588         * lib/unistd.in.h (fdatasync): Declare.
48589         * MODULES.html.sh: Document it.
48590         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
48591         * modules/fdatasync-tests: New test.
48592         * tests/test-fdatasync.c: Likewise.
48594 2011-09-16  Eric Blake  <eblake@redhat.com>
48596         test-fsync: enhance tests
48597         * modules/fsync-tests (Depends-on): Add errno, for mingw.
48598         * tests/test-fsync.c (main): Enhance test.
48600 2011-09-15  Bruno Haible  <bruno@clisp.org>
48602         Support for MSVC compiler: Ensure ssize_t gets defined.
48603         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
48604         * doc/posix-headers/stdio.texi: Likewise.
48605         * modules/stdio (Depends-on): Add ssize_t.
48606         * modules/sys_socket (Depends-on): Likewise.
48607         * modules/sys_types (Depends-on): Likewise.
48608         * modules/sys_uio (Depends-on): Likewise.
48609         * modules/unistd (Depends-on): Likewise.
48610         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
48611         * tests/test-sys_types.c: Check that ssize_t is defined.
48613 2011-09-14  Bruno Haible  <bruno@clisp.org>
48615         Avoid using #, the m4 comment starter character, near brackets.
48616         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
48617         delimiter character in sed expressions.
48618         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
48619         Suggested by Eric Blake.
48621         Properly quote AC_CHECK_DECLS' 4th argument.
48622         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
48623         argument.
48624         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48625         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
48626         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48627         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
48628         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48629         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
48630         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
48631         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
48632         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
48633         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48634         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
48635         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48636         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48637         * m4/isinf.m4 (gl_ISINF): Likewise.
48638         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48639         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48640         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48641         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
48642         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
48643         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
48644         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48645         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
48646         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
48647         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48648         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48649         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48650         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
48651         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48652         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48653         Reported by Eric Blake.
48655         Properly quote AC_CHECK_DECL's 4th argument.
48656         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
48657         argument.
48658         * m4/argp.m4 (gl_ARGP): Likewise.
48659         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48660         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48661         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48662         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48663         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
48664         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
48665         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
48666         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48667         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48668         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48669         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48670         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48671         Reported by Eric Blake.
48673 2011-09-14  Eric Blake  <eblake@redhat.com>
48675         opendir: avoid compile warning
48676         * lib/opendir.c (includes): Always include errno.h.
48677         Reported by Tatsuro MATSUOKA.
48679 2011-09-14  Jim Meyering  <meyering@redhat.com>
48681         maint.mk: sc_tight_scope: propagate failure from sub-make
48682         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
48683         Reported by Martin von Gagern.
48685 2011-09-13  Bruno Haible  <bruno@clisp.org>
48687         tempname: Support for MSVC.
48688         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
48689         MSVC.
48690         * modules/tempname (Depends-on): Add fcntl-h.
48692 2011-09-13  Bruno Haible  <bruno@clisp.org>
48694         sys_time: Support for MSVC.
48695         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
48696         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
48697         include <winsock2.h>.
48698         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
48699         function declarations that collide with POSIX.
48700         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
48701         (Makefile.am): Substitute HAVE_WINSOCK2_H.
48703 2011-09-13  Bruno Haible  <bruno@clisp.org>
48705         stat: Support for MSVC.
48706         * lib/stat.c: Include pathmax.h.
48707         * modules/stat (Depends-on): Add pathmax.
48709         pathmax: Support for native Windows.
48710         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
48712 2011-09-12  Bruno Haible  <bruno@clisp.org>
48714         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
48715         * lib/dirent.in.h (struct dirent): New type.
48716         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
48717         DT_WHT): New macros.
48718         (DIR): New type.
48719         (opendir, closedir): Declare only if the module 'opendir' is enabled.
48720         (readdir, rewinddir): New declarations.
48721         * lib/dirent-private.h: New file.
48722         * lib/opendir.c: New file.
48723         * lib/readdir.c: New file.
48724         * lib/rewinddir.c: New file.
48725         * lib/closedir.c: New file.
48726         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
48727         * m4/opendir.m4: New file.
48728         * m4/readdir.m4: New file.
48729         * m4/rewinddir.m4: New file.
48730         * m4/closedir.m4: New file.
48731         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
48732         REPLACE_CLOSEDIR here.
48733         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
48734         readdir, rewinddir are declared.
48735         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
48736         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
48737         HAVE_REWINDDIR, HAVE_CLOSEDIR.
48738         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
48739         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
48740         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
48741         * modules/opendir: New file.
48742         * modules/readdir: New file.
48743         * modules/rewinddir: New file.
48744         * modules/closedir: New file.
48745         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
48746         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
48747         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
48748         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
48749         * NEWS: Mention the 'fchdir' change.
48751 2011-09-11  Bruno Haible  <bruno@clisp.org>
48753         asm-underscore.m4: Support for MSVC.
48754         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
48755         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
48757 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
48759         Doc about crypt functions.
48760         * doc/posix-functions/crypt.texi: Expand range of glibc versions
48761         needing for _GNU_SOURCE to get crypt.
48762         * doc/posix-functions/encrypt.texi: Likewise.
48763         * doc/posix-functions/setkey.texi: Likewise.
48765 2011-09-11  Bruno Haible  <bruno@clisp.org>
48767         doc: Update regarding MSVC 9.
48768         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
48769         tested".
48770         * doc/posix-functions/*.texi: Update with info about MSVC 9.
48771         * doc/posix-headers/*.texi: Likewise.
48772         * doc/pastposix-functions/*.texi: Likewise.
48773         * doc/glibc-functions/*.texi: Likewise.
48774         * doc/glibc-headers/*.texi: Likewise.
48776 2011-09-11  Bruno Haible  <bruno@clisp.org>
48778         unistd et al.: Don't assume <unistd.h> exists.
48779         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
48780         does not exist.
48781         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
48782         exist. But include <stdlib.h>.
48783         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
48784         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
48785         symlink() does not exist.
48786         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
48787         include <io.h> instead.
48788         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
48789         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
48790         include <direct.h> instead.
48791         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48792         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48793         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
48794         <io.h> instead.
48795         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
48796         correctly if the system does not have hard links.
48797         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
48798         <direct.h> instead.
48799         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
48800         it when looking for function declarations.
48801         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
48802         <direct.h> and <io.h> instead.
48803         * doc/posix-headers/unistd.texi: More details about MSVC problem.
48805 2011-09-11  Bruno Haible  <bruno@clisp.org>
48807         strcase: Support for MSVC.
48808         * modules/strcase (Status, Notice): Remove obsoletion mark.
48809         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
48810         * doc/posix-functions/strncasecmp.texi: Likewise.
48812         strings: Don't assume <strings.h> exists.
48813         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
48814         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
48815         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
48816         * doc/posix-headers/strings.texi: Mention the MSVC problem.
48818 2011-09-11  Bruno Haible  <bruno@clisp.org>
48820         dirent: Don't assume <dirent.h> exists.
48821         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
48822         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
48823         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
48824         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
48826 2011-09-11  Bruno Haible  <bruno@clisp.org>
48828         Fix wint_t on MSVC.
48829         * lib/wchar.in.h (wint_t): On MSVC, override it.
48830         * lib/wctype.in.h (wint_t): Likewise.
48831         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
48832         MSVC.
48833         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
48834         * doc/posix-headers/wctype.texi: Likewise.
48836 2011-09-11  Bruno Haible  <bruno@clisp.org>
48838         sys_types: Fix typo.
48839         * lib/sys_types.in.h: Fix typo in comment.
48840         Reported by Paul Eggert.
48842         Support for MSVC compiler: Ensure size_t gets defined.
48843         * modules/strings (Depends-on): Add 'sys_types'.
48844         * modules/sys_uio (Depends-on): Likewise.
48845         * lib/sys_uio.in.h: Update comment.
48847         C++ tests for module 'sys_types'.
48848         * modules/sys_types-c++-tests: New file.
48849         * tests/test-sys_types-c++.cc: New file.
48851         Tests for module 'sys_types'.
48852         * modules/sys_types-tests: New file.
48853         * tests/test-sys_types.c: New file.
48855         New module 'sys_types'.
48856         * lib/sys_types.in.h: New file.
48857         * m4/sys_types_h.m4: New file.
48858         * modules/sys_types: New file.
48859         * doc/posix-headers/sys_types.texi: Mention the new module and the
48860         size_t problem on MSVC 9.
48862 2011-09-11  Bruno Haible  <bruno@clisp.org>
48864         Support for MSVC compiler: Avoid division by a literal 0.
48865         * lib/math.in.h (NAN): Define through a function call also on MSVC.
48866         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
48867         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
48868         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
48869         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
48870         * tests/infinity.h: New file.
48871         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
48872         on MSVC.
48873         * tests/test-ceilf1.c: Include infinity.h.
48874         (main): Use Infinityf.
48875         * tests/test-ceil1.c: Include infinity.h.
48876         (main): Use Infinityd.
48877         * tests/test-ceill.c: Include infinity.h.
48878         (main): Use Infinityl.
48879         * tests/test-dprintf-posix.c: Include infinity.h.
48880         (test_function): Use Infinityd.
48881         * tests/test-floorf1.c: Include infinity.h.
48882         (main): Use Infinityf.
48883         * tests/test-floor1.c: Include infinity.h.
48884         (main): Use Infinityd.
48885         * tests/test-floorl.c: Include infinity.h.
48886         (main): Use Infinityl.
48887         * tests/test-fprintf-posix.c: Include infinity.h.
48888         (test_function): Use Infinityd.
48889         * tests/test-frexp.c: Include infinity.h.
48890         (main): Use Infinityd.
48891         * tests/test-frexpl.c: Include infinity.h.
48892         (main): Use Infinityl.
48893         * tests/test-isfinite.c: Include infinity.h.
48894         (test_isfinitef): Use Infinityf.
48895         (test_isfinited): Use Infinityd.
48896         (test_isfinitel): Use Infinityl.
48897         * tests/test-isinf.c: Include infinity.h.
48898         (test_isinff): Use Infinityf.
48899         (test_isinfd): Use Infinityd.
48900         (test_isinfl): Use Infinityl.
48901         * tests/test-isnan.c: Include infinity.h.
48902         (test_float): Use Infinityf.
48903         (test_double): Use Infinityd.
48904         (test_long_double): Use Infinityl.
48905         * tests/test-isnanf.h: Include infinity.h.
48906         (main): Use Infinityf.
48907         * tests/test-isnand.h: Include infinity.h.
48908         (main): Use Infinityd.
48909         * tests/test-isnanl.h: Include infinity.h.
48910         (main): Use Infinityl.
48911         * tests/test-ldexpl.c: Include infinity.h.
48912         (main): Use Infinityl.
48913         * tests/test-printf-posix.h: Include infinity.h.
48914         (test_function): Use Infinityd.
48915         * tests/test-roundf1.c: Include infinity.h.
48916         (main): Use Infinityf.
48917         * tests/test-round1.c: Include infinity.h.
48918         (main): Use Infinityd.
48919         * tests/test-roundl.c: Include infinity.h.
48920         (main): Use Infinityl.
48921         * tests/test-signbit.c: Include infinity.h.
48922         (test_signbitf): Use Infinityf.
48923         (test_signbitd): Use Infinityd.
48924         (test_signbitl): Use Infinityl.
48925         * tests/test-snprintf-posix.h: Include infinity.h.
48926         (test_function): Use Infinityd, Infinityl.
48927         * tests/test-sprintf-posix.h: Include infinity.h.
48928         (test_function): Use Infinityd, Infinityl.
48929         * tests/test-truncf1.c: Include infinity.h.
48930         (main): Use Infinityf.
48931         * tests/test-trunc1.c: Include infinity.h.
48932         (main): Use Infinityd.
48933         * tests/test-truncl.c: Include infinity.h.
48934         (main): Use Infinityl.
48935         * tests/test-vasnprintf-posix.c: Include infinity.h.
48936         (test_function): Use Infinityd, Infinityl.
48937         * tests/test-vasprintf-posix.c: Include infinity.h.
48938         (test_function): Use Infinityd, Infinityl.
48939         * modules/ceilf-tests (Files): Add tests/infinity.h.
48940         * modules/ceil-tests (Files): Likewise.
48941         * modules/ceill-tests (Files): Likewise.
48942         * modules/dprintf-posix-tests (Files): Likewise.
48943         * modules/floorf-tests (Files): Likewise.
48944         * modules/floor-tests (Files): Likewise.
48945         * modules/floorl-tests (Files): Likewise.
48946         * modules/fprintf-posix-tests (Files): Likewise.
48947         * modules/frexp-tests (Files): Likewise.
48948         * modules/frexp-nolibm-tests (Files): Likewise.
48949         * modules/frexpl-tests (Files): Likewise.
48950         * modules/frexpl-nolibm-tests (Files): Likewise.
48951         * modules/isfinite-tests (Files): Likewise.
48952         * modules/isinf-tests (Files): Likewise.
48953         * modules/isnan-tests (Files): Likewise.
48954         * modules/isnanf-tests (Files): Likewise.
48955         * modules/isnanf-nolibm-tests (Files): Likewise.
48956         * modules/isnand-tests (Files): Likewise.
48957         * modules/isnand-nolibm-tests (Files): Likewise.
48958         * modules/isnanl-tests (Files): Likewise.
48959         * modules/isnanl-nolibm-tests (Files): Likewise.
48960         * modules/ldexpl-tests (Files): Likewise.
48961         * modules/printf-posix-tests (Files): Likewise.
48962         * modules/roundf-tests (Files): Likewise.
48963         * modules/round-tests (Files): Likewise.
48964         * modules/roundl-tests (Files): Likewise.
48965         * modules/signbit-tests (Files): Likewise.
48966         * modules/snprintf-posix-tests (Files): Likewise.
48967         * modules/sprintf-posix-tests (Files): Likewise.
48968         * modules/truncf-tests (Files): Likewise.
48969         * modules/trunc-tests (Files): Likewise.
48970         * modules/truncl-tests (Files): Likewise.
48971         * modules/vasnprintf-posix-tests (Files): Likewise.
48972         * modules/vasprintf-posix-tests (Files): Likewise.
48973         * modules/vdprintf-posix-tests (Files): Likewise.
48974         * modules/vfprintf-posix-tests (Files): Likewise.
48975         * modules/vprintf-posix-tests (Files): Likewise.
48976         * modules/vsnprintf-posix-tests (Files): Likewise.
48977         * modules/vsprintf-posix-tests (Files): Likewise.
48978         * modules/xprintf-posix-tests (Files): Likewise.
48980 2011-09-11  Bruno Haible  <bruno@clisp.org>
48982         Ensure pid_t gets defined.
48983         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
48984         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
48985         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48986         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48987         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
48988         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
48989         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48990         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48991         * tests/test-fcntl-h.c: Check that pid_t is defined.
48992         * tests/test-sched.c: Likewise.
48993         * tests/test-termios.c: Likewise.
48994         * tests/test-time.c: Likewise.
48995         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
48996         * doc/posix-headers/signal.texi: Likewise.
48997         * doc/posix-headers/sys_types.texi: Likewise.
48998         * doc/posix-headers/time.texi: Likewise.
49000 2011-09-11  Bruno Haible  <bruno@clisp.org>
49002         acl: Fix compilation on Solaris 10 (older version).
49003         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
49004         of ACE_EVERYONE.
49005         * lib/set-mode-acl.c (qset_acl): Likewise.
49006         Reported by Christian Jullien <eligis@orange.fr>.
49008 2011-09-10  Bruno Haible  <bruno@clisp.org>
49010         iconv, unsetenv: Add support for MSVC compiler.
49011         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
49012         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
49014 2011-09-10  Bruno Haible  <bruno@clisp.org>
49016         *printf: Add support for MSVC compiler.
49017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
49018         handles the exception caused by the %n directive. When cross-compiling,
49019         guess no on native Windows.
49020         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49021         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
49022         emulate it through vsnprintf.
49023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
49024         * doc/posix-functions/dprintf.texi: Update documentation regarding
49025         MSVC 9.
49026         * doc/posix-functions/fprintf.texi: Likewise.
49027         * doc/posix-functions/printf.texi: Likewise.
49028         * doc/posix-functions/snprintf.texi: Likewise.
49029         * doc/posix-functions/sprintf.texi: Likewise.
49030         * doc/posix-functions/swprintf.texi: Likewise.
49031         * doc/posix-functions/vdprintf.texi: Likewise.
49032         * doc/posix-functions/vfprintf.texi: Likewise.
49033         * doc/posix-functions/vprintf.texi: Likewise.
49034         * doc/posix-functions/vsnprintf.texi: Likewise.
49035         * doc/posix-functions/vsprintf.texi: Likewise.
49036         * doc/glibc-functions/asprintf.texi: Likewise.
49037         * doc/glibc-functions/obstack_printf.texi: Likewise.
49038         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49039         * doc/glibc-functions/vasprintf.texi: Likewise.
49041 2011-09-10  Bruno Haible  <bruno@clisp.org>
49043         nocrash: Add support for native Windows.
49044         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
49046 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
49047             Bruno Haible  <bruno@clisp.org>
49049         absolute-header, include-next: Add support for MSVC compiler.
49050         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
49051         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
49052         directory separator in #line directives.
49053         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
49054         recognize also backslash as directory separator in #line directives.
49056 2011-09-08  Jim Meyering  <meyering@redhat.com>
49058         maint.mk: mark the post-release commit log with "maint: " prefix
49059         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
49060         one-line commit-log summary.
49062 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
49063             Bruno Haible  <bruno@clisp.org>
49065         Doc about crypt functions.
49066         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
49067         systems.
49068         * doc/posix-functions/encrypt.texi: Likewise.
49069         * doc/posix-functions/setkey.texi: Likewise.
49071 2011-09-08  Simon Josefsson  <simon@josefsson.org>
49073         * lib/gc.h: Fix copyright header.
49075 2011-09-07  Bruno Haible  <bruno@clisp.org>
49077         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
49078         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
49079         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
49081 2011-09-07  Bruno Haible  <bruno@clisp.org>
49083         openat: Work around compilation error with OSF/1 5.1 DTK cc.
49084         * lib/fopen.c: Use different syntax for include of <stdio.h>.
49085         * lib/freopen.c: Likewise.
49086         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
49087         * lib/lstat.c: Likewise.
49088         * lib/stat.c: Likewise.
49089         * lib/open.c: Use different syntax for include of <fcntl.h>.
49090         * lib/openat.c: Include fcntl.h again, explicitly.
49092 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
49094         parse-datetime: document the newly accepted format
49095         * doc/parse-datetime.texi (Combined date and time of day items):
49096         New section.
49098 2011-09-06  Bruno Haible  <bruno@clisp.org>
49100         acl: Fix a test failure on newer Solaris 10 with ZFS.
49101         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
49102         ENOSYS as no ACL.
49103         Reported by Jim Meyering.
49105 2011-09-06  Bruno Haible  <bruno@clisp.org>
49107         acl: Update for AIX >= 5.3 with NFS.
49108         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
49109         ENOSYS as no ACL.
49111         acl: Fix a test failure on AIX >= 5.3 with NFS.
49112         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
49113         as no ACL.
49115 2011-09-06  Bruno Haible  <bruno@clisp.org>
49117         acl: Fix a test failure on IRIX 6.5 with NFS.
49118         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
49119         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
49120         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
49121         * lib/copy-acl.c (qcopy_acl): Likewise.
49123 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
49125         openat: port to AIX 7.1 with large files
49126         AIX 7.1 does a "#define openat open64at" if large files are in use,
49127         so we can't simply #undef openat.  Use the orig_openat trick (similar
49128         to orig_open in lib/open.c) to work around the problem.  Problem
49129         reported by Kevin Brott for GNU tar, in the thread containing
49130         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
49131         * lib/openat.c (__need_system_fcntl_h): Define first.
49132         Include <fcntl.h> and <sys/types.h> before undefining.
49133         (orig_openat) [HAVE_OPENAT]: New inline function.
49134         (openat) [HAVE_OPENAT]: Do not undef.
49135         (rpl_openat): Use orig_openat, not openat.
49137 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
49138             Bruno Haible  <bruno@clisp.org>
49140         acl: Avoid errors on NonStop Kernel.
49141         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
49142         ENOTSUP errors.
49144 2011-09-05  Bruno Haible  <bruno@clisp.org>
49146         acl: Clean up Solaris code.
49147         * lib/acl-internal.h: Remove no-op #if.
49148         * lib/file-has-acl.c: Likewise.
49149         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
49150         * lib/copy-acl.c (qcopy_acl): Likewise.
49152 2011-09-05  Bruno Haible  <bruno@clisp.org>
49154         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
49155         binaries built on the original Solaris 10.
49156         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
49157         trivial.
49159 2011-09-05  Bruno Haible  <bruno@clisp.org>
49161         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49162         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
49163         10.
49164         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
49165         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
49166         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
49167         instead of acl_get, facl_get, acl_set, facl_set.
49169 2011-09-05  Bruno Haible  <bruno@clisp.org>
49171         copy-file: Try unit tests on more file systems.
49172         * tests/test-copy-file-1.sh: New file.
49173         * tests/test-copy-file-2.sh: New file.
49174         * modules/copy-file-tests (Files): Add them.
49175         (Makefile.am): Add them to TESTS.
49177         acl: Try unit tests on more file systems.
49178         * tests/test-file-has-acl-1.sh: New file.
49179         * tests/test-file-has-acl-2.sh: New file.
49180         * tests/test-set-mode-acl-1.sh: New file.
49181         * tests/test-set-mode-acl-2.sh: New file.
49182         * tests/test-copy-acl-1.sh: New file.
49183         * tests/test-copy-acl-2.sh: New file.
49184         * modules/acl-tests (Files): Add them.
49185         (Makefile.am): Add them to TESTS.
49187 2011-09-04  Bruno Haible  <bruno@clisp.org>
49189         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49190         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
49191         10.
49192         (OLD_ALLOW, OLD_DENY): New macros.
49193         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
49194         ACE_ACCESS_ALLOWED_ACE_TYPE.
49195         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
49196         ACE_ACCESS_DENIED_ACE_TYPE.
49197         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
49198         (NEW_ACE_EXECUTE): Fix value.
49199         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
49200         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
49201         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
49202         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
49203         NEW_ACE_SYNCHRONIZE): New macros.
49204         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
49205         instead of acl_fromtext, acl_set, facl_set.
49206         Fixes a coreutils/tests/cp/perm failure.
49208 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
49210         openat: test for fstatat (..., 0) bug
49211         Further testing with tar suggests that fstatat (..., 0)
49212         does not work in general, on AIX 7.1; see
49213         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
49214         So, give up entirely on AIX 7.1's fstatat, and fall back on our
49215         replacement fstatat (which is what older AIX releases were using
49216         anyway).
49217         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
49218         use is now changed to orig_fstatat.  This was probably the right
49219         thing to do anyway.
49220         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
49221         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
49222         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
49223         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
49224         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
49225         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
49226         if the bug is found.
49228         openat: test for fstatat (AT_FDCWD, ..., 0) bug
49229         This tests for another fstatat bug on AIX 7.1:
49230         fstatat (AT_FDCWD, ..., 0) does not work.  See
49231         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
49232         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
49233         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
49234         (rpl_fstatat): Adjust so that it works around either (or both)
49235         bugs if present.
49236         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
49238 2011-09-03  Karl Berry  <karl@gnu.org>
49240         * doc/regex.texi (Character Class Operators): Avoid literal ":"
49241         in index entries.
49243 2011-09-02  Bruno Haible  <bruno@clisp.org>
49245         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
49246         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
49247         values of AR, ARFLAGS, RANLIB.
49248         Reported by John W. Eaton <jwe@gnu.org> for Octave.
49250 2011-09-02  Bruno Haible  <bruno@clisp.org>
49252         Find 'ar' program that fits with --host argument.
49253         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
49255 2011-09-02  Bruno Haible  <bruno@clisp.org>
49257         tests: init.sh: Support any non-GNU diff.
49258         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
49259         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
49260         Solaris 8.
49262 2011-09-02  Bruno Haible  <bruno@clisp.org>
49264         tests: init.sh: work also with any non-GNU diff that supports -u
49265         * tests/init.sh: Relax check for diff -u support.
49266         Rather than checking for GNU diff via --version, simply check
49267         for support for -u itself.  Useful at least on OpenBSD 4.9,
49268         AIX 7.1, IRIX 6.5, and Solaris 10.
49270 2011-09-01  Bruno Haible  <bruno@clisp.org>
49272         strtoimax, strtoumax: Document problem on HP-UX 11.
49273         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
49274         * doc/posix-functions/strtoumax.texi: Likewise.
49276 2011-09-01  Bruno Haible  <bruno@clisp.org>
49278         strtoumax: Avoid link error on OSF/1 with DTK cc.
49279         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
49280         defined as a function.
49281         * modules/strtoumax (Depends-on, configure.ac): Test only whether
49282         strtoumax is defined, not whether it is declared.
49284 2011-09-01  Bruno Haible  <bruno@clisp.org>
49286         strtoimax: Avoid link error on OSF/1 with DTK cc.
49287         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
49288         defined as a function.
49289         * modules/strtoimax (Depends-on, configure.ac): Test only whether
49290         strtoimax is defined, not whether it is declared.
49292 2011-09-01  Bruno Haible  <bruno@clisp.org>
49294         imaxdiv: Avoid link error on OSF/1 with DTK cc.
49295         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
49296         as a function.
49297         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
49298         whether it is declared.
49300 2011-09-01  Bruno Haible  <bruno@clisp.org>
49302         imaxabs: Avoid link error on OSF/1 with DTK cc.
49303         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
49304         as a function.
49305         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
49306         whether it is declared.
49308 2011-09-01  Bruno Haible  <bruno@clisp.org>
49310         Tests for module 'strtoumax'.
49311         * modules/strtoumax-tests: New file.
49312         * tests/test-strtoumax.c: New file.
49314         Tests for module 'strtoimax'.
49315         * modules/strtoimax-tests: New file.
49316         * tests/test-strtoimax.c: New file.
49318         Tests for module 'imaxdiv'.
49319         * modules/imaxdiv-tests: New file.
49320         * tests/test-imaxdiv.c: New file.
49322         Tests for module 'imaxabs'.
49323         * modules/imaxabs-tests: New file.
49324         * tests/test-imaxabs.c: New file.
49326 2011-09-01  Bruno Haible  <bruno@clisp.org>
49328         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
49329         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
49330         pthread_create.
49332 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49334         openat: work around AIX 7.1 fstatat issue
49335         This should fix the problem that was not properly fixed
49336         in the previous change, dated 2011-08-30.
49337         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
49338         __need_system_stat_h defined.
49339         (orig_fstatat) [HAVE_FSTATAT]: New function.
49340         (rpl_fstatat): Go back to the old way of doing things,
49341         except call orig_fstatat instead of fstatat.
49342         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
49343         Remove unnecessary check whether fstatat fills in st_size etc.
49345 2011-09-01  Bruno Haible  <bruno@clisp.org>
49347         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
49348         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
49349         just include the system's header.
49351 2011-08-31  Jim Meyering  <meyering@redhat.com>
49353         tests: avoid spurious assertion failure in test-float.c on ppc64
49354         * tests/test-float.c (test_long_double): Comment out an assertion,
49355         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
49356         with gcc-4.4.4.
49358         maint: indent with spaces, not TABs
49359         I need to get in the habit of running gnulib's "make check".
49360         Both of these would have been caught.
49361         * m4/largefile.m4: Indent with spaces, not TABs.
49362         * lib/parse-datetime.y (iso_8601_time): Likewise.
49363         Spotted by Pádraig Brady.
49365         test-parse-datetime.c: accommodate a relatively strict gcc warning
49366         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
49367         to avoid a warning from gcc's -Werror=missing-declarations.
49368         Insert a few spaces-before-funcall-parenthesis.
49370 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
49372         parse-datetime: accept ISO 8601 date and time rep with "T" separator
49373         The parser now accepts ISO 8601 date-time strings with "T" as the
49374         separator.  It has long parsed dates like "2004-02-29 16:21:42"
49375         with a space between the date and time strings.  Now it also parses
49376         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
49377         variants like "2004-02-29T16:21:42.333-07:00"
49378         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
49379         of day representation using the 'T' separator character.
49380         * doc/parse-datetime.texi (General date syntax): replace use of
49381         deprecated --iso-8601 option with --rfc-3339 in example of date
49382         command output formats that can be parsed.
49383         * tests/test-parse-datetime.c (tm_diff): New function, taken from
49384         lib/parse-datetime.y.
49385         (gmt_offset): New function.
49386         (main): Add additional test cases to validate ISO8601 extended
49387         date and time of day parsing.
49389 2011-08-31  Bruno Haible  <bruno@clisp.org>
49391         freopen: Documentation.
49392         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
49393         name.
49394         Reported by Claudio Bley <claudio.bley@gmail.com>.
49396 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
49398         freopen: Don't crash if the filename argument is NULL.
49399         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
49400         NULL.
49402 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49404         openat: work around AIX 7.1 fstatat bug
49405         Problem reported by Kevin Brott for GNU tar, in the thread containing
49406         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
49407         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
49408         FSTATAT_ST_SIZE_ETC_BROKEN.
49409         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
49410         rpl_fstatat.
49411         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
49412         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
49413         AC_CHECK_FUNCS_ONCE for fstatat.
49414         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
49415         fchmodat, mkdirat, openat and unlinkat.
49417 2011-08-30  Bruno Haible  <bruno@clisp.org>
49419         Avoid endless recursions if config.h includes some header files.
49420         * lib/fopen.c (__need_FILE): Define already before including config.h.
49421         * lib/freopen.c (__need_FILE): Likewise.
49422         * lib/open.c (__need_system_fcntl_h): Likewise.
49423         * lib/stat.c (__need_system_sys_stat_h): Likewise.
49424         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
49425         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
49427 2011-08-25  Karl Berry  <karl@gnu.org>
49429         * config/srclist.txt (ylwrap): new try.
49430         * build-aux/ylwrap: new file.
49432 2011-08-23  Bruno Haible  <bruno@clisp.org>
49434         tmpdir: Use a good default directory on native Windows.
49435         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
49436         (P_tmpdir): Default to _P_tmpdir on native Windows.
49437         (path_search): On native Windows, try the value returned by GetTempPath
49438         before trying P_tmpdir.
49439         * modules/tmpdir (Depends-on): Add pathmax.
49440         Suggested by John Darrington <john@darrington.wattle.id.au>.
49442 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
49444         doc: fix typo in README-release
49445         * top/README-release: Capitalize first word of a sentence.
49447 2011-08-19  Jim Meyering  <meyering@redhat.com>
49449         fts: do not exhaust memory when processing million-entry directories
49450         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
49451         directory would require about 256*N bytes of memory.  Thus, it was
49452         easy to construct a directory too large to be processed by any of
49453         those tools.  With this change, fts' maximum memory utilization is
49454         now limited to around 30MB.
49455         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
49456         (fts_read): When we've processed the final entry (i.e., when
49457         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
49458         using the parent entry to read any remaining entries.  Dispatch
49459         depending on what fts_build returns:
49460         - NULL+stop, aka failure: stop
49461         - NULL otherwise: move up in the dir hierarchy
49462         - non-NULL: handle this new entry
49463         (fts_build): Declare and use new local, continue_readdir.
49464         Prepare to be called from fts_read, when the entries
49465         from a partially-read directory have just been exhausted.
49466         In that case, we'll skip the opendir and instead use the parent's
49467         fts_dirp and derive dir_fd from that.
49468         Finally, in the readdir loop, if we read max_entries entries,
49469         exit the loop ensuring *not* to call closedir.  This is required
49470         so that fts_dirp can be reused on a subsequent call.
49471         Prompted by Ben England's report of memory exhaustion in find
49472         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
49474         maint: fts: move decl of `dp' down into while loop; split a long line
49475         * lib/fts.c (fts_build): No semantic change.
49477         fts: add/use new struct member, fts_dirp
49478         We are about to use this to manage any directory with
49479         too many entries to read all of them into memory at once.
49480         To do that, we'll need to save the DIR* pointer in each
49481         affected FTSENT struct.
49482         * lib/fts_.h: Include <dirent.h>.
49483         (struct FTSENT) [fts_dirp]: New member.
49484         * lib/fts.c (closedir_and_clear): Define.
49485         Use it in place of closedir so that we are sure to
49486         clear the new fts_dirp member when done with it.
49487         (fts_alloc): Initialize the new member.
49488         (fts_lfree): Free, if needed.
49490         maint: fts: give __opendir2 a new parameter and rename
49491         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
49492         than surreptitiously using sole caller's "dir_fd".
49493         (fts_opendir): Rename from __opendir2.
49495         maint: fts.c: remove __opendir2's now-unused parameter, oflag
49496         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
49498         maint: fts.c: correct off-by-one indentation
49499         * lib/fts.c (fts_build): Correct indentation, change style
49500         of a couple of block comments, and bracing style.
49502         maint: fts.c: move __opendir2 #define "up" out of function body
49503         * lib/fts.c (__opendir2): Move "up".  No semantic change.
49505         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
49506         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
49507         out for a long time and besides was useful only on BSD systems.
49509 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49511         regex: port to Stratus OpenVOS
49512         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
49513         define to empty, rather than attempting nonportable optimizations.
49514         Problem reported by Paul Green in:
49515         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
49516         and fix suggested by Eric Blake in:
49517         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
49519 2011-08-17  Eric Blake  <eblake@redhat.com>
49521         getcwd: fix test failures on mingw
49522         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
49523         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
49524         test if long directory cannot be created, and allow mingw errno.
49526         getcwd-lgpl: fix m4 to match relaxed test for BSD
49527         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
49528         (gl_FUNC_GETCWD_SIGNATURE): New macro.
49529         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
49530         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
49531         signature problem.
49533         getcwd: fix compilation on mingw64
49534         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
49535         getcwd.
49536         Reported by Marc-André Lureau.
49538         pipe2: silence compiler warning
49539         * lib/pipe2.c (pipe2): Hide label if it is not used.
49541 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
49543         relocatable-prog: fix link error
49544         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
49545         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
49546         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
49547         into modules/relocatable-lib without noticing that
49548         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
49549         also needs to build relocatable.c.
49551 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49553         getaddrinfo: fix sh typo in gai_strerrorA decl checking
49554         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
49555         shell code: it contained a 'break' that was not in a loop.
49556         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
49557         via a shell-language loop; this may have been true in old Autoconf
49558         versions, but it's not true in Autoconf 2.68.  I found this bug
49559         when testing coreutils git on Solaris 8, whose shell complains
49560         about the syntax error.
49562 2011-08-12  Simon Josefsson  <simon@josefsson.org>
49564         * lib/base64.c: Fix comment to reference RFC 4648.
49565         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
49566         <gvtulder@gmail.com>.
49568 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49570         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
49572         po/Makefile.in.in: fix make -q problem
49573         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
49574         rule, since there's no file named 'check-macro-version' and its
49575         use as a file breaks make -q.
49576         (all): Don't depend on check-macro-version.
49577         (CHECK_MACRO_VERSION): New macro.
49578         (stamp-po): Use it.
49580         configmake: fix make -q problem
49581         * modules/configmake (configmake.h): Update configmake.h's time stamp
49582         even if the file does not change.  Otherwise, 'make -q' fails.
49583         Problem reported by Simon Josefsson in
49584         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
49586 2011-08-11  Jim Meyering  <meyering@redhat.com>
49588         git-version-gen: correct the advice in a comment
49589         * build-aux/git-version-gen: Correct comment.
49590         Don't recommend to list .tarball-version in .gitignore.
49592 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49594         base64: fix off-by-one buffer size bug
49595         Problem and (trivial) fix reported by Gijs van Tulder in
49596         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
49597         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
49598         * tests/test-base64.c (main): Catch the bug.
49600 2011-08-10  Eric Blake  <eblake@redhat.com>
49602         closein: correct comments
49603         * lib/closein.c (close_stdin): Improve comments.
49605 2011-08-09  Bruno Haible  <bruno@clisp.org>
49607         More tests for 'fseeko'.
49608         * tests/test-fseeko3.c: New file, from Eric Blake.
49609         * tests/test-fseeko3.sh: New file.
49610         * modules/fseeko-tests (Files): Add them.
49611         (TESTS): Add test-fseeko3.sh.
49612         (check_PROGRAMS): Add test-fseeko3.
49614 2011-08-09  Eric Blake  <eblake@redhat.com>
49616         fseeko: remove unneeded hack
49617         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
49619         fseeko: fix bug on glibc
49620         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
49621         Reported by John W. Eaton.
49623 2011-08-08  Bruno Haible  <bruno@clisp.org>
49625         unictype/base: Fix interoperability with preinstalled libunistring.
49626         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
49627         Reported by Simon Josefsson.
49629 2011-08-08  Bruno Haible  <bruno@clisp.org>
49631         iswblank: Detect declaration correctly.
49632         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
49633         AC_CHECK_DECLS invocation.
49635 2011-08-08  Bruno Haible  <bruno@clisp.org>
49637         tcgetsid: Detect declaration correctly.
49638         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
49639         AC_CHECK_DECLS invocation.
49640         Reported by Simon Josefsson.
49642 2011-08-08  Eric Blake  <eblake@redhat.com>
49644         largefile: fix typo that regressed large file support
49645         * modules/largefile (configure.ac-early): Fix section name.
49647 2011-08-06  Karl Berry  <karl@gnu.org>
49649         * MODULES.html.sh (func_all_files): _Noreturn is no longer
49650         a separate module.
49652 2011-08-05  Simon Josefsson  <simon@josefsson.org>
49654         openat: Fix warnings and commens when building unlinkat.c on Hurd.
49655         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
49656         get prototype for free.
49658 2011-08-04  Bruno Haible  <bruno@clisp.org>
49660         Tests for module 'pathmax'.
49661         * modules/pathmax-tests: New file.
49662         * tests/test-pathmax.c: New file.
49664         canonicalize-lgpl: Support larger filenames on the Hurd.
49665         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
49666         Reported by Paul Eggert.
49668         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
49669         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
49670         * lib/chdir-long.h: Include pathmax.h.
49671         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
49672         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
49673         (PATH_MAX): Remove code that is done by pathmax.h.
49674         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
49675         * lib/tmpfile.c: Add a comment.
49676         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
49677         * modules/chdir-long (Depends-on): Add pathmax.
49678         * modules/getcwd (Depends-on): Add pathmax.
49679         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
49680         is not defined.
49681         * doc/posix-headers/limits.texi: Mention the pathmax module.
49682         * NEWS: Mention the change.
49684 2011-08-02  Bruno Haible  <bruno@clisp.org>
49686         pthread_sigmask: Actually use results of gl_THREADLIB.
49687         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
49688         gl_THREADLIB, not gl_[]THREADLIB.
49689         Reported by Eric Blake.
49691 2011-08-02  Jim Meyering  <meyering@redhat.com>
49693         maint.mk: relax the default _gl_TS_function_match regexp
49694         * top/maint.mk (_gl_TS_function_match): Don't require at least one
49695         space between function name and "(" in an "extern" declaration.
49696         That would fail to match a decl with no space there: extern void foo();
49698 2011-07-31  Iain Nicol  <iain@thenicols.net>
49700         git-version-gen: document that EXTRA_DIST must include .version
49701         * build-aux/git-version-gen: In the how-to-use comment, document
49702         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
49703         will fail when run from an unpacked distribution tarball.
49705 2011-08-01  Bruno Haible  <bruno@clisp.org>
49707         wctype-h: Fix last change.
49708         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
49709         REPLACE_TOWLOWER to 0.
49710         Reported by Sam Steingold <sds@gnu.org>.
49712 2011-07-31  Bruno Haible  <bruno@clisp.org>
49714         frexpl: Update autoconf test.
49715         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
49716         according to changes of 2011-06-20.
49718 2011-07-31  Bruno Haible  <bruno@clisp.org>
49720         sys_utsname: Add support for Minix.
49721         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
49722         <sys/utsname.h>.
49723         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
49724         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
49726 2011-07-31  Bruno Haible  <bruno@clisp.org>
49728         strings: Add support for Minix.
49729         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
49730         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
49731         * doc/posix-headers/strings.texi: Document the Minix problem.
49733 2011-07-31  Bruno Haible  <bruno@clisp.org>
49735         wctype-h: Add support for Minix.
49736         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
49737         REPLACE_TOWLOWER.
49738         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
49739         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
49740         REPLACE_ISWCNTRL.
49742 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
49744         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
49745         This is a performance improvement for 64-bit hosts: it causes the
49746         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
49748 2011-07-31  Bruno Haible  <bruno@clisp.org>
49750         stdioext: Add support for Minix.
49751         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
49752         * lib/fpurge.c (fpurge): Likewise.
49753         * lib/freadahead.c (freadahead): Likewise.
49754         * lib/freadable.c (freadable): Likewise.
49755         * lib/freading.c (freading): Likewise.
49756         * lib/freadptr.c (freadptr): Likewise.
49757         * lib/freadseek.c (freadptrinc): Likewise.
49758         * lib/fseeko.c (rpl_fseeko): Likewise.
49759         * lib/fseterr.c (fseterr): Likewise.
49760         * lib/fwritable.c (fwritable): Likewise.
49761         * lib/fwriting.c (fwriting): Likewise.
49762         * lib/fflush.c (clear_ungetc_buffer): Update comment.
49763         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
49765 2011-07-31  Bruno Haible  <bruno@clisp.org>
49767         errno: Port to Minix.
49768         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
49769         ECONNABORTED are defined.
49770         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
49771         GNULIB_defined_ECONNABORTED): New macros.
49772         * lib/strerror-override.h (strerror_override): Test also
49773         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
49774         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
49775         ECONNABORTED.
49776         * doc/posix-headers/errno.texi: Mention the Minix problem.
49778 2011-07-31  Bruno Haible  <bruno@clisp.org>
49780         Work around declaration collisions on Minix.
49781         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
49782         defined, set REPLACE_MBSINIT.
49783         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
49784         defined, set REPLACE_MBRTOWC.
49785         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
49786         set REPLACE_MBRLEN.
49787         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
49788         defined, set REPLACE_MBSRTOWCS.
49789         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
49790         defined, set REPLACE_WCRTOMB.
49791         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
49792         defined, set REPLACE_WCSRTOMBS.
49794 2011-07-31  Bruno Haible  <bruno@clisp.org>
49796         Add support for Minix with ACK compiler.
49797         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
49798         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
49799         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
49801 2011-07-31  Bruno Haible  <bruno@clisp.org>
49803         Documentation about Minix.
49804         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
49805         * doc/glibc-headers/*.texi: Likewise.
49806         * doc/posix-functions/*.texi: Likewise.
49807         * doc/glibc-functions/*.texi: Likewise.
49809 2011-07-31  Bruno Haible  <bruno@clisp.org>
49811         snippet/warn-on-use: Fix indentation.
49812         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
49814 2011-07-25  Jim Meyering  <meyering@redhat.com>
49816         tests: test-update-copyright.sh: remove unnecessary "rm" commands
49817         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
49818         commands.
49820 2011-07-27  Jim Meyering  <meyering@redhat.com>
49822         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
49823         * top/maint.mk (gl_extract_significant_defines_): Now that
49824         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
49825         gnulib/lib/signal.in.h, and now that we recommend to
49826         define-if-undefined those two symbols in application code,
49827         we must filter them out of the "significant" list.
49828         This avoids a "make syntax-check" failure in coreutils.
49830 2011-07-26  Eric Blake  <eblake@redhat.com>
49832         warnings: add comments about previous patch
49833         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
49834         * m4/include_next.m4: Likewise.
49835         * m4/warn-on-use.m4: Likewise.
49836         * m4/warnings.m4: Likewise, and simplify use.
49837         Suggested by Stefano Lattarini.
49839         include-next, warnings: support older autoconf
49840         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
49841         AS_VAR_PUSHDEF in a way that works with older autoconf.
49842         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
49843         Reported by Daniel P. Berrange.
49845 2011-07-25  Bruno Haible  <bruno@clisp.org>
49847         fseek, ftell: Fix doc.
49848         * doc/posix-functions/fseek.texi: Reword statement about
49849         AC_SYS_LARGEFILE.
49850         * doc/posix-functions/ftell.texi: Likewise.
49852 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49853             Bruno Haible  <bruno@clisp.org>
49855         Add dependencies to the 'largefile' module.
49856         * modules/fopen (Depends-on): Add 'largefile'.
49857         * modules/freopen (Depends-on): Likewise.
49858         * modules/fseeko (Depends-on): Likewise.
49859         * modules/ftello (Depends-on): Likewise.
49860         * modules/glob (Depends-on): Likewise.
49861         * modules/lseek (Depends-on): Likewise.
49862         * modules/lstat (Depends-on): Likewise.
49863         * modules/mkostemp (Depends-on): Likewise.
49864         * modules/mkostemps (Depends-on): Likewise.
49865         * modules/mkstemp (Depends-on): Likewise.
49866         * modules/mkstemps (Depends-on): Likewise.
49867         * modules/open (Depends-on): Likewise.
49868         * modules/openat (Depends-on): Likewise.
49869         * modules/pread (Depends-on): Likewise.
49870         * modules/pwrite (Depends-on): Likewise.
49871         * modules/scandir (Depends-on): Likewise.
49872         * modules/stat (Depends-on): Likewise.
49873         * modules/tmpfile (Depends-on): Likewise.
49874         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
49875         since the containing module now depends on the largefile module.
49876         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
49877         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
49878         off_t is fixed by gnulib.
49879         * doc/posix-functions/freopen.texi: Likewise.
49880         * doc/posix-functions/fseeko.texi: Likewise.
49881         * doc/posix-functions/fstatat.texi: Likewise.
49882         * doc/posix-functions/ftello.texi: Likewise.
49883         * doc/posix-functions/glob.texi: Likewise.
49884         * doc/posix-functions/lseek.texi: Likewise.
49885         * doc/posix-functions/lstat.texi: Likewise.
49886         * doc/posix-functions/mkstemp.texi: Likewise.
49887         * doc/posix-functions/open.texi: Likewise.
49888         * doc/posix-functions/openat.texi: Likewise.
49889         * doc/posix-functions/pread.texi: Likewise.
49890         * doc/posix-functions/pwrite.texi: Likewise.
49891         * doc/posix-functions/scandir.texi: Likewise.
49892         * doc/posix-functions/stat.texi: Likewise.
49893         * doc/posix-functions/tmpfile.texi: Likewise.
49894         * doc/glibc-functions/mkostemp.texi: Likewise.
49895         * doc/glibc-functions/mkostemps.texi: Likewise.
49896         * doc/glibc-functions/mkstemps.texi: Likewise.
49898 2011-07-25  Bruno Haible  <bruno@clisp.org>
49900         fcntl: Move AC_LIBOBJ invocation to module description.
49901         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
49902         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
49904         fcntl: Remove call-in from fchdir.m4.
49905         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
49906         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
49908         dup3: Remove potential call-in from fchdir.m4.
49909         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
49910         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
49912         dup2: Move AC_LIBOBJ invocation to module description.
49913         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
49914         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
49915         Don't invoke AC_LIBOBJ.
49916         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
49918         dup2: Remove call-in from fchdir.m4.
49919         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
49920         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
49922         fclose: Move AC_LIBOBJ invocation to module description.
49923         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
49924         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
49925         to 1.
49926         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
49928         fclose: Remove call-in from close.m4.
49929         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
49930         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
49932         close: Move AC_LIBOBJ invocation to module description.
49933         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
49934         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
49935         1.
49936         * modules/close (configure.ac): Invoke AC_LIBOBJ.
49938         close: Remove call-in from fchdir.m4.
49939         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
49940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
49942         open: Move AC_LIBOBJ invocation to module description.
49943         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
49944         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
49945         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
49947         open: Remove call-in from fchdir.m4.
49948         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
49949         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
49951         fchdir: Start to remove gl_REPLACE_* idiom.
49952         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
49953         (gl_FUNC_FCHDIR): Invoke it.
49955 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49957         * lib/ftell.c (ftell): Comment out cast.
49959         close: use gl_REPLACE_FCLOSE only if defined
49960         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
49961         is defined.  The close module doesn't depend on the fclose module
49962         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
49963         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
49964         I reproduced the problem with "./gnulib-tool --test close sys_socket".
49966 2011-07-24  Jim Meyering  <meyering@redhat.com>
49968         test-select.h: avoid warning when using gcc's -Wmissing-declarations
49969         * tests/test-select.h (test_function): Declare as "static".
49971 2011-07-24  Bruno Haible  <bruno@clisp.org>
49973         doc: Mention the effects of AC_SYS_LARGEFILE.
49974         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
49975         on this function.
49976         * doc/posix-functions/aio_error.texi: Likewise.
49977         * doc/posix-functions/aio_fsync.texi: Likewise.
49978         * doc/posix-functions/aio_read.texi: Likewise.
49979         * doc/posix-functions/aio_return.texi: Likewise.
49980         * doc/posix-functions/aio_suspend.texi: Likewise.
49981         * doc/posix-functions/aio_write.texi: Likewise.
49982         * doc/posix-functions/fgetpos.texi: Likewise.
49983         * doc/posix-functions/fopen.texi: Likewise.
49984         * doc/posix-functions/freopen.texi: Likewise.
49985         * doc/posix-functions/fsetpos.texi: Likewise.
49986         * doc/posix-functions/fstatvfs.texi: Likewise.
49987         * doc/posix-functions/ftruncate.texi: Likewise.
49988         * doc/posix-functions/ftw.texi: Likewise.
49989         * doc/posix-functions/getrlimit.texi: Likewise.
49990         * doc/posix-functions/glob.texi: Likewise.
49991         * doc/posix-functions/lio_listio.texi: Likewise.
49992         * doc/posix-functions/lockf.texi: Likewise.
49993         * doc/posix-functions/mkstemp.texi: Likewise.
49994         * doc/posix-functions/mmap.texi: Likewise.
49995         * doc/posix-functions/nftw.texi: Likewise.
49996         * doc/posix-functions/openat.texi: Likewise.
49997         * doc/posix-functions/opendir.texi: Likewise.
49998         * doc/posix-functions/posix_fadvise.texi: Likewise.
49999         * doc/posix-functions/posix_fallocate.texi: Likewise.
50000         * doc/posix-functions/pread.texi: Likewise.
50001         * doc/posix-functions/pwrite.texi: Likewise.
50002         * doc/posix-functions/readdir.texi: Likewise.
50003         * doc/posix-functions/readdir_r.texi: Likewise.
50004         * doc/posix-functions/rewinddir.texi: Likewise.
50005         * doc/posix-functions/scandir.texi: Likewise.
50006         * doc/posix-functions/seekdir.texi: Likewise.
50007         * doc/posix-functions/setrlimit.texi: Likewise.
50008         * doc/posix-functions/statvfs.texi: Likewise.
50009         * doc/posix-functions/telldir.texi: Likewise.
50010         * doc/posix-functions/tmpfile.texi: Likewise.
50011         * doc/posix-functions/truncate.texi: Likewise.
50012         * doc/glibc-functions/fallocate.texi: Likewise.
50013         * doc/glibc-functions/fstatfs.texi: Likewise.
50014         * doc/glibc-functions/fts_children.texi: Likewise.
50015         * doc/glibc-functions/fts_read.texi: Likewise.
50016         * doc/glibc-functions/getdirentries.texi: Likewise.
50017         * doc/glibc-functions/mkostemp.texi: Likewise.
50018         * doc/glibc-functions/mkostemps.texi: Likewise.
50019         * doc/glibc-functions/mkstemps.texi: Likewise.
50020         * doc/glibc-functions/preadv.texi: Likewise.
50021         * doc/glibc-functions/pwritev.texi: Likewise.
50022         * doc/glibc-functions/sendfile.texi: Likewise.
50023         * doc/glibc-functions/statfs.texi: Likewise.
50025 2011-07-24  Bruno Haible  <bruno@clisp.org>
50027         doc: Fix typo.
50028         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
50030 2011-07-24  Bruno Haible  <bruno@clisp.org>
50032         doc: Mention fsusage.
50033         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
50035 2011-07-24  Bruno Haible  <bruno@clisp.org>
50037         doc: Mention new glibc headers and functions.
50038         * doc/glibc-headers/gshadow.texi: New file.
50039         * doc/glibc-functions/endsgent.texi: New file.
50040         * doc/glibc-functions/fgetsgent.texi: New file.
50041         * doc/glibc-functions/fgetsgent_r.texi: New file.
50042         * doc/glibc-functions/getsgent.texi: New file.
50043         * doc/glibc-functions/getsgent_r.texi: New file.
50044         * doc/glibc-functions/getsgnam.texi: New file.
50045         * doc/glibc-functions/getsgnam_r.texi: New file.
50046         * doc/glibc-functions/putsgent.texi: New file.
50047         * doc/glibc-functions/setsgent.texi: New file.
50048         * doc/glibc-functions/sgetsgent.texi: New file.
50049         * doc/glibc-functions/sgetsgent_r.texi: New file.
50050         * doc/glibc-functions/malloc_info.texi: New file.
50051         * doc/glibc-functions/preadv.texi: New file.
50052         * doc/glibc-functions/pwritev.texi: New file.
50053         * doc/glibc-functions/register_printf_modifier.texi: New file.
50054         * doc/glibc-functions/register_printf_specifier.texi: New file.
50055         * doc/glibc-functions/register_printf_type.texi: New file.
50056         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
50057         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
50058         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
50059         * doc/glibc-functions/pthread_getname_np.texi: New file.
50060         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
50061         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
50062         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
50063         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
50064         * doc/glibc-functions/pthread_setname_np.texi: New file.
50065         * doc/glibc-functions/pthread_sigqueue.texi: New file.
50066         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
50067         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
50068         * doc/glibc-functions/qsort_r.texi: New file.
50069         * doc/glibc-functions/quick_exit.texi: New file.
50070         * doc/glibc-functions/syncfs.texi: New file.
50071         * doc/gnulib.texi: Include them.
50072         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
50073         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
50074         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
50075         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
50076         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
50077         * doc/glibc-functions/execvpe.texi: Likewise.
50079 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50081         ftell: don't include <unistd.h>
50082         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
50083         guaranteed to define off_t, and the ftell module depends on the
50084         stdio module.
50086         ftell: do not assume wraparound signed arithmetic
50087         * lib/ftell.c: Include <limits.h>.
50088         (ftell): Don't assume wraparound signed arithmetic.
50090 2011-07-24  Bruno Haible  <bruno@clisp.org>
50092         close: No longer depend on module 'fclose'.
50093         * modules/close (Depends-on): Remove fclose.
50094         * NEWS: Mention the change.
50095         Suggested by Sam Steingold <sds@gnu.org>.
50097 2011-07-24  Bruno Haible  <bruno@clisp.org>
50099         fsusage: Enable large volume support on AIX >= 5.2.
50100         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
50101         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
50102         instead of STAT_STATVFS.
50103         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
50105         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
50106         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
50107         f_blocks field only on MacOS X.
50109         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
50110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
50111         * modules/fsusage (Depends-on): Add largefile.
50113 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50115         * README: Modernize discussion of signed integers.
50116         Assuming overflow wraparound is no longer safe.
50117         Mention ones' complement and signed magnitude.
50119 2011-07-22  Bruno Haible  <bruno@clisp.org>
50121         select tests, pselect tests: Refactor.
50122         * tests/test-select.h: New file, extracted from tests/test-select.c.
50123         (select_fn): New type.
50124         (test, do_select, do_select_nowait, do_select_wait, test_tty,
50125         test_connect_first, test_accept_first, test_pair, test_socket_pair,
50126         test_pipe): Add my_select argument.
50127         (test_function): Renamed from main. Add my_select argument.
50128         * tests/test-select.c: Move most code to tests/test-select.h. Include
50129         test-select.h.
50130         * modules/select-tests (Files): Add tests/test-select.h.
50131         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
50132         (my_select, main): New functions.
50133         * modules/pselect-tests (Files): Add tests/test-select.h,
50134         tests/macros.h, tests/signature.h.
50135         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
50136         (configure.ac): Check for <sys/wait.h>.
50138 2011-07-22  Bruno Haible  <bruno@clisp.org>
50140         sys_select tests: Check the signature of FD_*.
50141         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
50142         signature tests from here...
50143         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
50144         here.
50145         * modules/sys_select-tests (Files): Add tests/signature.h.
50147 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50149         largefile: new module, replacing large-inode
50150         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
50151         * MODULES.html.sh: Add largefile, remove large-inode.
50152         * modules/largefile, m4/largefile.m4: New files.
50153         * modules/large-inode, m4/large-inode.m4: Remove.
50155         fsusage: port to MacOS X 10.7 with 4 TiB file systems
50156         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
50157         implementations that use only 32 bits to count blocks.
50158         On typical hosts with 1024-byte blocks, this fails with file
50159         systems as small as 4 TiB.  Problem reported by Herb Wartens
50160         <http://debbugs.gnu.org/9140> and this should also fix a similar
50161         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
50163         large-inode: New module
50164         * MODULES.html.sh: Add it.
50165         * modules/large-inode, m4/large-inode.m4: New files.
50167         extensions: Enable extensions on MacOS X 10.5 and later.
50168         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
50170 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
50172         file-has-acl: use acl_extended_file_nofollow if available
50173         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
50174         (acl_extended_file): New macro.
50175         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
50176         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
50178 2011-07-21  Bruno Haible  <bruno@clisp.org>
50180         Declare system functions in a way that works with C++.
50181         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
50182         declare fdopendir as extern "C".
50183         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
50184         declare frexpl as extern "C".
50185         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
50186         declare gai_strerror as extern "C".
50187         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
50188         programs, declare gai_strerror as extern "C".
50189         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
50190         declare getlogin_r as extern "C".
50191         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
50192         as extern "C".
50193         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
50194         declare ldexpl as extern "C".
50195         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
50196         as extern "C".
50197         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
50198         program, declare getmntinfo as extern "C".
50199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
50200         stpncpy as extern "C".
50201         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
50202         program, declare __xpg_strerror_r as extern "C".
50203         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
50204         strndup as extern "C".
50205         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
50206         declare memset and bzero as extern "C".
50207         Reported by Sam Steingold <sds@gnu.org>.
50209 2011-07-12  Jim Meyering  <meyering@redhat.com>
50211         maint.mk: prohibit inclusion of "verify.h" without use
50212         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
50214 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50216         timer-time: A new module to check for timer_settime()
50217         * m4/timer_time.m4: Check for the posix function.
50218         * modules/timer-time: Add the new module.
50219         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
50220         Mention it.
50222 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
50223             Bruno Haible  <bruno@clisp.org>
50225         pthread_sigmask: assume POSIX threads if --avoid=threadlib
50226         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
50227         not defined, assume POSIX threads and look for pthread_sigmask in
50228         $LIBS, without changing $CPPFLAGS.
50230 2011-07-19  Bruno Haible  <bruno@clisp.org>
50232         strstr: Update cross-compilation guess.
50233         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
50234         CPUs, guess no, in view of glibc
50235         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
50236         Suggested by Eric Blake. Reported by Reuben Thomas.
50238 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50240         getopt-gnu: suppress core dumps from detection code
50241         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
50242         to suppress core dumps that may well occur on glibc systems.
50243         * modules/getopt-gnu: Depend on nocrash.
50245 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50247         pthread_sigmask: ensure usleep is declared
50248         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
50249         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
50251 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50253         doc: Document NonStop portability issues.
50254         * doc/posix-functions/sigaction.texi (sigaction):
50255         * doc/posix-headers/signal.texi (signal.h):
50256         Document NonStop.  See Joachim Schmitz in
50257         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
50259 2011-07-15  Bruno Haible  <bruno@clisp.org>
50261         ffsl, ffsll: Avoid unportable behaviour.
50262         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
50264 2011-07-15  Bruno Haible  <bruno@clisp.org>
50266         ffs: More tests.
50267         * tests/test-ffs.c (NBITS): New macro.
50268         (main): Add more tests.
50269         * tests/test-ffsl.c (NBITS): New macro.
50270         (main): Add more tests.
50271         * tests/test-ffsll.c (NBITS): New macro.
50272         (main): Add more tests.
50274 2011-07-15  Eric Blake  <eblake@redhat.com>
50276         ffsl, ffsll: new modules
50277         * modules/ffsl: New file.
50278         * modules/ffsll: Likewise.
50279         * m4/ffsl.m4: Likewise.
50280         * m4/ffsll.m4: Likewise.
50281         * lib/ffsl.c: Likewise.
50282         * lib/ffsl.h: Likewise.
50283         * lib/ffsll.c: Likewise.
50284         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
50285         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
50286         * modules/string (Makefile.am): Substitute witnesses.
50287         * lib/strings.in.h (ffsl, ffsll): Declare.
50288         * modules/ffsl-tests: New test file.
50289         * modules/ffsll-tests: Likewise.
50290         * tests/test-ffsl.c: Likewise.
50291         * tests/test-ffsll.c: Likewise.
50292         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50293         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
50294         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
50296         ffs: fix m4 prerequisite
50297         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
50299         ffs: avoid undefined behavior
50300         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
50301         * tests/test-ffs.c (naive, main): Avoid signed shifts.
50302         Reported by Bruno Haible.
50304 2011-07-12  Bruno Haible  <bruno@clisp.org>
50306         pthread_sigmask: Rely on module 'threadlib'.
50307         * modules/pthread_sigmask (Depends-on): Add threadlib.
50308         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
50309         is defined.
50311 2011-07-12  Bruno Haible  <bruno@clisp.org>
50313         regex: Depend on module 'strcase'.
50314         * modules/regex (Depends-on): Add strcase, for strcasecmp().
50316 2011-07-12  Jim Meyering  <meyering@redhat.com>
50318         warn-on-use: fix typo in file name
50319         * modules/snippet/warn-on-use (Files): Correct file name:
50320         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
50322 2011-07-12  Bruno Haible  <bruno@clisp.org>
50324         strings: Document module.
50325         * doc/posix-headers/strings.texi: Mention module 'strings'.
50327 2011-07-12  Bruno Haible  <bruno@clisp.org>
50329         Rename module '_Noreturn' to 'snippet/_Noreturn'.
50330         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
50331         (Files, Makefile.am): Update.
50332         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
50333         * modules/stdlib (Depends-on): Update.
50335 2011-07-12  Bruno Haible  <bruno@clisp.org>
50337         * NEWS: Mention the changes.
50339         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
50340         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
50341         (Files, Makefile.am): Update.
50342         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
50343         * modules/arpa_inet (Depends-on): Update.
50344         * modules/ctype (Depends-on): Update.
50345         * modules/dirent (Depends-on): Update.
50346         * modules/fcntl-h (Depends-on): Update.
50347         * modules/glob (Depends-on): Update.
50348         * modules/iconv-h (Depends-on): Update.
50349         * modules/inttypes-incomplete (Depends-on): Update.
50350         * modules/langinfo (Depends-on): Update.
50351         * modules/locale (Depends-on): Update.
50352         * modules/math (Depends-on): Update.
50353         * modules/netdb (Depends-on): Update.
50354         * modules/poll-h (Depends-on): Update.
50355         * modules/pty (Depends-on): Update.
50356         * modules/search (Depends-on): Update.
50357         * modules/signal (Depends-on): Update.
50358         * modules/spawn (Depends-on): Update.
50359         * modules/stdio (Depends-on): Update.
50360         * modules/stdlib (Depends-on): Update.
50361         * modules/string (Depends-on): Update.
50362         * modules/strings (Depends-on): Update.
50363         * modules/sys_file (Depends-on): Update.
50364         * modules/sys_ioctl (Depends-on): Update.
50365         * modules/sys_select (Depends-on): Update.
50366         * modules/sys_socket (Depends-on): Update.
50367         * modules/sys_stat (Depends-on): Update.
50368         * modules/sys_time (Depends-on): Update.
50369         * modules/sys_times (Depends-on): Update.
50370         * modules/sys_utsname (Depends-on): Update.
50371         * modules/sys_wait (Depends-on): Update.
50372         * modules/termios (Depends-on): Update.
50373         * modules/time (Depends-on): Update.
50374         * modules/unistd (Depends-on): Update.
50375         * modules/wchar (Depends-on): Update.
50376         * modules/wctype-h (Depends-on): Update.
50377         * MODULES.html.sh (Support for building libraries and executables):
50378         Update.
50380         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
50381         * modules/snippet/unused-parameter: Renamed from
50382         modules/unused-parameter.
50383         (Files, Makefile.am): Update.
50384         * build-aux/snippet/unused-parameter.h: Renamed from
50385         build-aux/unused-parameter.h.
50386         * modules/selinux-h (Depends-on): Update.
50387         * modules/unistr/base (Depends-on): Update.
50388         * MODULES.html.sh (Core language properties): Update.
50390         Rename module 'link-warning' to 'snippet/link-warning'.
50391         * modules/snippet/link-warning: Renamed from modules/link-warning.
50392         (Files, Makefile.am): Update.
50393         * build-aux/snippet/link-warning.h: Renamed from
50394         build-aux/link-warning.h.
50395         * MODULES.html.sh (Support for building libraries and executables):
50396         Update.
50398         Rename module 'c++defs' to 'snippet/c++defs'.
50399         * modules/snippet/c++defs: Renamed from modules/c++defs.
50400         (Files, Makefile.am): Update.
50401         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
50402         * modules/arpa_inet (Depends-on): Update.
50403         * modules/ctype (Depends-on): Update.
50404         * modules/dirent (Depends-on): Update.
50405         * modules/fcntl-h (Depends-on): Update.
50406         * modules/glob (Depends-on): Update.
50407         * modules/iconv-h (Depends-on): Update.
50408         * modules/langinfo (Depends-on): Update.
50409         * modules/locale (Depends-on): Update.
50410         * modules/math (Depends-on): Update.
50411         * modules/netdb (Depends-on): Update.
50412         * modules/poll-h (Depends-on): Update.
50413         * modules/pty (Depends-on): Update.
50414         * modules/search (Depends-on): Update.
50415         * modules/signal (Depends-on): Update.
50416         * modules/spawn (Depends-on): Update.
50417         * modules/stdio (Depends-on): Update.
50418         * modules/stdlib (Depends-on): Update.
50419         * modules/string (Depends-on): Update.
50420         * modules/strings (Depends-on): Update.
50421         * modules/sys_ioctl (Depends-on): Update.
50422         * modules/sys_select (Depends-on): Update.
50423         * modules/sys_socket (Depends-on): Update.
50424         * modules/sys_stat (Depends-on): Update.
50425         * modules/sys_time (Depends-on): Update.
50426         * modules/sys_wait (Depends-on): Update.
50427         * modules/termios (Depends-on): Update.
50428         * modules/time (Depends-on): Update.
50429         * modules/unistd (Depends-on): Update.
50430         * modules/wchar (Depends-on): Update.
50431         * modules/wctype-h (Depends-on): Update.
50433         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
50434         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
50435         (Files, Makefile.am): Update.
50436         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
50437         * modules/argv-iter (Depends-on): Update.
50438         * modules/arpa_inet (Depends-on): Update.
50439         * modules/dirent (Depends-on): Update.
50440         * modules/fcntl-h (Depends-on): Update.
50441         * modules/fnmatch (Depends-on): Update.
50442         * modules/getopt-posix (Depends-on): Update.
50443         * modules/glob (Depends-on): Update.
50444         * modules/iconv-h (Depends-on): Update.
50445         * modules/inttypes-incomplete (Depends-on): Update.
50446         * modules/locale (Depends-on): Update.
50447         * modules/math (Depends-on): Update.
50448         * modules/netdb (Depends-on): Update.
50449         * modules/search (Depends-on): Update.
50450         * modules/signal (Depends-on): Update.
50451         * modules/spawn (Depends-on): Update.
50452         * modules/stdio (Depends-on): Update.
50453         * modules/stdlib (Depends-on): Update.
50454         * modules/string (Depends-on): Update.
50455         * modules/strings (Depends-on): Update.
50456         * modules/sys_socket (Depends-on): Update.
50457         * modules/sys_stat (Depends-on): Update.
50458         * modules/sys_time (Depends-on): Update.
50459         * modules/sys_times (Depends-on): Update.
50460         * modules/sys_utsname (Depends-on): Update.
50461         * modules/time (Depends-on): Update.
50462         * modules/unistd (Depends-on): Update.
50463         * modules/wchar (Depends-on): Update.
50464         * MODULES.html.sh (Support for building libraries and executables):
50465         Update.
50467 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50469         Improvements on _Noreturn and related modules.
50471         modules/_Exit-tests: test _Noreturn too
50472         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
50473         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
50474         (main): Use them.
50476         stdnoreturn, stdnoreturn-tests: remove modules
50477         They're not needed here and a bit premature for use elsewhere.  See
50478         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
50479         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
50480         * tests/test-stdnoreturn.c: Remove files.
50481         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
50482         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
50483         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
50484         and using noreturn.
50485         * modules/openat, modules/sigpipe-die, modules/xalloc:
50486         * modules/xmemdup0, modules/xstrtol:
50487         Remove dependency on stdnoreturn.
50489         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
50490         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
50491         Reparenthesize to avoid GCC warning.
50492         Support Microsoft's syntax.
50493         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
50495         _Noreturn-tests: remove module
50496         * modules/_Noreturn-tests: Remove.
50497         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
50498         * tests/test-_Noreturn.c: Remove.
50499         * tests/test-stdnoreturn.c: Merge from the old
50500         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
50502 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50504         _Noreturn, stdnoreturn, and related modules.
50506         * top/maint.mk: Adjust to new noreturn support.
50507         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
50508         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
50510         xalloc: use stdnoreturn.h
50511         * lib/xalloc.h: Include <stdnoreturn.h>.
50512         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50513         * modules/xalloc (Depends-on): Add stdnoreturn.
50515         xstrtol: use stdnoreturn.h
50516         * lib/xstrtol.h: Include <stdnoreturn.h>.
50517         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50518         * modules/xstrtol (Depends-on): Add stdnoreturn.
50520         xmemdup0: use stdnoreturn.h
50521         * lib/xmemdup0.h: Include <stdnoreturn.h>.
50522         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50523         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
50525         sigpipe-die: use stdnoreturn.h
50526         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
50527         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50528         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
50530         openat: use stdnoreturn.h
50531         * lib/openat.h: Include <stdnoreturn.h>.
50532         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50533         * modules/openat (Depends-on): Add stdnoreturn.
50535         * lib/openat-die.c (openat_save_fail): Modernize comment.
50537         * lib/xalloc-die.c (xalloc_die): Modernize comment.
50539         * lib/glthread/thread.h: Modernize comment.
50541         obstack: use _Noreturn
50542         * lib/obstack.c (__attribute__): Remove macro.
50543         (print_and_abort): Use _Noreturn.
50545         c-stack: use _Noreturn
50546         * lib/c-stack.c (die, overflow_handler, segv_handler):
50547         Use _Noreturn rather than __attribute__((noreturn)).
50549         argmatch-tests, exclude_tests: use _Noreturn
50550         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
50551         Remove.
50552         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
50554         stdlib: use _Noreturn
50555         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
50556         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
50557         * modules/stdlib (Depends-on): Add _Noreturn.
50558         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
50560         stdnoreturn-tests: new module
50561         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
50563         stdnoreturn: new module
50564         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
50565         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
50567         _Noreturn-tests: new module
50568         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
50570         _Noreturn: new module
50571         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
50572         New section, mentioning it.
50573         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
50575         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
50577 2011-07-11  Eric Blake  <eblake@redhat.com>
50579         ffs: new module
50580         * modules/ffs: New file.
50581         * m4/ffs.m4: Likewise.
50582         * lib/ffs.c: Likewise.
50583         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
50584         * modules/strings (Makefile.am): Substitute witness.
50585         (Depends-on): Add c++defs.
50586         * lib/strings.in.h (ffs): Declare.
50587         * modules/ffs-tests: New test file.
50588         * tests/test-ffs.c: Test new module.
50589         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50590         * doc/posix-functions/ffs.texi (ffs): Likewise.
50592         regex: avoid compiler warning
50593         * lib/regex.c (includes): Include <strings.h>, for use of
50594         strcasecmp in regcomp.c.
50595         Reported by Joachim Schmitz.
50597 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50599         stdint: respect system's intmax_t if INTMAX_MAX
50600         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
50601         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
50602         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
50603         long but int64_t is long long, and where we will clash with the
50604         system intmax_t if we override it.  See
50605         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
50606         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
50607         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
50608         similarly for UINTMAX_C.
50610 2011-07-08  Bruno Haible  <bruno@clisp.org>
50612         pthread_sigmask tests: Avoid a compiler warning.
50613         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
50614         non-zero.
50616         sigprocmask tests: A better way to avoid a compiler warning.
50617         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
50618         (main): Complain if system() returns non-zero.
50619         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
50621 2011-07-08  Bruno Haible  <bruno@clisp.org>
50623         pthread_sigmask: Work around IRIX bug.
50624         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
50625         bug.
50626         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
50627         there may be unblocked pending signals.
50628         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
50630 2011-07-08  Bruno Haible  <bruno@clisp.org>
50632         pthread_sigmask: Work around Cygwin bug.
50633         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
50634         bug.
50635         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
50636         the system's pthread_sigmask function.
50637         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
50639 2011-07-08  Bruno Haible  <bruno@clisp.org>
50641         pthread_sigmask: Work around bug in single-threaded implementation.
50642         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
50643         FreeBSD, HP-UX, Solaris bug.
50644         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
50645         * lib/pthread_sigmask.c: Include <stddef.h>.
50646         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
50647         the system's pthread_sigmask function.
50648         * modules/pthread_sigmask (configure.ac): Invoke
50649         gl_PREREQ_PTHREAD_SIGMASK.
50650         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
50651         HP-UX, Solaris.
50653 2011-07-08  Eric Blake  <eblake@redhat.com>
50655         test-sigprocmask: avoid compiler warning
50656         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
50657         * tests/test-sigprocmask.c (main): Use it to silence warning.
50658         Reported by Jim Meyering.
50660         test-snprintf: avoid compiler warning
50661         * tests/test-snprintf.c (main): Avoid shadowed declaration.
50662         * tests/test-vsnprintf.c (main): Likewise.
50663         Reported by Jim Meyering.
50665 2011-07-08  Bruno Haible  <bruno@clisp.org>
50667         Tests for module 'pthread_sigmask'.
50668         * modules/pthread_sigmask-tests: New file.
50669         * tests/test-pthread_sigmask1.c: New file, based on
50670         tests/test-sigprocmask.c.
50671         * tests/test-pthread_sigmask2.c: New file.
50673 2011-07-08  Jim Meyering  <meyering@redhat.com>
50675         test-getopt.h: avoid warning about an unused variable
50676         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
50678 2011-07-07  Jim Meyering  <meyering@redhat.com>
50680         maint: reduce list of files exempt from sc_prohibit_leading_TABs
50681         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
50682         now that it no longer contains leading TABs.
50683         Remove unused "url=FIXME" statement.
50685 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50687         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
50688         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50689         When gl_THREADLIB is not in use, assume that the POSIX sematics
50690         are desired.  This is better for Emacs, which uses POSIX semantics
50691         on GNUish and/or POSIXish platforms, and does not use threads at
50692         all otherwise.
50694         pthread_sigmask: fix typo when testing for libraries
50695         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50696         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
50698 2011-07-08  Eric Blake  <eblake@redhat.com>
50700         fts: introduce FTS_NOATIME
50701         * lib/fts_.h (FTS_NOATIME): New bit flag.
50702         (FTS_OPTIONMASK): Adjust.
50703         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
50704         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
50706 2011-07-08  Bruno Haible  <bruno@clisp.org>
50708         Tests for module 'thread'.
50709         * modules/thread-tests: New file.
50710         * tests/test-thread_self.c: New file.
50711         * tests/test-thread_create.cc: New file.
50713 2011-07-08  Bruno Haible  <bruno@clisp.org>
50715         thread: Avoid gcc warnings when using gl_thread_self().
50716         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
50717         'void *'.
50718         (gl_thread_self_pointer): Update.
50720 2011-07-07  Bruno Haible  <bruno@clisp.org>
50722         signal-c++-tests: Check declaration of pthread_sigmask.
50723         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
50724         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
50725         $(LIB_PTHREAD_SIGMASK).
50727 2011-07-07  Bruno Haible  <bruno@clisp.org>
50729         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
50730         * lib/signal.in.h (pthread_sigmask): Override if
50731         REPLACE_PTHREAD_SIGMASK is 1.
50732         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50733         REPLACE_PTHREAD_SIGMASK.
50734         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
50735         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
50736         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
50737         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50738         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
50740 2011-07-07  Bruno Haible  <bruno@clisp.org>
50742         pthread_sigmask: Ensure declaration in <signal.h>.
50743         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
50744         include <pthread.h>.
50745         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
50746         problem.
50748 2011-07-07  Bruno Haible  <bruno@clisp.org>
50750         pthread_sigmask: Document the module.
50751         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
50753 2011-07-07  Bruno Haible  <bruno@clisp.org>
50755         pthread_sigmask: Follow gnulib conventions.
50756         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
50757         gl_PTHREAD_SIGMASK.
50758         * modules/pthread_sigmask (configure.ac): Update.
50760 2011-07-07  Bruno Haible  <bruno@clisp.org>
50762         pthread_sigmask: Make declaration C++ safe.
50763         * lib/signal.in.h: In two special conditions, just do an #include_next.
50764         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50765         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
50766         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50767         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50768         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
50769         not REPLACE_PTHREAD_MASK.
50770         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
50771         not REPLACE_PTHREAD_MASK.
50772         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50774 2011-07-07  Bruno Haible  <bruno@clisp.org>
50776         pthread_sigmask: Fix return value.
50777         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
50778         * lib/pthread_sigmask.c: New file.
50779         * modules/pthread_sigmask (Files): Add it.
50780         (configure.ac): Invoke AC_LIBOBJ.
50782 2011-07-07  Eric Blake  <eblake@redhat.com>
50784         getopt: more portable argv creation
50785         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
50786         const, use char arrays rather than strings.
50787         Suggested by Paul Eggert.
50789 2011-07-07  Bruno Haible  <bruno@clisp.org>
50791         Tests for module 'sigprocmask'.
50792         * modules/sigprocmask-tests: New file.
50793         * tests/test-sigprocmask.c: New file.
50795 2011-07-07  Bruno Haible  <bruno@clisp.org>
50797         float tests: Tweak.
50798         * tests/test-float.c (main): Tweak skip message.
50800 2011-07-07  Eric Blake  <eblake@redhat.com>
50802         getopt: avoid compiler warning during configure
50803         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
50804         assigning string literals to non-const pointer.
50806         getopt-gnu: avoid crash in glibc getopt
50807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
50808         * tests/test-getopt.h (test_getopt): Enhance test.
50809         * tests/test-getopt_long.h (test_getopt_long): Likewise.
50810         * doc/posix-functions/getopt.texi (getopt): Document it.
50811         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50812         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50813         Likewise.
50815 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
50817         getopt: handle W; without long options in getopt [BZ #12922]
50818         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
50819         but no long options are defined, just return 'W'.
50821 2011-07-07  Bruno Haible  <bruno@clisp.org>
50823         Avoid literal tabs.
50824         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
50825         variable containing a tab instead of a literal tab.
50826         Reported by Jim Meyering.
50828 2011-07-07  Bruno Haible  <bruno@clisp.org>
50830         Comments.
50831         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
50833 2011-07-06  Bruno Haible  <bruno@clisp.org>
50835         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
50836         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
50837         <winsock2.h>.
50838         (rpl_fd_isset, FD_ISSET): New definitions, copied from
50839         lib/sys_socket.in.h.
50840         (close, gethostname): Hide declarations from <winsock2.h>.
50841         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50842         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
50843         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
50844         (select): Don't override if gnulib's <sys/select.h> was already
50845         included.
50846         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
50847         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
50848         setsockopt, shutdown, select): Tweak indentation.
50850 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50852         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
50853         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
50854         in an application that does not use the sys_select module.
50856 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
50858         poll: do not return 0 on timeout=-1
50859         * lib/poll.c: Loop with yield if no events occurred.
50861 2011-07-06  Eric Blake  <eblake@redhat.com>
50863         pthread_sigmask: always replace when not using pthread
50864         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
50865         replacement when using some threading other than pthread.  Fix
50866         logic bug.
50868 2011-07-06  Bruno Haible  <bruno@clisp.org>
50870         Comments.
50871         * m4/printf.m4: Update comments about mingw.
50873 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50875         sys_select: define sigset_t more portably
50876         * lib/sys_select.in.h: Always include <sys/types.h>, since
50877         we now need sigset_t and mingw defines it there.
50878         Include <signal.h> before split inclusion guard, to avoid
50879         mishaps on Solaris, whose <signal.h> eventually includes us.
50880         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
50881         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
50882         which come from ...
50883         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50884         gl_CHECK_TYPE_SIGSET_T.
50885         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
50886         does the real work.
50887         * modules/sys_select (Depends-on): Add 'signal'.
50889         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
50890         Suggested by Bruno Haible.
50892         pselect: Use pthread_sigmask, not sigprocmask.
50893         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
50894         multithreaded apps better than sigprocmask does.
50895         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
50896         sigprocmask directly.
50898 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50900         * lib/pselect.c (pselect): Use plain name, without "rpl_".
50901         Don't #undef,  since we don't need any underlying pselect.
50902         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
50903         (Depends-on): Add select.
50904         (Link): Add $(LIBSOCKET).
50905         These changes suggested by Bruno Haible.
50907         pselect: document better
50908         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50909         * doc/posix-functions/pselect.texi (pselect): Document new module.
50911         pthread_sigmask: new module
50912         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50913         * doc/posix-functions/pthread_sigmask.texi: Document new module.
50914         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
50915         This is done only as a macro; I don't know how well that'll
50916         work for C++.  Move <sys/types.h> include before the include_next,
50917         to avoid mishap on Solaris.
50918         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
50919         * modules/signal (Makefile.am): Substitute the check's results.
50920         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
50922         test-pselect: new module
50923         * modules/pselect-tests, tests/test-pselect.c: New files.
50924         * tests/test-select.c, tests/test-sys_select-c++.cc:
50925         If TEST_PSELECT is defined, test pselect instead of testing select.
50927         * tests/test-sys_select.c (sigset_t): Test for it, too.
50928         Suggested by Bruno Haible.
50930 2011-07-05  Eric Blake  <eblake@redhat.com>
50932         snprintf: guarantee %1$d, for libintl
50933         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
50934         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50935         * doc/posix-functions/snprintf.texi (snprintf): Update.
50936         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50937         * tests/test-snprintf.c (main): Enhance test.
50938         * tests/test-vsnprintf.c (main): Likewise.
50940 2011-07-05  Jim Meyering  <meyering@redhat.com>
50942         maint: exempt stdio-read.c and stdio-write.c from the cppi check
50943         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
50944         per Bruno's request, to accommodate this idiom (no space after "#")
50945         even when the function is inside an #if block:
50946         char *
50947         gets (char *s)
50948         #undef gets
50949         {
50950           ...
50951         }
50953 2011-07-04  Jim Meyering  <meyering@redhat.com>
50955         maint: indent with spaces, not TABs, and add a rule to check this
50956         * tests/test-userspec.c: Indent with spaces, not TABs.
50957         * tests/test-argp.c: Likewise.
50958         * tests/test-c-stack2.sh: Likewise.
50959         * tests/test-parse-duration.sh: Likewise
50960         * m4/strtod.m4: Likewise.
50961         * m4/alloca.m4: Likewise.
50962         * m4/pselect.m4: Likewise.
50963         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
50965 2011-07-03  Jim Meyering  <meyering@redhat.com>
50967         maint.mk: correct omissions in prohibit_argmatch_without_use check
50968         This rule would mistakenly report that argmatch.h is included without
50969         use even when both the argmatch and invalid_arg macro were used.
50970         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
50971         of argmatch and invalid_arg.
50973 2011-07-03  Bruno Haible  <bruno@clisp.org>
50975         Comments about EINTR.
50976         * lib/safe-read.h: Explain the purpose of this module.
50977         * lib/safe-write.h: Likewise.
50978         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
50979         module.
50980         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
50981         module.
50982         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50984 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50986         xnanosleep: Rewrite to use new dtotimespec module.
50987         It has the conversion code that used to be in xnanosleep.
50988         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
50989         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
50990         (TIME_T_MAX): Remove.
50991         (xnanosleep): Rewrite in terms of dtotimespec.
50992         * modules/xnanosleep (Depends-on): Add dtotimespec.
50993         Remove intprops, stdbool.
50995         timespec-add, timespec-sub: new modules
50996         * lib/timespec.h (timespec_add, timespec_sub): New decls.
50997         * lib/timespec-add.c, lib/timespec-sub.c:
50998         * modules/timespec-add, modules/timespec-sub: New files.
51000         dtotimespec: new module
51001         * lib/timespec.h (dtotimespec): New decl.
51002         * lib/dtotimespec.c, modules/dtotimespec: New files.
51004         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
51006         pselect: new module
51007         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
51008         (pselect): New decls.
51009         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
51010         since the standard pselect decl uses 'restrict'.
51011         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
51012         HAVE_PSELECT, REPLACE_PSELECT.
51013         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
51014         HAVE_PSELECT, REPLACE_PSELECT.
51015         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
51017         sys_select: don't depend on sys_socket
51018         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
51019         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
51020         This fix works on GNU and GNU-like platforms, but has not been tested
51021         on native Windows.
51022         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
51023         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
51024         gl_HEADER_SYS_SOCKET.
51025         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
51026         gl_PREREQ_SYS_H_WINSOCK2.
51028 2011-06-29  Eric Blake  <eblake@redhat.com>
51030         pipe2: fix C89 compile problem
51031         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
51032         Reported by Bruno Haible.
51034         pipe, pipe2: don't corrupt fd on error
51035         * lib/pipe.c (pipe): Leave fd unchanged on error.
51036         * lib/pipe2.c (pipe2): Likewise.
51037         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
51038         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51040 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
51042         mmap-anon: do not use regular expressions inadvertently
51043         * m4/mmap-anon.m4: Remove trailing period from strings sought
51044         in the output.
51046 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51048         nanosleep: fix integer overflow problem
51049         * lib/nanosleep.c (my_usleep): Don't assume signed integer
51050         arithmetic wraps around on overflow.
51052         nanosleep: simplify carrying
51053         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
51054         first call to the underyling nanosleep, not for the last one.
51055         This doesn't fix any bugs, but it simplifies the computation of
51056         the remaining delay.  Found while auditing integer overflow issues.
51058         dup2: remove test for existence of fcntl
51059         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
51060         "#if HAVE_FCNTL", in the configure-time test program.
51061         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
51062         and therefore speeds up "configure" a bit.  Found while
51063         adding the dup2 module to Emacs.
51065 2011-06-24  Eric Blake  <eblake@redhat.com>
51067         maint.mk: enhance useless header checks
51068         * top/maint.mk (_sc_header_without_use): Check both include
51069         styles.
51070         (sc_prohibit_assert_without_use)
51071         (sc_prohibit_close_stream_without_use)
51072         (sc_prohibit_getopt_without_use)
51073         (sc_prohibit_quotearg_without_use)
51074         (sc_prohibit_quote_without_use)
51075         (sc_prohibit_long_options_without_use)
51076         (sc_prohibit_inttostr_without_use)
51077         (sc_prohibit_ignore_value_without_use)
51078         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
51079         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
51080         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
51081         (sc_prohibit_hash_pjw_without_use)
51082         (sc_prohibit_safe_read_without_use)
51083         (sc_prohibit_argmatch_without_use)
51084         (sc_prohibit_canonicalize_without_use)
51085         (sc_prohibit_root_dev_ino_without_use)
51086         (sc_prohibit_openat_without_use)
51087         (sc_prohibit_c_ctype_without_use)
51088         (sc_prohibit_signal_without_use)
51089         (sc_prohibit_stdio--_without_use)
51090         (sc_prohibit_stdio-safer_without_use)
51091         (sc_prohibit_strings_without_use)
51092         (sc_prohibit_intprops_without_use)
51093         (sc_prohibit_stddef_without_use)
51094         (sc_prohibit_xfreopen_without_use): Update clients.
51096 2011-06-24  Jim Meyering  <meyering@redhat.com>
51098         syntax-check: keep one maint.mk rule in sync with its header
51099         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
51100         of the bug Eric has just fixed, with today's commit 25e4c2ec.
51101         I prefer to avoid temporary files here, so use <(...), but that
51102         is not supported by /bin/sh, so...
51103         (SHELL): Define to /bin/bash.
51105 2011-06-24  Eric Blake  <eblake@redhat.com>
51107         maint.mk: update sc_prohibit_intprops_without_use
51108         * top/maint.mk (_intprops_names): Match recent changes.
51110 2011-06-24  Bruno Haible  <bruno@clisp.org>
51112         strerror-override: No-op tweak.
51113         * lib/strerror-override.h (strerror_override): Reorder conditions,
51114         for consistency with lib/strerror-override.c.
51116 2011-06-23  Eric Blake  <eblake@redhat.com>
51118         maint.mk: test further PATH_MAX issues
51119         * top/maint.mk (sc_prohibit_path_max_array): Rename...
51120         (sc_prohibit_path_max_allocation): ...and also test alloca.
51121         Suggested by Jim Meyering.
51123 2011-06-22  Eric Blake  <eblake@redhat.com>
51125         maint.mk: add syntax-check to avoid char[PATH_MAX]
51126         * top/maint.mk (sc_prohibit_path_max_array): New rule.
51128         stat: be robust to PATH_MAX definition
51129         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
51130         * modules/stat (Depends-on): Add verify.
51132         link: work around IRIX bug
51133         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
51134         * lib/link.c (rpl_link): Work around it.
51135         * tests/test-link.h (test_link): Enhance test.
51136         * doc/posix-functions/link.texi (link): Document the bug.
51138         getopt: silence clang warning
51139         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
51140         dereference.
51141         Reported by Gustavo Martin Domato.
51143 2011-06-22  Jim Meyering  <meyering@redhat.com>
51145         bootstrap: do not insert a blank line into each .gitignore file
51146         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
51148 2011-06-21  Eric Blake  <eblake@redhat.com>
51150         perror: test for output mismatch
51151         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
51152         perror on IRIX.
51154         strerror_r: fix OpenBSD behavior on out-of-range
51155         * lib/strerror_r.c (strerror_r): Always use maximal string.
51156         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
51158         strerror_r: fix OpenBSD behavior on 0
51159         * lib/strerror-override.c (strerror_override): Also override 0
51160         when needed.
51161         * lib/strerror-override.h (strerror_override): Likewise.
51162         * lib/strerror.c (strerror): Simplify, now that 0 override is done
51163         earlier.
51164         * lib/strerror_r.c (strerror_r): Likewise.
51165         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
51166         behavior...
51167         (gl_FUNC_STRERROR_0): ...into new macro.
51168         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
51169         is overridden.
51170         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
51171         * modules/strerror-override (Files): Add strerror.m4.
51172         (configure.ac): Also provide override for 0 when needed.
51173         * doc/posix-functions/strerror.texi (strerror): Document this.
51174         * doc/posix-functions/perror.texi (perror): Likewise.
51176         perror: adjust array size
51177         * modules/perror (Depends-on): Add strerror-override.
51178         * lib/perror.c (perror): Use it to avoid magic number.
51180         strerror-override: reduce size
51181         * lib/strerror-override.c (strerror_override): Use fewer lines.
51183 2011-06-20  Bruno Haible  <bruno@clisp.org>
51185         pathmax: Ensure correct value for PATH_MAX on HP-UX.
51186         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
51188 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51190         alloca: port to compilers that can optimize like GCC 4.6.0
51191         * lib/alloca.c (find_stack_direction): New signature, taken from
51192         Autoconf git.  This works with GCC 4.6.0.  This code should never
51193         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
51194         be used with other compilers that optimize as well as GCC 4.6.0 does.
51195         (alloca): Adjust to new signature.
51196         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
51197         New macro, which patches Autoconf in a similar way.
51199         c-stack: stop worrying about stack direction
51200         * lib/c-stack.c (find_stack_direction): Remove.
51201         (segv_handler): Don't worry about stack direction growth, as it's
51202         too much of a pain to configure this correctly, given how compilers
51203         are optimizing-away our stack-growth detection code.  Instead, assume
51204         that any access to just before or just after the stack is OK.
51205         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51206         Don't require AC_FUNC_ALLOCA; no longer needed.
51208 2011-06-20  Eric Blake  <eblake@redhat.com>
51210         test-stat: don't allocate PATH_MAX bytes
51211         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
51212         PATH_MAX-sized buffer.
51213         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
51214         * modules/stat-tests (Depends-on): Likewise.
51215         * tests/test-fstatat.c (includes): Drop pathmax.h.
51216         * tests/test-stat.c (includes): Likewise.
51217         Reported by Bruno Haible.
51219 2011-06-20  Bruno Haible  <bruno@clisp.org>
51221         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
51222         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
51223         * lib/float.c: New file.
51224         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
51225         REPLACE_FLOAT_LDBL.
51226         * modules/float (Files): Add lib/float.c.
51227         (configure.ac): Invoke AC_LIBOBJ.
51228         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
51230 2011-06-20  Bruno Haible  <bruno@clisp.org>
51232         Tests for module 'float'.
51233         * modules/float-tests: New file.
51234         * tests/test-float.c: New file.
51236 2011-06-19  Bruno Haible  <bruno@clisp.org>
51238         isinf: Coding style.
51239         * lib/isinf.c: Use GNU coding style.
51241 2011-06-19  Bruno Haible  <bruno@clisp.org>
51243         linkat test: Avoid test failure on AIX 7.1.
51244         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
51245         * tests/test-link.h (test_link): Likewise.
51247 2011-06-19  Bruno Haible  <bruno@clisp.org>
51249         pread test: Avoid test failure on OpenBSD 4.9.
51250         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
51252 2011-06-19  Bruno Haible  <bruno@clisp.org>
51254         sprintf-posix: Fix test failure on AIX 7.1.
51255         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
51256         * doc/posix-functions/dprintf.texi: Mention limited precision problem
51257         on AIX.
51258         * doc/posix-functions/fprintf.texi: Likewise.
51259         * doc/posix-functions/printf.texi: Likewise.
51260         * doc/posix-functions/snprintf.texi: Likewise.
51261         * doc/posix-functions/sprintf.texi: Likewise.
51262         * doc/posix-functions/vdprintf.texi: Likewise.
51263         * doc/posix-functions/vfprintf.texi: Likewise.
51264         * doc/posix-functions/vprintf.texi: Likewise.
51265         * doc/posix-functions/vsnprintf.texi: Likewise.
51266         * doc/posix-functions/vsprintf.texi: Likewise.
51268 2011-06-19  Bruno Haible  <bruno@clisp.org>
51270         roundl-ieee: Fix test failure on AIX 7.1.
51271         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
51272         * doc/posix-functions/roundl.texi: Mention problem with negative
51273         arguments.
51275 2011-06-19  Bruno Haible  <bruno@clisp.org>
51277         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51278         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
51279         * doc/posix-functions/round.texi: Mention problem with negative
51280         arguments.
51281         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
51283 2011-06-19  Bruno Haible  <bruno@clisp.org>
51285         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51286         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
51287         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
51288         * doc/posix-functions/roundf.texi: Mention problem with negative
51289         arguments.
51290         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
51292 2011-06-19  Bruno Haible  <bruno@clisp.org>
51294         ceilf-ieee: Work around bug on MacOS X 10.5.
51295         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
51297         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
51298         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
51299         IEEE compliant, avoid compiler optimizations.
51300         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
51301         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51302         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
51303         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51304         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51305         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
51306         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51307         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
51308         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
51309         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
51311 2011-06-19  Bruno Haible  <bruno@clisp.org>
51313         ceilf-ieee: Work around bug on AIX 7.1.
51314         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
51315         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
51317 2011-06-19  Bruno Haible  <bruno@clisp.org>
51319         ceil-ieee: Work around bug on AIX 7.1.
51320         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
51321         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
51323 2011-06-18  Bruno Haible  <bruno@clisp.org>
51325         fsync test: Avoid test failure on MacOS X and AIX.
51326         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
51327         EINVAL.
51329 2011-06-18  Bruno Haible  <bruno@clisp.org>
51331         openat, fdopendir tests: Fix link errors.
51332         * modules/openat-tests (Depends-on): Add progname.
51333         * modules/fdopendir-tests (Depends-on): Likewise.
51334         * tests/test-fchownat.c: Include progname.h.
51335         (main): Call set_program_name.
51336         * tests/test-fstatat.c: Include progname.h.
51337         (main): Call set_program_name.
51338         * tests/test-mkdirat.c: Include progname.h.
51339         (main): Call set_program_name.
51340         * tests/test-openat.c: Include progname.h.
51341         (main): Call set_program_name.
51342         * tests/test-unlinkat.c: Include progname.h.
51343         (main): Call set_program_name.
51344         * tests/test-fdopendir.c: Include progname.h.
51345         (main): Call set_program_name.
51347 2011-06-18  Bruno Haible  <bruno@clisp.org>
51349         Doc update.
51350         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
51351         HP-UX.
51352         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
51354 2011-06-18  Bruno Haible  <bruno@clisp.org>
51356         getcwd tests: Avoid compilation error on HP-UX 11.31.
51357         * modules/getcwd-tests (Depends-on): Add pathmax.
51358         * tests/test-getcwd.c: Include pathmax.h.
51360 2011-06-18  Bruno Haible  <bruno@clisp.org>
51362         isfinite, isinf: Fix link error on AIX 6 and 7.
51363         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
51364         needed, also test the macro with a 'float' argument.
51365         * m4/isinf.m4 (gl_ISINF): Likewise.
51367 2011-06-18  Bruno Haible  <bruno@clisp.org>
51369         getloadavg: Don't clobber LIBS. Regression from previous commit.
51370         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
51371         AC_CHECK_LIB from here...
51372         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
51373         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
51374         gl_func_getloadavg_done.
51375         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51377 2011-06-18  Bruno Haible  <bruno@clisp.org>
51379         clean-temp: Improve documentation.
51380         * lib/clean-temp.h: Explain better how to use this module.
51381         Reported by John Darrington <john@darrington.wattle.id.au>.
51383 2011-06-17  Bruno Haible  <bruno@clisp.org>
51385         pread, pwrite: Avoid cc warning on AIX.
51386         * lib/unistd.in.h (pread): Undefine before defining as a macro.
51387         (pwrite): Likewise.
51389 2011-06-17  Bruno Haible  <bruno@clisp.org>
51391         spawn-pipe tests: Fix link error.
51392         * tests/test-spawn-pipe-child.c: Undefine fprintf.
51393         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51395 2011-06-17  Bruno Haible  <bruno@clisp.org>
51397         Tests: Remove unnecessary dependency.
51398         * modules/canonicalize-tests (Depends-on): Remove progname.
51399         * modules/chown-tests (Depends-on): Likewise.
51400         * modules/dirname-tests (Depends-on): Likewise.
51401         * modules/fdopendir-tests (Depends-on): Likewise.
51402         * modules/fdutimensat-tests (Depends-on): Likewise.
51403         * modules/hash-tests (Depends-on): Likewise.
51404         * modules/lchown-tests (Depends-on): Likewise.
51405         * modules/linkat-tests (Depends-on): Likewise.
51406         * modules/renameat-tests (Depends-on): Likewise.
51407         * modules/spawn-pipe-tests (Depends-on): Likewise.
51408         * modules/utimensat-tests (Depends-on): Likewise.
51410 2011-06-17  Bruno Haible  <bruno@clisp.org>
51412         spawn-pipe tests: Fix link error.
51413         * tests/test-spawn-pipe-child.c: Undefine fflush.
51415 2011-06-17  Bruno Haible  <bruno@clisp.org>
51417         Fix tests link errors.
51418         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
51419         * modules/chown-tests (Makefile.am): Don't link test-chown with
51420         LIBINTL.
51421         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
51422         LIBINTL.
51423         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
51424         LIBINTL.
51425         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
51426         LIBINTL.
51428 2011-06-16  Bruno Haible  <bruno@clisp.org>
51430         crypto/gc-sha1: Fix recent regression.
51431         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
51432         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
51434         crypto/gc-md5: Fix recent regression.
51435         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
51437         crypto/gc-md4: Fix recent regression.
51438         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
51439         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
51441         crypto/gc-arctwo: Fix recent regression.
51442         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
51443         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
51445         crypto/gc-rijndael: Fix recent regression.
51446         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
51447         (configure.ac): Invoke AC_LIBOBJ here.
51448         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
51449         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51451         crypto/gc-hmac-sha1: Fix recent regression.
51452         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
51453         (configure.ac): Invoke AC_LIBOBJ here.
51454         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
51455         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51457         crypto/gc-hmac-md5: Fix recent regression.
51458         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
51459         (configure.ac): Invoke AC_LIBOBJ here.
51460         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
51461         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51463         crypto/gc-des: Fix recent regression.
51464         * modules/crypto/gc-des (Files): Remove m4/des.m4.
51465         (configure.ac): Invoke AC_LIBOBJ here.
51466         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
51467         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51469         crypto/gc-arcfour: Fix recent regression.
51470         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
51471         (configure.ac): Invoke AC_LIBOBJ here.
51472         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
51473         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51475 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
51477         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
51478         After the 2011-05-21 change, this macro requires
51479         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
51480         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51482 2011-06-16  Bruno Haible  <bruno@clisp.org>
51484         fprintftime: Move AC_LIBOBJ invocations to module description.
51485         * m4/fprintftime.m4: Remove file.
51486         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
51487         (configure.ac): Remove gl_FPRINTFTIME call.
51488         (Makefile.am): Augment lib_SOURCES.
51489         Reported by Jim Meyering.
51491 2011-06-16  Bruno Haible  <bruno@clisp.org>
51493         tmpfile-safer: Finish 2011-05-23 commit.
51494         * m4/stdio-safer.m4: Really remove file.
51495         Reported by Jim Meyering.
51497 2011-06-16  Bruno Haible  <bruno@clisp.org>
51499         syntax-check: Fix typo.
51500         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
51501         printf-posix.m4.
51502         Reported by Jim Meyering.
51504 2011-06-13  Jim Meyering  <meyering@redhat.com>
51506         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
51507         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
51509 2011-05-23  Bruno Haible  <bruno@clisp.org>
51511         yesno: Move AC_LIBOBJ invocations to module description.
51512         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
51513         * modules/yesno (Makefile.am): Augment lib_SOURCES.
51515 2011-05-23  Bruno Haible  <bruno@clisp.org>
51517         xstrtol: Move AC_LIBOBJ invocations to module description.
51518         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
51519         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
51521 2011-05-23  Bruno Haible  <bruno@clisp.org>
51523         xstrtold: Move AC_LIBOBJ invocations to module description.
51524         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
51525         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
51527 2011-05-23  Bruno Haible  <bruno@clisp.org>
51529         xstrtod: Move AC_LIBOBJ invocations to module description.
51530         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
51531         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
51533 2011-05-23  Bruno Haible  <bruno@clisp.org>
51535         xnanosleep: Move AC_LIBOBJ invocations to module description.
51536         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
51537         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
51539 2011-05-23  Bruno Haible  <bruno@clisp.org>
51541         xgetcwd: Move AC_LIBOBJ invocations to module description.
51542         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
51543         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
51545 2011-05-23  Bruno Haible  <bruno@clisp.org>
51547         xalloc: Move AC_LIBOBJ invocations to module description.
51548         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
51549         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
51551 2011-05-23  Bruno Haible  <bruno@clisp.org>
51553         write-any-file: Move AC_LIBOBJ invocations to module description.
51554         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
51555         invocation.
51556         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
51558 2011-05-23  Bruno Haible  <bruno@clisp.org>
51560         utimens: Move AC_LIBOBJ invocations to module description.
51561         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
51562         * modules/utimens (Makefile.am): Augment lib_SOURCES.
51564 2011-05-23  Bruno Haible  <bruno@clisp.org>
51566         utimecmp: Move AC_LIBOBJ invocations to module description.
51567         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
51568         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
51570 2011-05-23  Bruno Haible  <bruno@clisp.org>
51572         userspec: Move AC_LIBOBJ invocations to module description.
51573         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
51574         * modules/userspec (Makefile.am): Augment lib_SOURCES.
51576 2011-05-23  Bruno Haible  <bruno@clisp.org>
51578         unlinkdir: Move AC_LIBOBJ invocations to module description.
51579         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
51580         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
51582 2011-05-23  Bruno Haible  <bruno@clisp.org>
51584         unistd-safer: Move AC_LIBOBJ invocations to module description.
51585         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
51586         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
51588 2011-05-23  Bruno Haible  <bruno@clisp.org>
51590         tempname: Move AC_LIBOBJ invocations to module description.
51591         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
51592         * modules/tempname (Makefile.am): Augment lib_SOURCES.
51594 2011-05-23  Bruno Haible  <bruno@clisp.org>
51596         strftime: Move AC_LIBOBJ invocations to module description.
51597         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
51598         * modules/strftime (Makefile.am): Augment lib_SOURCES.
51600 2011-05-23  Bruno Haible  <bruno@clisp.org>
51602         stdlib-safer: Move AC_LIBOBJ invocations to module description.
51603         * m4/stdlib-safer.m4: Remove file.
51604         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
51605         (configure.ac): Remove gl_STDLIB_SAFER call.
51606         (Makefile.am): Augment lib_SOURCES.
51608 2011-05-23  Bruno Haible  <bruno@clisp.org>
51610         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
51611         * m4/stdio-safer.m4: Remove file.
51612         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
51613         (configure.ac): Remove gl_TMPFILE_SAFER call.
51614         (Makefile.am): Augment lib_SOURCES.
51616 2011-05-23  Bruno Haible  <bruno@clisp.org>
51618         popen-safer: Move AC_LIBOBJ invocations to module description.
51619         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
51620         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
51621         (configure.ac): Remove gl_POPEN_SAFER call.
51622         (Makefile.am): Augment lib_SOURCES.
51624 2011-05-23  Bruno Haible  <bruno@clisp.org>
51626         freopen-safer: Move AC_LIBOBJ invocations to module description.
51627         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
51628         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
51629         (configure.ac): Remove gl_FREOPEN_SAFER call.
51630         (Makefile.am): Augment lib_SOURCES.
51632 2011-05-23  Bruno Haible  <bruno@clisp.org>
51634         fopen-safer: Move AC_LIBOBJ invocations to module description.
51635         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
51636         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
51637         (configure.ac): Remove gl_FOPEN_SAFER call.
51638         (Makefile.am): Augment lib_SOURCES.
51640 2011-05-23  Bruno Haible  <bruno@clisp.org>
51642         crypto/sha512: Move AC_LIBOBJ invocations to module description.
51643         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
51644         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
51646 2011-05-23  Bruno Haible  <bruno@clisp.org>
51648         crypto/sha256: Move AC_LIBOBJ invocations to module description.
51649         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
51650         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
51652 2011-05-23  Bruno Haible  <bruno@clisp.org>
51654         crypto/sha1: Move AC_LIBOBJ invocations to module description.
51655         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
51656         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
51658 2011-05-23  Bruno Haible  <bruno@clisp.org>
51660         settime: Move AC_LIBOBJ invocations to module description.
51661         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
51662         * modules/settime (Makefile.am): Augment lib_SOURCES.
51664 2011-05-23  Bruno Haible  <bruno@clisp.org>
51666         savedir: Move AC_LIBOBJ invocations to module description.
51667         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
51668         * modules/savedir (Makefile.am): Augment lib_SOURCES.
51670 2011-05-23  Bruno Haible  <bruno@clisp.org>
51672         save-cwd: Move AC_LIBOBJ invocations to module description.
51673         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
51674         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
51676 2011-05-23  Bruno Haible  <bruno@clisp.org>
51678         same: Move AC_LIBOBJ invocations to module description.
51679         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
51680         * modules/same (Makefile.am): Augment lib_SOURCES.
51682 2011-05-23  Bruno Haible  <bruno@clisp.org>
51684         safe-write: Move AC_LIBOBJ invocations to module description.
51685         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
51686         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
51687         instead of gl_SAFE_WRITE.
51688         (Makefile.am): Augment lib_SOURCES.
51690 2011-05-23  Bruno Haible  <bruno@clisp.org>
51692         safe-read: Move AC_LIBOBJ invocations to module description.
51693         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
51694         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
51695         of gl_SAFE_READ.
51696         (Makefile.am): Augment lib_SOURCES.
51698 2011-05-23  Bruno Haible  <bruno@clisp.org>
51700         safe-alloc: Move AC_LIBOBJ invocations to module description.
51701         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
51702         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
51704 2011-05-23  Bruno Haible  <bruno@clisp.org>
51706         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
51707         * m4/rijndael.m4: Remove file.
51708         * modules/crypto/rijndael (Files): Remove it.
51709         (configure.ac): Remove gl_RIJNDAEL call.
51710         (Makefile.am): Augment lib_SOURCES.
51712 2011-05-23  Bruno Haible  <bruno@clisp.org>
51714         readtokens: Move AC_LIBOBJ invocations to module description.
51715         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
51716         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
51718 2011-05-23  Bruno Haible  <bruno@clisp.org>
51720         read-file: Move AC_LIBOBJ invocations to module description.
51721         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
51722         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
51723         of gl_FUNC_READ_FILE.
51724         (Makefile.am): Augment lib_SOURCES.
51726 2011-05-23  Bruno Haible  <bruno@clisp.org>
51728         quotearg: Move AC_LIBOBJ invocations to module description.
51729         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
51730         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
51732 2011-05-23  Bruno Haible  <bruno@clisp.org>
51734         quote: Move AC_LIBOBJ invocations to module description.
51735         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
51736         * modules/quote (Makefile.am): Augment lib_SOURCES.
51738 2011-05-23  Bruno Haible  <bruno@clisp.org>
51740         posixver: Move AC_LIBOBJ invocations to module description.
51741         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
51742         * modules/posixver (Makefile.am): Augment lib_SOURCES.
51744 2011-05-23  Bruno Haible  <bruno@clisp.org>
51746         posixtm: Move AC_LIBOBJ invocations to module description.
51747         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
51748         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
51750 2011-05-23  Bruno Haible  <bruno@clisp.org>
51752         physmem: Move AC_LIBOBJ invocations to module description.
51753         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
51754         * modules/physmem (Makefile.am): Augment lib_SOURCES.
51756 2011-05-23  Bruno Haible  <bruno@clisp.org>
51758         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
51759         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
51760         invocation.
51761         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
51763 2011-05-23  Bruno Haible  <bruno@clisp.org>
51765         mpsort: Move AC_LIBOBJ invocations to module description.
51766         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
51767         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
51769 2011-05-23  Bruno Haible  <bruno@clisp.org>
51771         modechange: Move AC_LIBOBJ invocations to module description.
51772         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
51773         * modules/modechange (Makefile.am): Augment lib_SOURCES.
51775 2011-05-23  Bruno Haible  <bruno@clisp.org>
51777         mkdir-p: Move AC_LIBOBJ invocations to module description.
51778         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
51779         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
51781 2011-05-23  Bruno Haible  <bruno@clisp.org>
51783         mkancesdirs: Move AC_LIBOBJ invocations to module description.
51784         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
51785         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
51787 2011-05-23  Bruno Haible  <bruno@clisp.org>
51789         mgetgroups: Move AC_LIBOBJ invocations to module description.
51790         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
51791         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
51793 2011-05-23  Bruno Haible  <bruno@clisp.org>
51795         memxor: Move AC_LIBOBJ invocations to module description.
51796         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
51797         * modules/memxor (Makefile.am): Augment lib_SOURCES.
51799 2011-05-23  Bruno Haible  <bruno@clisp.org>
51801         memcoll: Move AC_LIBOBJ invocations to module description.
51802         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
51803         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
51805 2011-05-23  Bruno Haible  <bruno@clisp.org>
51807         memcasecmp: Move AC_LIBOBJ invocations to module description.
51808         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
51809         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
51811 2011-05-23  Bruno Haible  <bruno@clisp.org>
51813         crypto/md5: Move AC_LIBOBJ invocations to module description.
51814         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
51815         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
51817 2011-05-23  Bruno Haible  <bruno@clisp.org>
51819         crypto/md4: Move AC_LIBOBJ invocations to module description.
51820         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
51821         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
51823 2011-05-23  Bruno Haible  <bruno@clisp.org>
51825         crypto/md2: Move AC_LIBOBJ invocations to module description.
51826         * m4/md2.m4: Remove file.
51827         * modules/crypto/md2 (Files): Remove it.
51828         (configure.ac): Remove gl_MD2 call.
51829         (Makefile.am): Augment lib_SOURCES.
51831 2011-05-23  Bruno Haible  <bruno@clisp.org>
51833         long-options: Move AC_LIBOBJ invocations to module description.
51834         * m4/long-options.m4: Remove file.
51835         * modules/long-options (Files): Remove it.
51836         (configure.ac): Remove gl_LONG_OPTIONS call.
51837         (Makefile.am): Augment lib_SOURCES.
51839 2011-05-23  Bruno Haible  <bruno@clisp.org>
51841         i-ring: Move AC_LIBOBJ invocations to module description.
51842         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
51843         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
51845 2011-05-23  Bruno Haible  <bruno@clisp.org>
51847         idcache: Move AC_LIBOBJ invocations to module description.
51848         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
51849         * modules/idcache (Makefile.am): Augment lib_SOURCES.
51851 2011-05-23  Bruno Haible  <bruno@clisp.org>
51853         human: Move AC_LIBOBJ invocations to module description.
51854         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
51855         * modules/human (Makefile.am): Augment lib_SOURCES.
51857 2011-05-23  Bruno Haible  <bruno@clisp.org>
51859         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
51860         * m4/hmac-sha1.m4: Remove file.
51861         * modules/crypto/hmac-sha1 (Files): Remove it.
51862         (configure.ac): Remove gl_HMAC_SHA1 call.
51863         (Makefile.am): Augment lib_SOURCES.
51865 2011-05-23  Bruno Haible  <bruno@clisp.org>
51867         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
51868         * m4/hmac-md5.m4: Remove file.
51869         * modules/crypto/hmac-md5 (Files): Remove it.
51870         (configure.ac): Remove gl_HMAC_MD5 call.
51871         (Makefile.am): Augment lib_SOURCES.
51873 2011-05-23  Bruno Haible  <bruno@clisp.org>
51875         hash: Move AC_LIBOBJ invocations to module description.
51876         * m4/hash.m4: Remove file.
51877         * modules/hash (Files): Remove it.
51878         (configure.ac): Remove gl_HASH call.
51879         (Makefile.am): Augment lib_SOURCES.
51881 2011-05-23  Bruno Haible  <bruno@clisp.org>
51883         hard-locale: Move AC_LIBOBJ invocations to module description.
51884         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
51885         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
51887 2011-05-23  Bruno Haible  <bruno@clisp.org>
51889         getugroups: Move AC_LIBOBJ invocations to module description.
51890         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
51891         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
51893 2011-05-23  Bruno Haible  <bruno@clisp.org>
51895         gettime: Move AC_LIBOBJ invocations to module description.
51896         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
51897         * modules/gettime (Makefile.am): Augment lib_SOURCES.
51899 2011-05-23  Bruno Haible  <bruno@clisp.org>
51901         getndelim2: Move AC_LIBOBJ invocations to module description.
51902         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
51903         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
51905 2011-05-23  Bruno Haible  <bruno@clisp.org>
51907         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
51908         * m4/gc-pbkdf2-sha1.m4: Remove file.
51909         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
51910         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
51911         (Makefile.am): Augment lib_SOURCES.
51913 2011-05-23  Bruno Haible  <bruno@clisp.org>
51915         fts: Move AC_LIBOBJ invocations to module description.
51916         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
51917         * modules/fts (configure.ac): ... to here.
51919 2011-05-23  Bruno Haible  <bruno@clisp.org>
51921         file-type: Move AC_LIBOBJ invocations to module description.
51922         * m4/file-type.m4: Remove file.
51923         * modules/file-type (Files): Remove it.
51924         (configure.ac): Remove gl_FILE_TYPE call.
51925         (Makefile.am): Augment lib_SOURCES.
51927 2011-05-23  Bruno Haible  <bruno@clisp.org>
51929         filenamecat*: Respect rules for use of AC_LIBOBJ.
51930         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
51931         Remove AC_LIBOBJ invocation.
51932         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
51933         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
51935 2011-05-23  Bruno Haible  <bruno@clisp.org>
51937         filemode: Move AC_LIBOBJ invocations to module description.
51938         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
51939         * modules/filemode (Makefile.am): Augment lib_SOURCES.
51941 2011-05-23  Bruno Haible  <bruno@clisp.org>
51943         openat-safer: Move AC_LIBOBJ invocations to module description.
51944         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
51945         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
51947 2011-05-23  Bruno Haible  <bruno@clisp.org>
51949         fcntl-safer: Move AC_LIBOBJ invocations to module description.
51950         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
51951         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
51953 2011-05-23  Bruno Haible  <bruno@clisp.org>
51955         exclude: Move AC_LIBOBJ invocations to module description.
51956         * m4/exclude.m4: Remove file.
51957         * modules/exclude (Files): Remove it.
51958         (configure.ac): Remove gl_EXCLUDE call.
51959         (Makefile.am): Augment lib_SOURCES.
51961 2011-05-23  Bruno Haible  <bruno@clisp.org>
51963         dirname*: Respect rules for use of AC_LIBOBJ.
51964         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
51965         invocations.
51966         * modules/dirname (Makefile.am): Augment lib_SOURCES.
51967         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
51969 2011-05-23  Bruno Haible  <bruno@clisp.org>
51971         dirent-safer: Move AC_LIBOBJ invocations to module description.
51972         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
51973         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
51975 2011-05-23  Bruno Haible  <bruno@clisp.org>
51977         crypto/des: Move AC_LIBOBJ invocations to module description.
51978         * m4/des.m4: Remove file.
51979         * modules/crypto/des (Files): Remove it.
51980         (configure.ac): Remove gl_DES call.
51981         (Makefile.am): Augment lib_SOURCES.
51983 2011-05-23  Bruno Haible  <bruno@clisp.org>
51985         cycle-check: Move AC_LIBOBJ invocations to module description.
51986         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
51987         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
51989 2011-05-23  Bruno Haible  <bruno@clisp.org>
51991         c-strtold: Move AC_LIBOBJ invocations to module description.
51992         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
51993         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
51995 2011-05-23  Bruno Haible  <bruno@clisp.org>
51997         c-strtod: Move AC_LIBOBJ invocations to module description.
51998         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
51999         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
52001 2011-05-23  Bruno Haible  <bruno@clisp.org>
52003         crc: Move AC_LIBOBJ invocations to module description.
52004         * m4/crc.m4: Remove file.
52005         * modules/crc (Files): Remove it.
52006         (configure.ac): Remove gl_CRC call.
52007         (Makefile.am): Augment lib_SOURCES.
52009 2011-05-23  Bruno Haible  <bruno@clisp.org>
52011         close-stream: Move AC_LIBOBJ invocations to module description.
52012         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
52013         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
52015 2011-05-23  Bruno Haible  <bruno@clisp.org>
52017         closeout: Move AC_LIBOBJ invocations to module description.
52018         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
52019         * modules/closeout (Makefile.am): Augment lib_SOURCES.
52021 2011-05-23  Bruno Haible  <bruno@clisp.org>
52023         closein: Move AC_LIBOBJ invocations to module description.
52024         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
52025         * modules/closein (Makefile.am): Augment lib_SOURCES.
52027 2011-05-23  Bruno Haible  <bruno@clisp.org>
52029         cloexec: Move AC_LIBOBJ invocations to module description.
52030         * m4/cloexec.m4: Remove file.
52031         * modules/cloexec (Files): Remove it.
52032         (configure.ac): Remove gl_CLOEXEC call.
52033         (Makefile.am): Augment lib_SOURCES.
52035 2011-05-23  Bruno Haible  <bruno@clisp.org>
52037         check-version: Move AC_LIBOBJ invocations to module description.
52038         * m4/check-version.m4: Remove file.
52039         * modules/check-version (Files): Remove it.
52040         (configure.ac): Remove gl_CHECK_VERSION call.
52041         (Makefile.am): Augment lib_SOURCES.
52043 2011-05-23  Bruno Haible  <bruno@clisp.org>
52045         chdir-safer: Move AC_LIBOBJ invocations to module description.
52046         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
52047         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
52049 2011-05-23  Bruno Haible  <bruno@clisp.org>
52051         canonicalize: Move AC_LIBOBJ invocations to module description.
52052         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
52053         AC_LIBOBJ invocation.
52054         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
52056 2011-05-23  Bruno Haible  <bruno@clisp.org>
52058         canon-host: Move AC_LIBOBJ invocations to module description.
52059         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
52060         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
52061         instead of gl_CANON_HOST.
52062         (Makefile.am): Augment lib_SOURCES.
52064 2011-05-23  Bruno Haible  <bruno@clisp.org>
52066         backupfile: Move AC_LIBOBJ invocations to module description.
52067         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
52068         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
52070 2011-05-23  Bruno Haible  <bruno@clisp.org>
52072         argmatch: Move AC_LIBOBJ invocations to module description.
52073         * m4/argmatch.m4: Remove file.
52074         * modules/argmatch (Files): Remove it.
52075         (configure.ac): Remove gl_ARGMATCH call.
52076         (Makefile.am): Augment lib_SOURCES.
52078 2011-05-23  Bruno Haible  <bruno@clisp.org>
52080         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
52081         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
52082         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
52084 2011-05-23  Bruno Haible  <bruno@clisp.org>
52086         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
52087         * m4/arcfour.m4: Remove file.
52088         * modules/crypto/arcfour (Files): Remove it.
52089         (configure.ac): Remove gl_ARCFOUR call.
52090         (Makefile.am): Augment lib_SOURCES.
52092 2011-05-22  Bruno Haible  <bruno@clisp.org>
52094         write: Move AC_LIBOBJ invocations to module description.
52095         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
52096         * modules/write (configure.ac): ... to here.
52098 2011-05-22  Bruno Haible  <bruno@clisp.org>
52100         wmemset: Move AC_LIBOBJ invocations to module description.
52101         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
52102         here...
52103         * modules/wmemset (configure.ac): ... to here.
52105 2011-05-22  Bruno Haible  <bruno@clisp.org>
52107         wmemmove: Move AC_LIBOBJ invocations to module description.
52108         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
52109         here...
52110         * modules/wmemmove (configure.ac): ... to here.
52112 2011-05-22  Bruno Haible  <bruno@clisp.org>
52114         wmemcpy: Move AC_LIBOBJ invocations to module description.
52115         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
52116         here...
52117         * modules/wmemcpy (configure.ac): ... to here.
52119 2011-05-22  Bruno Haible  <bruno@clisp.org>
52121         wmemcmp: Move AC_LIBOBJ invocations to module description.
52122         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
52123         here...
52124         * modules/wmemcmp (configure.ac): ... to here.
52126 2011-05-22  Bruno Haible  <bruno@clisp.org>
52128         wmemchr: Move AC_LIBOBJ invocations to module description.
52129         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
52130         here...
52131         * modules/wmemchr (configure.ac): ... to here.
52133 2011-05-22  Bruno Haible  <bruno@clisp.org>
52135         wcswidth: Move AC_LIBOBJ invocations to module description.
52136         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
52137         here...
52138         * modules/wcswidth (configure.ac): ... to here.
52140 2011-05-22  Bruno Haible  <bruno@clisp.org>
52142         wcwidth: Respect rules for use of AC_LIBOBJ.
52143         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
52144         invocation from here...
52145         * modules/wcwidth (configure.ac): ... to here.
52146         (Depends-on): Update conditions.
52148 2011-05-22  Bruno Haible  <bruno@clisp.org>
52150         wctype: Move AC_LIBOBJ invocations to module description.
52151         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
52152         invocation from here...
52153         * modules/wctype (configure.ac): ... to here.
52154         (Depends-on): Update conditions.
52156 2011-05-22  Bruno Haible  <bruno@clisp.org>
52158         wctrans: Move AC_LIBOBJ invocations to module description.
52159         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
52160         invocation from here...
52161         * modules/wctrans (configure.ac): ... to here.
52163 2011-05-22  Bruno Haible  <bruno@clisp.org>
52165         wctomb: Move AC_LIBOBJ invocations to module description.
52166         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
52167         invocations from here...
52168         * modules/wctomb (configure.ac): ... to here.
52170 2011-05-22  Bruno Haible  <bruno@clisp.org>
52172         wctob: Move AC_LIBOBJ invocations to module description.
52173         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
52174         gl_PREREQ_WCTOB invocations from here...
52175         * modules/wctob (configure.ac): ... to here.
52176         (Depends-on): Update conditions.
52178 2011-05-22  Bruno Haible  <bruno@clisp.org>
52180         wcsxfrm: Move AC_LIBOBJ invocations to module description.
52181         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
52182         here...
52183         * modules/wcsxfrm (configure.ac): ... to here.
52185 2011-05-22  Bruno Haible  <bruno@clisp.org>
52187         wcstok: Move AC_LIBOBJ invocations to module description.
52188         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
52189         * modules/wcstok (configure.ac): ... to here.
52191 2011-05-22  Bruno Haible  <bruno@clisp.org>
52193         wcsstr: Move AC_LIBOBJ invocations to module description.
52194         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
52195         * modules/wcsstr (configure.ac): ... to here.
52197 2011-05-22  Bruno Haible  <bruno@clisp.org>
52199         wcsspn: Move AC_LIBOBJ invocations to module description.
52200         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
52201         * modules/wcsspn (configure.ac): ... to here.
52203 2011-05-22  Bruno Haible  <bruno@clisp.org>
52205         wcsrtombs: Move AC_LIBOBJ invocations to module description.
52206         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
52207         gl_PREREQ_WCSRTOMBS invocations from here...
52208         * modules/wcsrtombs (configure.ac): ... to here.
52210 2011-05-22  Bruno Haible  <bruno@clisp.org>
52212         wcsrchr: Move AC_LIBOBJ invocations to module description.
52213         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
52214         here...
52215         * modules/wcsrchr (configure.ac): ... to here.
52217 2011-05-22  Bruno Haible  <bruno@clisp.org>
52219         wcspbrk: Move AC_LIBOBJ invocations to module description.
52220         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
52221         here...
52222         * modules/wcspbrk (configure.ac): ... to here.
52224 2011-05-22  Bruno Haible  <bruno@clisp.org>
52226         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
52227         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
52228         gl_PREREQ_WCSNRTOMBS invocations from here...
52229         * modules/wcsnrtombs (configure.ac): ... to here.
52231 2011-05-22  Bruno Haible  <bruno@clisp.org>
52233         wcsnlen: Move AC_LIBOBJ invocations to module description.
52234         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
52235         here...
52236         * modules/wcsnlen (configure.ac): ... to here.
52238 2011-05-22  Bruno Haible  <bruno@clisp.org>
52240         wcsncpy: Move AC_LIBOBJ invocations to module description.
52241         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
52242         here...
52243         * modules/wcsncpy (configure.ac): ... to here.
52245 2011-05-22  Bruno Haible  <bruno@clisp.org>
52247         wcsncmp: Move AC_LIBOBJ invocations to module description.
52248         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
52249         here...
52250         * modules/wcsncmp (configure.ac): ... to here.
52252 2011-05-22  Bruno Haible  <bruno@clisp.org>
52254         wcsncat: Move AC_LIBOBJ invocations to module description.
52255         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
52256         here...
52257         * modules/wcsncat (configure.ac): ... to here.
52259 2011-05-22  Bruno Haible  <bruno@clisp.org>
52261         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
52262         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
52263         from here...
52264         * modules/wcsncasecmp (configure.ac): ... to here.
52266 2011-05-22  Bruno Haible  <bruno@clisp.org>
52268         wcslen: Move AC_LIBOBJ invocations to module description.
52269         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
52270         * modules/wcslen (configure.ac): ... to here.
52272 2011-05-22  Bruno Haible  <bruno@clisp.org>
52274         wcsdup: Move AC_LIBOBJ invocations to module description.
52275         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
52276         * modules/wcsdup (configure.ac): ... to here.
52278 2011-05-22  Bruno Haible  <bruno@clisp.org>
52280         wcscspn: Move AC_LIBOBJ invocations to module description.
52281         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
52282         here...
52283         * modules/wcscspn (configure.ac): ... to here.
52285 2011-05-22  Bruno Haible  <bruno@clisp.org>
52287         wcscpy: Move AC_LIBOBJ invocations to module description.
52288         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
52289         * modules/wcscpy (configure.ac): ... to here.
52291 2011-05-22  Bruno Haible  <bruno@clisp.org>
52293         wcscoll: Move AC_LIBOBJ invocations to module description.
52294         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
52295         here...
52296         * modules/wcscoll (configure.ac): ... to here.
52298 2011-05-22  Bruno Haible  <bruno@clisp.org>
52300         wcscmp: Move AC_LIBOBJ invocations to module description.
52301         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
52302         * modules/wcscmp (configure.ac): ... to here.
52304 2011-05-22  Bruno Haible  <bruno@clisp.org>
52306         wcschr: Move AC_LIBOBJ invocations to module description.
52307         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
52308         * modules/wcschr (configure.ac): ... to here.
52310 2011-05-22  Bruno Haible  <bruno@clisp.org>
52312         wcscat: Move AC_LIBOBJ invocations to module description.
52313         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
52314         * modules/wcscat (configure.ac): ... to here.
52316 2011-05-22  Bruno Haible  <bruno@clisp.org>
52318         wcscasecmp: Move AC_LIBOBJ invocations to module description.
52319         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
52320         here...
52321         * modules/wcscasecmp (configure.ac): ... to here.
52323 2011-05-22  Bruno Haible  <bruno@clisp.org>
52325         wcrtomb: Move AC_LIBOBJ invocations to module description.
52326         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
52327         invocations from here...
52328         * modules/wcrtomb (configure.ac): ... to here.
52330 2011-05-22  Bruno Haible  <bruno@clisp.org>
52332         wcpncpy: Move AC_LIBOBJ invocations to module description.
52333         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
52334         here...
52335         * modules/wcpncpy (configure.ac): ... to here.
52337 2011-05-22  Bruno Haible  <bruno@clisp.org>
52339         wcpcpy: Move AC_LIBOBJ invocations to module description.
52340         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
52341         * modules/wcpcpy (configure.ac): ... to here.
52343 2011-05-22  Bruno Haible  <bruno@clisp.org>
52345         waitpid: Move AC_LIBOBJ invocations to module description.
52346         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
52347         invocation from here...
52348         * modules/waitpid (configure.ac): ... to here.
52350 2011-05-22  Bruno Haible  <bruno@clisp.org>
52352         utimensat: Move AC_LIBOBJ invocations to module description.
52353         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
52354         here...
52355         * modules/utimensat (configure.ac): ... to here.
52357 2011-05-22  Bruno Haible  <bruno@clisp.org>
52359         usleep: Move AC_LIBOBJ invocations to module description.
52360         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
52361         here...
52362         * modules/usleep (configure.ac): ... to here.
52364 2011-05-22  Bruno Haible  <bruno@clisp.org>
52366         unlockpt: Move AC_LIBOBJ invocations to module description.
52367         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
52368         gl_PREREQ_UNLOCKPT invocations from here...
52369         * modules/unlockpt (configure.ac): ... to here.
52371 2011-05-22  Bruno Haible  <bruno@clisp.org>
52373         unlink: Respect rules for use of AC_LIBOBJ.
52374         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
52375         * modules/unlink (configure.ac): ... to here.
52377 2011-05-22  Bruno Haible  <bruno@clisp.org>
52379         uname: Move AC_LIBOBJ invocations to module description.
52380         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
52381         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
52382         here...
52383         * modules/uname (configure.ac): ... to here.
52385 2011-05-22  Bruno Haible  <bruno@clisp.org>
52387         ttyname_r: Move AC_LIBOBJ invocations to module description.
52388         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
52389         gl_PREREQ_TTYNAME_R invocations from here...
52390         * modules/ttyname_r (configure.ac): ... to here.
52392 2011-05-22  Bruno Haible  <bruno@clisp.org>
52394         tsearch: Move AC_LIBOBJ invocations to module description.
52395         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
52396         invocations from here...
52397         * modules/tsearch (configure.ac): ... to here.
52399 2011-05-22  Bruno Haible  <bruno@clisp.org>
52401         towctrans: Move AC_LIBOBJ invocations to module description.
52402         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
52403         AC_LIBOBJ invocation from here...
52404         * modules/towctrans (configure.ac): ... to here.
52406 2011-05-22  Bruno Haible  <bruno@clisp.org>
52408         tmpfile: Move AC_LIBOBJ invocations to module description.
52409         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
52410         invocations from here...
52411         * modules/tmpfile (configure.ac): ... to here.
52413 2011-05-22  Bruno Haible  <bruno@clisp.org>
52415         times: Move AC_LIBOBJ invocations to module description.
52416         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
52417         * modules/times (configure.ac): ... to here.
52419 2011-05-22  Bruno Haible  <bruno@clisp.org>
52421         time_r: Move AC_LIBOBJ invocations to module description.
52422         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
52423         invocations from here...
52424         * modules/time_r (configure.ac): ... to here.
52426 2011-05-22  Bruno Haible  <bruno@clisp.org>
52428         timegm: Move AC_LIBOBJ invocations to module description.
52429         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
52430         invocations from here...
52431         * modules/timegm (configure.ac): ... to here.
52433 2011-05-22  Bruno Haible  <bruno@clisp.org>
52435         tcgetsid: Move AC_LIBOBJ invocations to module description.
52436         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
52437         and gl_PREREQ_TCGETSID invocations from here...
52438         * modules/tcgetsid (configure.ac): ... to here.
52439         (Depends-on): Update conditions.
52441 2011-05-22  Bruno Haible  <bruno@clisp.org>
52443         symlinkat: Move AC_LIBOBJ invocations to module description.
52444         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
52445         here...
52446         * modules/symlinkat (configure.ac): ... to here.
52448 2011-05-22  Bruno Haible  <bruno@clisp.org>
52450         symlink: Move AC_LIBOBJ invocations to module description.
52451         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
52452         here...
52453         * modules/symlink (configure.ac): ... to here.
52455 2011-05-22  Bruno Haible  <bruno@clisp.org>
52457         strverscmp: Move AC_LIBOBJ invocations to module description.
52458         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
52459         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
52460         from here...
52461         * modules/strverscmp (configure.ac): ... to here.
52463 2011-05-22  Bruno Haible  <bruno@clisp.org>
52465         strtok_r: Move AC_LIBOBJ invocations to module description.
52466         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
52467         and gl_PREREQ_STRTOK_R invocations from here...
52468         * modules/strtok_r (configure.ac): ... to here.
52469         (Depends-on): Update conditions.
52471 2011-05-22  Bruno Haible  <bruno@clisp.org>
52473         strtoumax: Move AC_LIBOBJ invocations to module description.
52474         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
52475         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
52476         from here...
52477         * modules/strtoumax (configure.ac): ... to here.
52479 2011-05-22  Bruno Haible  <bruno@clisp.org>
52481         strtoimax: Move AC_LIBOBJ invocations to module description.
52482         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
52483         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
52484         from here...
52485         * modules/strtoimax (configure.ac): ... to here.
52487 2011-05-22  Bruno Haible  <bruno@clisp.org>
52489         strtoull: Move AC_LIBOBJ invocations to module description.
52490         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
52491         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
52492         from here...
52493         * modules/strtoull (configure.ac): ... to here.
52495 2011-05-22  Bruno Haible  <bruno@clisp.org>
52497         strtoll: Move AC_LIBOBJ invocations to module description.
52498         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
52499         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
52500         here...
52501         * modules/strtoll (configure.ac): ... to here.
52503 2011-05-22  Bruno Haible  <bruno@clisp.org>
52505         strtoul: Move AC_LIBOBJ invocations to module description.
52506         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
52507         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52508         * modules/strtoul (configure.ac): ... to here.
52510 2011-05-22  Bruno Haible  <bruno@clisp.org>
52512         strtol: Move AC_LIBOBJ invocations to module description.
52513         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
52514         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52515         * modules/strtol (configure.ac): ... to here.
52517 2011-05-22  Bruno Haible  <bruno@clisp.org>
52519         strtod: Move AC_LIBOBJ invocations to module description.
52520         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
52521         invocations from here...
52522         * modules/strtod (configure.ac): ... to here.
52524 2011-05-22  Bruno Haible  <bruno@clisp.org>
52526         strstr*: Move AC_LIBOBJ invocations to module description.
52527         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
52528         invocations from here...
52529         * modules/strstr-simple (configure.ac): ... to here.
52530         * modules/strstr (configure.ac): ... and here.
52532 2011-05-22  Bruno Haible  <bruno@clisp.org>
52534         strsignal: Move AC_LIBOBJ invocations to module description.
52535         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
52536         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
52537         * modules/strsignal (configure.ac): ... to here.
52538         (Depends-on): Update conditions.
52540 2011-05-22  Bruno Haible  <bruno@clisp.org>
52542         strsep: Move AC_LIBOBJ invocations to module description.
52543         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
52544         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
52545         here...
52546         * modules/strsep (configure.ac): ... to here.
52548 2011-05-22  Bruno Haible  <bruno@clisp.org>
52550         strptime: Move AC_LIBOBJ invocations to module description.
52551         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
52552         gl_PREREQ_STRPTIME invocations from here...
52553         * modules/strptime (configure.ac): ... to here.
52555 2011-05-22  Bruno Haible  <bruno@clisp.org>
52557         strpbrk: Move AC_LIBOBJ invocations to module description.
52558         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
52559         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
52560         here...
52561         * modules/strpbrk (configure.ac): ... to here.
52563 2011-05-22  Bruno Haible  <bruno@clisp.org>
52565         strnlen: Move AC_LIBOBJ invocations to module description.
52566         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
52567         invocations from here...
52568         * modules/strnlen (configure.ac): ... to here.
52570 2011-05-22  Bruno Haible  <bruno@clisp.org>
52572         strndup: Move AC_LIBOBJ invocations to module description.
52573         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
52574         invocations from here...
52575         * modules/strndup (configure.ac): ... to here.
52576         (Depends-on): Update conditions.
52578 2011-05-22  Bruno Haible  <bruno@clisp.org>
52580         strncat: Move AC_LIBOBJ invocations to module description.
52581         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
52582         invocations from here...
52583         * modules/strncat (configure.ac): ... to here.
52585 2011-05-22  Bruno Haible  <bruno@clisp.org>
52587         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
52588         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
52589         invocations from here...
52590         * modules/strdup (configure.ac): ... to here.
52591         * modules/strdup-posix (configure.ac): ... and here.
52593 2011-05-22  Bruno Haible  <bruno@clisp.org>
52595         strcspn: Move AC_LIBOBJ invocations to module description.
52596         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
52597         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
52598         here...
52599         * modules/strcspn (configure.ac): ... to here.
52601 2011-05-22  Bruno Haible  <bruno@clisp.org>
52603         strchrnul: Move AC_LIBOBJ invocations to module description.
52604         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
52605         gl_PREREQ_STRCHRNUL invocations from here...
52606         * modules/strchrnul (configure.ac): ... to here.
52608 2011-05-22  Bruno Haible  <bruno@clisp.org>
52610         strcasestr*: Move AC_LIBOBJ invocations to module description.
52611         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
52612         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
52613         * modules/strcasestr-simple (configure.ac): ... to here.
52614         * modules/strcasestr (configure.ac): ... and here.
52616 2011-05-22  Bruno Haible  <bruno@clisp.org>
52618         strcase: Move AC_LIBOBJ invocations to module description.
52619         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
52620         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
52621         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
52622         gl_PREREQ_STRNCASECMP invocations from here...
52623         * modules/strcase (configure.ac): ... to here.
52625 2011-05-22  Bruno Haible  <bruno@clisp.org>
52627         stpncpy: Move AC_LIBOBJ invocations to module description.
52628         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
52629         here...
52630         * modules/stpncpy (configure.ac): ... to here.
52632 2011-05-22  Bruno Haible  <bruno@clisp.org>
52634         stpcpy: Move AC_LIBOBJ invocations to module description.
52635         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
52636         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
52637         here...
52638         * modules/stpcpy (configure.ac): ... to here.
52640 2011-05-21  Bruno Haible  <bruno@clisp.org>
52642         stat: Move AC_LIBOBJ invocations to module description.
52643         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
52644         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
52645         here...
52646         * modules/stat (configure.ac): ... to here.
52648 2011-05-21  Bruno Haible  <bruno@clisp.org>
52650         sleep: Move AC_LIBOBJ invocations to module description.
52651         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
52652         * modules/sleep (configure.ac): ... to here.
52654 2011-05-21  Bruno Haible  <bruno@clisp.org>
52656         signbit: Move AC_LIBOBJ invocations to module description.
52657         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
52658         * modules/signbit (configure.ac): ... to here.
52660 2011-05-21  Bruno Haible  <bruno@clisp.org>
52662         sigprocmask: Move AC_LIBOBJ invocations to module description.
52663         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
52664         gl_PREREQ_SIGPROMASK invocations from here...
52665         * modules/sigprocmask (configure.ac): ... to here.
52667 2011-05-21  Bruno Haible  <bruno@clisp.org>
52669         sigaction: Move AC_LIBOBJ invocations to module description.
52670         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
52671         gl_PREREQ_SIGACTION invocations from here...
52672         * modules/sigaction (configure.ac): ... to here.
52674 2011-05-21  Bruno Haible  <bruno@clisp.org>
52676         sig2str: Move AC_LIBOBJ invocations to module description.
52677         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
52678         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
52679         here...
52680         * modules/sig2str (configure.ac): ... to here.
52682 2011-05-21  Bruno Haible  <bruno@clisp.org>
52684         setlocale: Move AC_LIBOBJ invocations to module description.
52685         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
52686         gl_PREREQ_SETLOCALE invocations from here...
52687         * modules/setlocale (configure.ac): ... to here.
52689 2011-05-21  Bruno Haible  <bruno@clisp.org>
52691         unsetenv: Move AC_LIBOBJ invocations to module description.
52692         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
52693         and gl_PREREQ_UNSETENV invocations from here...
52694         * modules/unsetenv (configure.ac): ... to here.
52695         (Depends-on): Update.
52697 2011-05-21  Bruno Haible  <bruno@clisp.org>
52699         setenv: Move AC_LIBOBJ invocations to module description.
52700         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
52701         here...
52702         * modules/setenv (configure.ac): ... to here.
52704 2011-05-21  Bruno Haible  <bruno@clisp.org>
52706         selinux-h: Move AC_LIBOBJ invocations to module description.
52707         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
52708         AC_LIBOBJ invocation from here...
52709         * modules/selinux-h (configure.ac): ... to here.
52711 2011-05-21  Bruno Haible  <bruno@clisp.org>
52713         select: Respect rules for use of AC_LIBOBJ.
52714         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
52715         here...
52716         * modules/select (configure.ac): ... to here.
52718 2011-05-21  Bruno Haible  <bruno@clisp.org>
52720         scandir: Move AC_LIBOBJ invocations to module description.
52721         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
52722         invocations from here...
52723         * modules/scandir (configure.ac): ... to here.
52725 2011-05-21  Bruno Haible  <bruno@clisp.org>
52727         rpmatch: Move AC_LIBOBJ invocations to module description.
52728         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
52729         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
52730         here...
52731         * modules/rpmatch (configure.ac): ... to here.
52733 2011-05-21  Bruno Haible  <bruno@clisp.org>
52735         rmdir: Respect rules for use of AC_LIBOBJ.
52736         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
52737         * modules/rmdir (configure.ac): ... to here.
52739 2011-05-21  Bruno Haible  <bruno@clisp.org>
52741         renameat: Move AC_LIBOBJ invocations to module description.
52742         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
52743         here...
52744         * modules/renameat (configure.ac): ... to here.
52746 2011-05-21  Bruno Haible  <bruno@clisp.org>
52748         rename: Respect rules for use of AC_LIBOBJ.
52749         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
52750         here...
52751         * modules/rename (configure.ac): ... to here.
52753 2011-05-21  Bruno Haible  <bruno@clisp.org>
52755         remove: Move AC_LIBOBJ invocations to module description.
52756         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
52757         here...
52758         * modules/remove (configure.ac): ... to here.
52760 2011-05-21  Bruno Haible  <bruno@clisp.org>
52762         relocatable-lib: Move AC_LIBOBJ invocations to module description.
52763         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
52764         macro.
52765         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
52766         * modules/relocatable-lib (configure.ac): ... to here.
52767         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52768         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
52770 2011-05-21  Bruno Haible  <bruno@clisp.org>
52772         relocatable-prog: Move AC_LIBOBJ invocations to module description.
52773         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
52774         here...
52775         * modules/relocatable-prog (configure.ac): ... to here.
52777 2011-05-21  Bruno Haible  <bruno@clisp.org>
52779         regex: Move AC_LIBOBJ invocations to module description.
52780         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
52781         invocations from here...
52782         * modules/regex (configure.ac): ... to here.
52784 2011-05-21  Bruno Haible  <bruno@clisp.org>
52786         realloc-*: Move AC_LIBOBJ invocations to module description.
52787         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
52788         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
52789         AC_LIBOBJ invocations from here...
52790         * modules/realloc-gnu (configure.ac): ... to here.
52791         * modules/realloc-posix (configure.ac): ... and here.
52793 2011-05-21  Bruno Haible  <bruno@clisp.org>
52795         readutmp: Move AC_LIBOBJ invocations to module description.
52796         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
52797         * modules/readutmp (configure.ac): ... to here.
52799 2011-05-21  Bruno Haible  <bruno@clisp.org>
52801         readlinkat: Move AC_LIBOBJ invocations to module description.
52802         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
52803         here...
52804         * modules/readlinkat (configure.ac): ... to here.
52806 2011-05-21  Bruno Haible  <bruno@clisp.org>
52808         readlink: Move AC_LIBOBJ invocations to module description.
52809         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
52810         gl_PREREQ_READLINK invocations from here...
52811         * modules/readlink (configure.ac): ... to here.
52813 2011-05-21  Bruno Haible  <bruno@clisp.org>
52815         readline: Move AC_LIBOBJ invocations to module description.
52816         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
52817         gl_PREREQ_READLINE invocations from here...
52818         * modules/readline (configure.ac): ... to here.
52820 2011-05-21  Bruno Haible  <bruno@clisp.org>
52822         read: Move AC_LIBOBJ invocations to module description.
52823         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
52824         * modules/read (configure.ac): ... to here.
52826 2011-05-21  Bruno Haible  <bruno@clisp.org>
52828         rawmemchr: Move AC_LIBOBJ invocations to module description.
52829         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
52830         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
52831         from here...
52832         * modules/rawmemchr (configure.ac): ... to here.
52834 2011-05-21  Bruno Haible  <bruno@clisp.org>
52836         random_r: Move AC_LIBOBJ invocations to module description.
52837         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
52838         gl_PREREQ_RANDOM_R invocations from here...
52839         * modules/random_r (configure.ac): ... to here.
52841 2011-05-21  Bruno Haible  <bruno@clisp.org>
52843         pwrite: Move AC_LIBOBJ invocations to module description.
52844         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
52845         * modules/pwrite (configure.ac): ... to here.
52847 2011-05-21  Bruno Haible  <bruno@clisp.org>
52849         putenv: Move AC_LIBOBJ invocations to module description.
52850         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
52851         * modules/putenv (configure.ac): ... to here.
52853 2011-05-21  Bruno Haible  <bruno@clisp.org>
52855         login_tty: Move AC_LIBOBJ invocations to module description.
52856         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
52857         * modules/login_tty (configure.ac): ... to here.
52859 2011-05-21  Bruno Haible  <bruno@clisp.org>
52861         openpty: Move AC_LIBOBJ invocations to module description.
52862         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
52863         * modules/openpty (configure.ac): ... to here.
52865 2011-05-21  Bruno Haible  <bruno@clisp.org>
52867         forkpty: Move AC_LIBOBJ invocations to module description.
52868         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
52869         * modules/forkpty (configure.ac): ... to here.
52871 2011-05-21  Bruno Haible  <bruno@clisp.org>
52873         ptsname: Move AC_LIBOBJ invocations to module description.
52874         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
52875         invocations from here...
52876         * modules/ptsname (configure.ac): ... to here.
52878 2011-05-21  Bruno Haible  <bruno@clisp.org>
52880         pread: Move AC_LIBOBJ invocations to module description.
52881         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
52882         * modules/pread (configure.ac): ... to here.
52884 2011-05-21  Bruno Haible  <bruno@clisp.org>
52886         posix_spawn*: Move AC_LIBOBJ invocations to module description.
52887         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
52888         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
52889         * modules/posix_spawn (configure.ac): ... to here.
52890         * modules/posix_spawnp (configure.ac): ... and here.
52892 2011-05-21  Bruno Haible  <bruno@clisp.org>
52894         popen: Move AC_LIBOBJ invocations to module description.
52895         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
52896         invocations from here...
52897         * modules/popen (configure.ac): ... to here.
52899 2011-05-21  Bruno Haible  <bruno@clisp.org>
52901         poll: Move AC_LIBOBJ invocations to module description.
52902         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
52903         invocations from here...
52904         * modules/poll (configure.ac): ... to here.
52906 2011-05-21  Bruno Haible  <bruno@clisp.org>
52908         pipe-posix: Move AC_LIBOBJ invocations to module description.
52909         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
52910         * modules/pipe-posix (configure.ac): ... to here.
52912 2011-05-21  Bruno Haible  <bruno@clisp.org>
52914         openat: Respect rules for use of AC_LIBOBJ.
52915         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
52916         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52917         * modules/openat (configure.ac): ... to here.
52919 2011-05-21  Bruno Haible  <bruno@clisp.org>
52921         obstack-printf*: Move AC_LIBOBJ invocations to module description.
52922         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
52923         invocation from here...
52924         * modules/obstack-printf (configure.ac): ... to here.
52925         * modules/obstack-printf-posix (configure.ac): ... and here.
52927 2011-05-21  Bruno Haible  <bruno@clisp.org>
52929         nl_langinfo: Move AC_LIBOBJ invocations to module description.
52930         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
52931         from here...
52932         * modules/nl_langinfo (configure.ac): ... to here.
52934 2011-05-21  Bruno Haible  <bruno@clisp.org>
52936         nanosleep: Move AC_LIBOBJ invocations to module description.
52937         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
52938         gl_PREREQ_NANOSLEEP invocations from here...
52939         * modules/nanosleep (configure.ac): ... to here.
52941 2011-05-21  Bruno Haible  <bruno@clisp.org>
52943         mountlist: Move AC_LIBOBJ invocations to module description.
52944         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
52945         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
52946         * modules/mountlist (configure.ac): ... to here.
52948 2011-05-21  Bruno Haible  <bruno@clisp.org>
52950         mktime: Respect rules for use of AC_LIBOBJ.
52951         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
52952         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
52953         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
52954         (gl_FUNC_MKTIME_INTERNAL): ... and here...
52955         * modules/mktime (configure.ac): ... to here.
52956         * modules/mktime-internal (configure.ac): ... and here.
52957         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
52959 2011-05-21  Bruno Haible  <bruno@clisp.org>
52961         mkstemps: Move AC_LIBOBJ invocations to module description.
52962         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
52963         here...
52964         * modules/mkstemps (configure.ac): ... to here.
52966 2011-05-21  Bruno Haible  <bruno@clisp.org>
52968         mkstemp: Move AC_LIBOBJ invocations to module description.
52969         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
52970         gl_PREREQ_MKSTEMP invocations from here...
52971         * modules/mkstemp (configure.ac): ... to here.
52973 2011-05-21  Bruno Haible  <bruno@clisp.org>
52975         mkostemps: Move AC_LIBOBJ invocations to module description.
52976         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
52977         here...
52978         * modules/mkostemps (configure.ac): ... to here.
52980 2011-05-21  Bruno Haible  <bruno@clisp.org>
52982         mkostemp: Move AC_LIBOBJ invocations to module description.
52983         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
52984         gl_PREREQ_MKOSTEMP invocations from here...
52985         * modules/mkostemp (configure.ac): ... to here.
52987 2011-05-21  Bruno Haible  <bruno@clisp.org>
52989         mknod: Move AC_LIBOBJ invocations to module description.
52990         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
52991         * modules/mknod (configure.ac): ... to here.
52993 2011-05-21  Bruno Haible  <bruno@clisp.org>
52995         mkfifoat: Move AC_LIBOBJ invocations to module description.
52996         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
52997         here...
52998         * modules/mkfifoat (configure.ac): ... to here.
53000 2011-05-21  Bruno Haible  <bruno@clisp.org>
53002         mkfifo: Respect rules for use of AC_LIBOBJ.
53003         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
53004         here...
53005         * modules/mkfifo (configure.ac): ... to here.
53007 2011-05-21  Bruno Haible  <bruno@clisp.org>
53009         mkdtemp: Move AC_LIBOBJ invocations to module description.
53010         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
53011         invocations from here...
53012         * modules/mkdtemp (configure.ac): ... to here.
53014 2011-05-21  Bruno Haible  <bruno@clisp.org>
53016         mkdir: Move AC_LIBOBJ invocations to module description.
53017         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
53018         * modules/mkdir (configure.ac): ... to here.
53020 2011-05-21  Bruno Haible  <bruno@clisp.org>
53022         memset: Move AC_LIBOBJ invocations to module description.
53023         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
53024         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
53025         here...
53026         * modules/memset (configure.ac): ... to here.
53028 2011-05-21  Bruno Haible  <bruno@clisp.org>
53030         memrchr: Move AC_LIBOBJ invocations to module description.
53031         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
53032         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
53033         here...
53034         * modules/memrchr (configure.ac): ... to here.
53036 2011-05-21  Bruno Haible  <bruno@clisp.org>
53038         mempcpy: Move AC_LIBOBJ invocations to module description.
53039         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
53040         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
53041         here...
53042         * modules/mempcpy (configure.ac): ... to here.
53044 2011-05-21  Bruno Haible  <bruno@clisp.org>
53046         memmove: Move AC_LIBOBJ invocations to module description.
53047         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
53048         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
53049         here...
53050         * modules/memmove (configure.ac): ... to here.
53052 2011-05-21  Bruno Haible  <bruno@clisp.org>
53054         memmem*: Move AC_LIBOBJ invocations to module description.
53055         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
53056         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
53057         here...
53058         (gl_FUNC_MEMMEM): ... and here...
53059         * modules/memmem-simple (configure.ac): ... to here.
53060         * modules/memmem (configure.ac): ... and here.
53062 2011-05-21  Bruno Haible  <bruno@clisp.org>
53064         memcpy: Move AC_LIBOBJ invocations to module description.
53065         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
53066         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
53067         here...
53068         * modules/memcpy (configure.ac): ... to here.
53070 2011-05-21  Bruno Haible  <bruno@clisp.org>
53072         memcmp: Simplify autoconf macro.
53073         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
53074         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
53075         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
53077 2011-05-21  Bruno Haible  <bruno@clisp.org>
53079         memcmp: Move AC_LIBOBJ invocations to module description.
53080         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
53081         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
53082         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
53083         * modules/memcmp (configure.ac): ... to here.
53084         (Depends-on): Update conditions.
53086 2011-05-21  Bruno Haible  <bruno@clisp.org>
53088         memchr: Respect rules for use of AC_LIBOBJ.
53089         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
53090         invocations from here...
53091         * modules/memchr (configure.ac): ... to here.
53093 2011-05-21  Bruno Haible  <bruno@clisp.org>
53095         mbtowc: Move AC_LIBOBJ invocations to module description.
53096         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
53097         invocations from here...
53098         * modules/mbtowc (configure.ac): ... to here.
53100 2011-05-21  Bruno Haible  <bruno@clisp.org>
53102         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
53103         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
53104         gl_PREREQ_MBSRTOWCS invocations from here...
53105         * modules/mbsrtowcs (configure.ac): ... to here.
53107 2011-05-21  Bruno Haible  <bruno@clisp.org>
53109         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
53110         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
53111         gl_PREREQ_MBSNRTOWCS invocations from here...
53112         * modules/mbsnrtowcs (configure.ac): ... to here.
53114 2011-05-21  Bruno Haible  <bruno@clisp.org>
53116         mbsinit: Move AC_LIBOBJ invocations to module description.
53117         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
53118         invocations from here...
53119         * modules/mbsinit (configure.ac): ... to here.
53121 2011-05-21  Bruno Haible  <bruno@clisp.org>
53123         mbrlen: Move AC_LIBOBJ invocations to module description.
53124         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
53125         invocations from here...
53126         * modules/mbrlen (configure.ac): ... to here.
53128 2011-05-21  Bruno Haible  <bruno@clisp.org>
53130         mbrtowc: Respect rules for use of AC_LIBOBJ.
53131         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
53132         invocations from here...
53133         * modules/mbrtowc (configure.ac): ... to here.
53135 2011-05-21  Bruno Haible  <bruno@clisp.org>
53137         malloc-*: Move AC_LIBOBJ invocations to module description.
53138         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
53139         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
53140         AC_LIBOBJ invocations from here...
53141         * modules/malloc-gnu (configure.ac): ... to here.
53142         * modules/malloc-posix (configure.ac): ... and here.
53144 2011-05-21  Bruno Haible  <bruno@clisp.org>
53146         lstat, openat: Respect rules for use of AC_LIBOBJ.
53147         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
53148         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
53149         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
53150         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
53151         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
53152         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
53153         here.
53154         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
53156 2011-05-21  Bruno Haible  <bruno@clisp.org>
53158         lseek: Move AC_LIBOBJ invocations to module description.
53159         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
53160         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53161         * modules/lseek (configure.ac): ... to here.
53163 2011-05-21  Bruno Haible  <bruno@clisp.org>
53165         linkat: Move AC_LIBOBJ invocations to module description.
53166         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
53167         here...
53168         * modules/linkat (configure.ac): ... to here.
53170 2011-05-21  Bruno Haible  <bruno@clisp.org>
53172         link: Respect rules for use of AC_LIBOBJ.
53173         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
53174         * modules/link (configure.ac): ... to here.
53176 2011-05-21  Bruno Haible  <bruno@clisp.org>
53178         lchown: Move AC_LIBOBJ invocations to module description.
53179         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53180         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53181         * modules/lchown (configure.ac): ... to here.
53183 2011-05-21  Bruno Haible  <bruno@clisp.org>
53185         iswctype: Move AC_LIBOBJ invocations to module description.
53186         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
53187         here...
53188         * modules/iswctype (configure.ac): ... to here.
53190 2011-05-21  Bruno Haible  <bruno@clisp.org>
53192         iswblank: Move AC_LIBOBJ invocations to module description.
53193         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
53194         here...
53195         * modules/iswblank (configure.ac): ... to here.
53197 2011-05-21  Bruno Haible  <bruno@clisp.org>
53199         atanl: Move AC_LIBOBJ invocations to module description.
53200         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
53201         * modules/atanl (configure.ac): ... to here.
53203 2011-05-21  Bruno Haible  <bruno@clisp.org>
53205         acosl: Move AC_LIBOBJ invocations to module description.
53206         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
53207         * modules/acosl (configure.ac): ... to here.
53209 2011-05-21  Bruno Haible  <bruno@clisp.org>
53211         asinl: Respect rules for use of AC_LIBOBJ.
53212         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
53213         * modules/asinl (configure.ac): ... to here.
53215 2011-05-21  Bruno Haible  <bruno@clisp.org>
53217         tanl: Move AC_LIBOBJ invocations to module description.
53218         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
53219         * modules/tanl (configure.ac): ... to here.
53221 2011-05-21  Bruno Haible  <bruno@clisp.org>
53223         cosl: Move AC_LIBOBJ invocations to module description.
53224         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
53225         * modules/cosl (configure.ac): ... to here.
53227 2011-05-21  Bruno Haible  <bruno@clisp.org>
53229         sinl: Move AC_LIBOBJ invocations to module description.
53230         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
53231         * modules/sinl (configure.ac): ... to here.
53233 2011-05-21  Bruno Haible  <bruno@clisp.org>
53235         logl: Move AC_LIBOBJ invocations to module description.
53236         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
53237         * modules/logl (configure.ac): ... to here.
53239 2011-05-21  Bruno Haible  <bruno@clisp.org>
53241         expl: Move AC_LIBOBJ invocations to module description.
53242         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
53243         * modules/expl (configure.ac): ... to here.
53245 2011-05-21  Bruno Haible  <bruno@clisp.org>
53247         roundl: Move AC_LIBOBJ invocations to module description.
53248         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
53249         * modules/roundl (configure.ac): ... to here.
53251 2011-05-21  Bruno Haible  <bruno@clisp.org>
53253         round: Move AC_LIBOBJ invocations to module description.
53254         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
53255         * modules/round (configure.ac): ... to here.
53257 2011-05-21  Bruno Haible  <bruno@clisp.org>
53259         roundf: Move AC_LIBOBJ invocations to module description.
53260         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
53261         * modules/roundf (configure.ac): ... to here.
53263 2011-05-21  Bruno Haible  <bruno@clisp.org>
53265         truncl: Move AC_LIBOBJ invocations to module description.
53266         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
53267         * modules/truncl (configure.ac): ... to here.
53269 2011-05-21  Bruno Haible  <bruno@clisp.org>
53271         trunc: Move AC_LIBOBJ invocations to module description.
53272         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
53273         * modules/trunc (configure.ac): ... to here.
53275 2011-05-21  Bruno Haible  <bruno@clisp.org>
53277         truncf: Move AC_LIBOBJ invocations to module description.
53278         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
53279         * modules/truncf (configure.ac): ... to here.
53281 2011-05-21  Bruno Haible  <bruno@clisp.org>
53283         ceill: Move AC_LIBOBJ invocations to module description.
53284         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
53285         * modules/ceill (configure.ac): ... to here.
53287 2011-05-21  Bruno Haible  <bruno@clisp.org>
53289         ceil: Move AC_LIBOBJ invocations to module description.
53290         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
53291         * modules/ceil (configure.ac): ... to here.
53293 2011-05-21  Bruno Haible  <bruno@clisp.org>
53295         ceilf: Move AC_LIBOBJ invocations to module description.
53296         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
53297         * modules/ceilf (configure.ac): ... to here.
53299 2011-05-21  Bruno Haible  <bruno@clisp.org>
53301         floorl: Respect rules for use of AC_LIBOBJ.
53302         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
53303         * modules/floorl (configure.ac): ... to here.
53305 2011-05-21  Bruno Haible  <bruno@clisp.org>
53307         floor: Respect rules for use of AC_LIBOBJ.
53308         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
53309         * modules/floor (configure.ac): ... to here.
53311 2011-05-21  Bruno Haible  <bruno@clisp.org>
53313         floorf: Move AC_LIBOBJ invocations to module description.
53314         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
53315         * modules/floorf (configure.ac): ... to here.
53317 2011-05-20  Bruno Haible  <bruno@clisp.org>
53319         sqrtl: Respect rules for use of AC_LIBOBJ.
53320         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
53321         * modules/sqrtl (configure.ac): ... to here.
53323 2011-05-20  Bruno Haible  <bruno@clisp.org>
53325         ldexpl: Respect rules for use of AC_LIBOBJ.
53326         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
53327         * modules/ldexpl (configure.ac): ... to here.
53329 2011-05-20  Bruno Haible  <bruno@clisp.org>
53331         frexpl*: Respect rules for use of AC_LIBOBJ.
53332         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
53333         invocation from here...
53334         * modules/frexpl (configure.ac): ... to here.
53335         * modules/frexpl-nolibm (configure.ac): ... and here.
53337 2011-05-20  Bruno Haible  <bruno@clisp.org>
53339         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
53340         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
53341         invocation from here...
53342         * modules/frexp (configure.ac): ... to here.
53343         * modules/frexp-nolibm (configure.ac): ... and here.
53345 2011-05-20  Bruno Haible  <bruno@clisp.org>
53347         isnan: Respect rules for use of AC_LIBOBJ.
53348         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
53349         invocations here.
53350         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
53351         REPLACE_ISNAN.
53352         * modules/isnand (configure.ac): Likewise.
53353         * modules/isnanl (configure.ac): Likewise.
53355 2011-05-20  Bruno Haible  <bruno@clisp.org>
53357         isnanl*: Respect rules for use of AC_LIBOBJ.
53358         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
53359         invocation from here...
53360         * modules/isnanl (configure.ac): ... to here.
53361         * modules/isnanl-nolibm (configure.ac): ... and here.
53363 2011-05-20  Bruno Haible  <bruno@clisp.org>
53365         isnand*: Move AC_LIBOBJ invocations to module description.
53366         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
53367         invocation from here...
53368         * modules/isnand (configure.ac): ... to here.
53369         * modules/isnand-nolibm (configure.ac): ... and here.
53371 2011-05-20  Bruno Haible  <bruno@clisp.org>
53373         isnanf*: Move AC_LIBOBJ invocations to module description.
53374         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
53375         invocation from here...
53376         * modules/isnanf (configure.ac): ... to here.
53377         * modules/isnanf-nolibm (configure.ac): ... and here.
53379 2011-05-20  Bruno Haible  <bruno@clisp.org>
53381         isnan*: Separate the AC_LIBOBJ invocations.
53382         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
53383         AC_LIBOBJ invocation.
53384         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
53385         here.
53386         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
53387         AC_LIBOBJ invocation.
53388         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
53389         here.
53390         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
53391         AC_LIBOBJ invocation.
53392         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
53393         here.
53394         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
53396 2011-05-08  Bruno Haible  <bruno@clisp.org>
53398         isinf: Move AC_LIBOBJ invocations to module description.
53399         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
53400         * modules/isinf (configure.ac): ... to here.
53402 2011-05-08  Bruno Haible  <bruno@clisp.org>
53404         isfinite: Move AC_LIBOBJ invocations to module description.
53405         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
53406         * modules/isfinite (configure.ac): ... to here.
53408 2011-05-08  Bruno Haible  <bruno@clisp.org>
53410         isblank: Move AC_LIBOBJ invocations to module description.
53411         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
53412         here...
53413         * modules/isblank (configure.ac): ... to here.
53415 2011-05-08  Bruno Haible  <bruno@clisp.org>
53417         isapipe: Move AC_LIBOBJ invocations to module description.
53418         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
53419         gl_PREREQ_ISAPIPE invocations from here...
53420         * modules/isapipe (configure.ac): ... to here.
53421         (Depends-on): Update condition.
53423 2011-05-08  Bruno Haible  <bruno@clisp.org>
53425         ioctl: Move AC_LIBOBJ invocations to module description.
53426         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
53427         invocations from here...
53428         * modules/ioctl (configure.ac): ... to here.
53429         (Depends-on): Update condition.
53431 2011-05-08  Bruno Haible  <bruno@clisp.org>
53433         imaxdiv: Move AC_LIBOBJ invocations to module description.
53434         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
53435         invocations from here...
53436         * modules/imaxdiv (configure.ac): ... to here.
53438 2011-05-08  Bruno Haible  <bruno@clisp.org>
53440         imaxabs: Move AC_LIBOBJ invocations to module description.
53441         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
53442         invocations from here...
53443         * modules/imaxabs (configure.ac): ... to here.
53445 2011-05-08  Bruno Haible  <bruno@clisp.org>
53447         getaddrinfo: Move AC_LIBOBJ invocations to module description.
53448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
53449         AC_LIBOBJ invocations from here...
53450         * modules/getaddrinfo (configure.ac): ... to here.
53451         (Depends-on): Add conditions.
53453 2011-05-08  Bruno Haible  <bruno@clisp.org>
53455         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53456         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
53457         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53458         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
53459         (gl_PREREQ_INET_PTON): ... from here.
53460         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
53461         gl_PREREQ_INET_PTON here.
53462         (Depends-on): Update condition.
53464 2011-05-08  Bruno Haible  <bruno@clisp.org>
53466         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53467         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
53468         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53469         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
53470         (gl_PREREQ_INET_NTOP): ... from here.
53471         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
53472         gl_PREREQ_INET_NTOP here.
53473         (Depends-on): Update condition.
53475 2011-05-08  Bruno Haible  <bruno@clisp.org>
53477         iconv_open: Move AC_LIBOBJ invocations to module description.
53478         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
53479         AC_LIBOBJ invocations from here...
53480         * modules/iconv_open (configure.ac): ... to here.
53482 2011-05-08  Bruno Haible  <bruno@clisp.org>
53484         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
53485         If module 'iconv_open' is among the main modules and module
53486         'iconv_open-utf' is among the tests dependencies, then
53487         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
53488         return the special iconv_t values. Therefore iconv() and iconv_close()
53489         must support these special iconv_t values, already in lib, not only in
53490         tests.
53491         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
53492         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
53493         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
53494         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
53495         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
53496         (Depends-on): Add the dependencies of iconv_open-utf.
53497         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
53498         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
53499         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
53501 2011-05-08  Bruno Haible  <bruno@clisp.org>
53503         group-member: Move AC_LIBOBJ invocations to module description.
53504         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
53505         gl_PREREQ_GROUP_MEMBER invocations from here...
53506         * modules/group-member (configure.ac): ... to here.
53508 2011-05-08  Bruno Haible  <bruno@clisp.org>
53510         grantpt: Move AC_LIBOBJ invocations to module description.
53511         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
53512         invocations from here...
53513         * modules/grantpt (configure.ac): ... to here.
53515 2011-05-08  Bruno Haible  <bruno@clisp.org>
53517         glob: Move AC_LIBOBJ invocations to module description.
53518         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
53519         from here...
53520         * modules/glob (configure.ac): ... to here.
53522 2011-05-08  Bruno Haible  <bruno@clisp.org>
53524         getusershell: Move AC_LIBOBJ invocations to module description.
53525         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
53526         Move AC_LIBOBJ invocation from here...
53527         * modules/getusershell (configure.ac): ... to here.
53528         (Depends-on): Update condition.
53530 2011-05-08  Bruno Haible  <bruno@clisp.org>
53532         gettimeofday: Move AC_LIBOBJ invocations to module description.
53533         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53534         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
53535         gl_PREREQ_GETTIMEOFDAY invocations from here...
53536         * modules/gettimeofday (configure.ac): ... to here.
53538 2011-05-08  Bruno Haible  <bruno@clisp.org>
53540         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
53541         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
53542         just gl_FUNC_TZSET.
53543         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
53544         (gl_FUNC_TZSET_CLOBBER): Remove actions.
53545         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
53546         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
53548 2011-05-08  Bruno Haible  <bruno@clisp.org>
53550         getsubopt: Move AC_LIBOBJ invocations to module description.
53551         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
53552         gl_PREREQ_GETSUBOPT invocations from here...
53553         * modules/getsubopt (configure.ac): ... to here.
53555 2011-05-08  Bruno Haible  <bruno@clisp.org>
53557         getpass-gnu: Move AC_LIBOBJ invocations to module description.
53558         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
53559         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
53560         * modules/getpass-gnu (configure.ac): ... to here.
53562 2011-05-08  Bruno Haible  <bruno@clisp.org>
53564         getpass: Move AC_LIBOBJ invocations to module description.
53565         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
53566         gl_PREREQ_GETPASS invocations from here...
53567         * modules/getpass (configure.ac): ... to here.
53569 2011-05-08  Bruno Haible  <bruno@clisp.org>
53571         getpagesize: Move AC_LIBOBJ invocations to module description.
53572         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
53573         from here...
53574         * modules/getpagesize (configure.ac): ... to here.
53576 2011-05-08  Bruno Haible  <bruno@clisp.org>
53578         getopt: Move AC_LIBOBJ invocations to module description.
53579         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
53580         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
53581         invocations from here...
53582         * modules/getopt-gnu (configure.ac): ... to here.
53583         * modules/getopt-posix (configure.ac): ... and here.
53584         (Depends-on): Update condition.
53586 2011-05-08  Bruno Haible  <bruno@clisp.org>
53588         getopt, argp: Respect rules for use of AC_LIBOBJ.
53589         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
53590         (gl_REPLACE_GETOPT_ALWAYS): New macro.
53591         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
53592         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
53594 2011-05-08  Bruno Haible  <bruno@clisp.org>
53596         getlogin_r: Move AC_LIBOBJ invocations to module description.
53597         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
53598         gl_PREREQ_GETLOGIN_R invocations from here...
53599         * modules/getlogin_r (configure.ac): ... to here.
53601 2011-05-08  Bruno Haible  <bruno@clisp.org>
53603         getlogin: Move AC_LIBOBJ invocations to module description.
53604         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
53605         here...
53606         * modules/getlogin (configure.ac): ... to here.
53608 2011-05-08  Bruno Haible  <bruno@clisp.org>
53610         getloadavg: Move AC_LIBOBJ invocations to module description.
53611         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
53612         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
53613         * modules/getloadavg (configure.ac): ... to here.
53615 2011-05-08  Bruno Haible  <bruno@clisp.org>
53617         gethrxtime: Move AC_LIBOBJ invocations to module description.
53618         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
53619         LIB_GETHRXTIME from here...
53620         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
53621         invocations from here...
53622         * modules/gethrxtime (configure.ac): ... to here.
53624 2011-05-08  Bruno Haible  <bruno@clisp.org>
53626         gethostname: Move AC_LIBOBJ invocations to module description.
53627         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
53628         gl_PREREQ_GETHOSTNAME invocations from here...
53629         * modules/gethostname (configure.ac): ... to here.
53631 2011-05-08  Bruno Haible  <bruno@clisp.org>
53633         getgroups: Move AC_LIBOBJ invocations to module description.
53634         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
53635         here...
53636         * modules/getgroups (configure.ac): ... to here.
53638 2011-05-08  Bruno Haible  <bruno@clisp.org>
53640         getdtablesize: Move AC_LIBOBJ invocations to module description.
53641         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
53642         invocation from here...
53643         * modules/getdtablesize (configure.ac): ... to here.
53645 2011-05-08  Bruno Haible  <bruno@clisp.org>
53647         getdomainname: Move AC_LIBOBJ invocations to module description.
53648         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
53649         gl_PREREQ_GETDOMAINNAME invocations from here...
53650         * modules/getdomainname (configure.ac): ... to here.
53652 2011-05-08  Bruno Haible  <bruno@clisp.org>
53654         getline: Move AC_LIBOBJ invocations to module description.
53655         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
53656         invocations from here...
53657         * modules/getline (configure.ac): ... to here.
53659 2011-05-08  Bruno Haible  <bruno@clisp.org>
53661         getline: Simplify.
53662         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
53663         It's already handled through the module dependency.
53665 2011-05-08  Bruno Haible  <bruno@clisp.org>
53667         getdelim: Move AC_LIBOBJ invocations to module description.
53668         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
53669         and gl_PREREQ_GETDELIM invocations from here...
53670         * modules/getdelim (configure.ac): ... to here.
53671         (Depends-on): Fix condition.
53673 2011-05-08  Bruno Haible  <bruno@clisp.org>
53675         getcwd: Move AC_LIBOBJ invocations to module description.
53676         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
53677         invocations from here...
53678         * modules/getcwd (configure.ac): ... to here.
53680 2011-05-08  Bruno Haible  <bruno@clisp.org>
53682         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
53683         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
53684         here...
53685         * modules/getcwd-lgpl (configure.ac): ... to here.
53687 2011-05-07  Bruno Haible  <bruno@clisp.org>
53689         crypto/gc: Move AC_LIBOBJ invocations to module description.
53690         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
53691         * modules/crypto/gc (configure.ac): ... to here.
53693 2011-05-07  Bruno Haible  <bruno@clisp.org>
53695         fwriting: Move AC_LIBOBJ invocations to module description.
53696         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
53697         here...
53698         * modules/fwriting (configure.ac): ... to here.
53700 2011-05-07  Bruno Haible  <bruno@clisp.org>
53702         fwritable: Move AC_LIBOBJ invocations to module description.
53703         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
53704         here...
53705         * modules/fwritable (configure.ac): ... to here.
53707 2011-05-07  Bruno Haible  <bruno@clisp.org>
53709         futimens: Move AC_LIBOBJ invocations to module description.
53710         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
53711         here...
53712         * modules/futimens (configure.ac): ... to here.
53714 2011-05-07  Bruno Haible  <bruno@clisp.org>
53716         ftruncate: Move AC_LIBOBJ invocations to module description.
53717         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
53718         gl_PREREQ_FTRUNCATE invocations from here...
53719         * modules/ftruncate (configure.ac): ... to here.
53721 2011-05-07  Bruno Haible  <bruno@clisp.org>
53723         fsync: Move AC_LIBOBJ invocations to module description.
53724         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
53725         invocations from here...
53726         * modules/fsync (configure.ac): ... to here.
53728 2011-05-07  Bruno Haible  <bruno@clisp.org>
53730         fsusage: Move AC_LIBOBJ invocations to module description.
53731         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
53732         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
53733         * modules/fsusage (configure.ac): ... to here.
53735 2011-05-07  Bruno Haible  <bruno@clisp.org>
53737         freopen: Move AC_LIBOBJ invocations to module description.
53738         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
53739         invocations from here...
53740         * modules/freopen (configure.ac): ... to here.
53742 2011-05-07  Bruno Haible  <bruno@clisp.org>
53744         free: Move AC_LIBOBJ invocations to module description.
53745         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
53746         invocations from here...
53747         * modules/free (configure.ac): ... to here.
53749 2011-05-07  Bruno Haible  <bruno@clisp.org>
53751         freadable: Move AC_LIBOBJ invocations to module description.
53752         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
53753         here...
53754         * modules/freadable (configure.ac): ... to here.
53756 2011-05-07  Bruno Haible  <bruno@clisp.org>
53758         fpurge: Move AC_LIBOBJ invocations to module description.
53759         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
53760         invocations from here...
53761         * modules/fpurge (configure.ac): ... to here.
53763 2011-05-07  Bruno Haible  <bruno@clisp.org>
53765         fpending: Move AC_LIBOBJ invocations to module description.
53766         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
53767         gl_FUNC_FPENDING.
53768         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
53769         invocations from here...
53770         * modules/fpending (configure.ac): ... to here.
53772 2011-05-07  Bruno Haible  <bruno@clisp.org>
53774         fopen: Move AC_LIBOBJ invocations to module description.
53775         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
53776         invocations from here...
53777         * modules/fopen (configure.ac): ... to here.
53779 2011-05-07  Bruno Haible  <bruno@clisp.org>
53781         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
53782         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
53783         gl_FUNC_FNMATCH_POSIX.
53784         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
53785         invocations from here...
53786         * modules/fnmatch (configure.ac): ... to here.
53787         * modules/fnmatch-gnu (configure.ac): ... and here.
53789 2011-05-07  Bruno Haible  <bruno@clisp.org>
53791         flock: Move AC_LIBOBJ invocations to module description.
53792         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
53793         invocations from here...
53794         * modules/flock (configure.ac): ... to here.
53796 2011-05-07  Bruno Haible  <bruno@clisp.org>
53798         fileblocks: Move AC_LIBOBJ invocations to module description.
53799         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
53800         gl_PREREQ_FILEBLOCKS invocations from here...
53801         * modules/fileblocks (configure.ac): ... to here.
53803 2011-05-06  Bruno Haible  <bruno@clisp.org>
53805         fflush: Move AC_LIBOBJ invocations to module description.
53806         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
53807         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
53808         invocations from here...
53809         * modules/fflush (configure.ac): ... to here.
53811 2011-05-06  Bruno Haible  <bruno@clisp.org>
53813         fdopendir: Move AC_LIBOBJ invocations to module description.
53814         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
53815         here...
53816         * modules/fdopendir (configure.ac): ... to here.
53817         (Depends-on): Improve conditions.
53819 2011-05-06  Bruno Haible  <bruno@clisp.org>
53821         _Exit: Move AC_LIBOBJ invocations to module description.
53822         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
53823         invocations from here...
53824         * modules/_Exit (configure.ac): ... to here.
53826 2011-05-21  Bruno Haible  <bruno@clisp.org>
53828         euidaccess: Respect rules for use of AC_LIBOBJ.
53829         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53830         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
53831         from here...
53832         * modules/euidaccess (configure.ac): ... to here.
53834 2011-05-06  Bruno Haible  <bruno@clisp.org>
53836         error: Move AC_LIBOBJ invocations to module description.
53837         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
53838         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
53839         invocations from here...
53840         * modules/error (configure.ac): ... to here.
53842 2011-05-06  Bruno Haible  <bruno@clisp.org>
53844         duplocale: Move AC_LIBOBJ invocations to module description.
53845         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
53846         gl_PREREQ_DUPLOCALE invocations from here...
53847         * modules/duplocale (configure.ac): ... to here.
53849 2011-05-05  Bruno Haible  <bruno@clisp.org>
53851         dirfd: Move AC_LIBOBJ invocations to module description.
53852         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
53853         gl_FUNC_DIRFD.
53854         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
53855         here...
53856         * modules/dirfd (configure.ac): ... to here.
53857         (Depends-on): Fix condition.
53859 2011-05-05  Bruno Haible  <bruno@clisp.org>
53861         chown: Respect rules for use of AC_LIBOBJ.
53862         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
53863         * modules/chown (configure.ac): ... to here.
53865 2011-05-05  Bruno Haible  <bruno@clisp.org>
53867         chdir-long: Move AC_LIBOBJ invocations to module description.
53868         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
53869         gl_PREREQ_CHDIR_LONG invocations from here...
53870         * modules/chdir-long (configure.ac): ... to here.
53872 2011-05-05  Bruno Haible  <bruno@clisp.org>
53874         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
53875         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
53876         from here...
53877         * modules/canonicalize-lgpl (configure.ac): ... to here.
53879 2011-05-05  Bruno Haible  <bruno@clisp.org>
53881         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
53882         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
53883         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
53884         REPLACE_CALLOC.
53885         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
53886         * modules/calloc-gnu (configure.ac): Likewise.
53888 2011-05-05  Bruno Haible  <bruno@clisp.org>
53890         btowc: Move AC_LIBOBJ invocations to module description.
53891         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
53892         invocations from here...
53893         * modules/btowc (configure.ac): ... to here.
53895 2011-05-21  Bruno Haible  <bruno@clisp.org>
53897         atexit: Move AC_LIBOBJ invocations to module description.
53898         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
53899         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
53900         here...
53901         * modules/atexit (configure.ac): ... to here.
53903 2011-05-05  Bruno Haible  <bruno@clisp.org>
53905         atoll: Move AC_LIBOBJ invocations to module description.
53906         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
53907         invocations from here...
53908         * modules/atoll (configure.ac): ... to here.
53910 2011-05-05  Bruno Haible  <bruno@clisp.org>
53912         argz: Move AC_LIBOBJ invocations to module description.
53913         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
53914         * modules/argz (configure.ac): ... to here.
53916 2011-05-05  Bruno Haible  <bruno@clisp.org>
53918         alphasort: Move AC_LIBOBJ invocations to module description.
53919         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
53920         gl_PREREQ_ALPHASORT invocations from here...
53921         * modules/alphasort (configure.ac): ... to here.
53923 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53925         verify: new macro verify_expr; verify_true deprecated
53926         * NEWS: Mention this.
53927         * doc/verify.texi (Compile-time Assertions): Document this.
53928         * lib/verify.h (verify_true): Deprecate.
53929         (verify_expr): New macro.
53930         * tests/test-verify.c (function): Test verify_expr.
53932 2011-06-14  Jim Meyering  <meyering@redhat.com>
53934         init.sh: give more portable redirection-related advice in a comment
53935         * tests/init.sh (stderr_fileno_): Update the advice in comments.
53936         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
53937         for lots of discussion.  Stefano Lattarini suggested the solution
53938         of putting "9>&2" after the command.  Reported by Bruno Haible.
53940 2011-06-13  Bruno Haible  <bruno@clisp.org>
53942         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
53943         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
53944         'none'.
53946 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53948         ftoastr: use strtof only if HAVE_STRTOF
53949         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
53950         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
53951         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
53952         * modules/ftoastr (configure.ac): Check for strtof.
53954 2011-06-13  Bruno Haible  <bruno@clisp.org>
53956         gnulib-tool: Addendum to 2011-06-08 commit.
53957         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
53958         and --witness-c-macro have been given, augment AM_CPPFLAGS.
53960 2011-06-13  Bruno Haible  <bruno@clisp.org>
53962         fseeko: Provide a non-inline replacement of fseek().
53963         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
53964         * modules/fseeko (Depends-on): Add fseek.
53965         * modules/fseek (License): Change to LGPLv2+.
53967 2011-06-13  Bruno Haible  <bruno@clisp.org>
53969         ftello: Provide a non-inline replacement of ftell().
53970         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
53971         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
53972         not have ftello() (such as on mingw).
53973         * modules/ftello (Depends-on): Add ftell.
53974         * modules/ftell (License): Change to LGPLv2+.
53976 2011-05-07  Bruno Haible  <bruno@clisp.org>
53978         ftell: Move AC_LIBOBJ invocations to module description.
53979         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
53980         * modules/ftell (configure.ac): ... to here.
53982 2011-05-07  Bruno Haible  <bruno@clisp.org>
53984         ftello: Respect rules for use of AC_LIBOBJ.
53985         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
53986         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
53987         here...
53988         * modules/ftello (configure.ac): ... to here.
53990 2011-05-07  Bruno Haible  <bruno@clisp.org>
53992         fseeko: Simplify.
53993         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
53994         (gl_FUNC_FSEEKO): Inline it here.
53996 2011-05-07  Bruno Haible  <bruno@clisp.org>
53998         fseek: Move AC_LIBOBJ invocations to module description.
53999         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
54000         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54001         * modules/fseek (configure.ac): ... to here.
54003 2011-05-07  Bruno Haible  <bruno@clisp.org>
54005         fseek: Respect rules for use of AC_LIBOBJ.
54006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
54007         here...
54008         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
54010 2011-05-07  Bruno Haible  <bruno@clisp.org>
54012         fseeko: Respect rules for use of AC_LIBOBJ.
54013         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
54014         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
54015         here...
54016         * modules/fseeko (configure.ac): ... to here.
54018 2011-06-13  Bruno Haible  <bruno@clisp.org>
54020         gnulib-tool: Allow comments in the 'Depends-on' section.
54021         * doc/gnulib.texi (Module description): Mention comment syntax in the
54022         Depends-on section.
54023         * gnulib-tool (func_get_dependencies): Filter out comment lines.
54025 2011-06-13  Bruno Haible  <bruno@clisp.org>
54027         file-set.h: guard __attibute__ use, now that it's not always defined
54028         * lib/file-set.h (record_file): Use __attribute__ only with compiler
54029         versions that support it.  This fixes a coreutils build failure with
54030         the vendor cc on HP-UX 11.31.
54032 2011-06-12  Bruno Haible  <bruno@clisp.org>
54034         acl: Add support for HP-UX >= 11.11 JFS ACLs.
54035         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
54036         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
54037         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
54038         (acl, aclsort): New declarations.
54039         (aclv_nontrivial): New declaration.
54040         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
54041         (file_has_acl): Read also the second kind of HP-UX ACLs.
54042         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
54043         kind of HP-UX ACLs if the first kind fails.
54044         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
54045         second kind of HP-UX ACLs.
54046         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
54047         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
54048         agree.
54049         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54050         hpuxjfs.
54051         Handle hpuxjfs.
54052         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54053         hpuxjfs.
54054         Handle hpuxjfs.
54055         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54056         (func_test_same_acls): Use both lsacl and getacl.
54057         Handle hpuxjfs.
54058         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54059         (func_test_same_acls): Use both lsacl and getacl.
54060         Handle hpuxjfs.
54062 2011-06-12  Bruno Haible  <bruno@clisp.org>
54064         acl: Complete the 2010-08-10 fix.
54065         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
54066         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
54067         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
54068         explicitly.
54069         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
54070         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
54072 2011-06-12  Bruno Haible  <bruno@clisp.org>
54074         spawn-pipe tests: Comments.
54075         * tests/test-spawn-pipe-child.c (main): Update comment.
54076         Reported by James Youngman <jay@gnu.org>.
54078 2011-06-11  James Youngman  <jay@gnu.org>
54080         New module 'stat-size'.
54081         * modules/stat-size: New module.  Provides macros for accessing
54082         file size information in instances of struct stat.  Depends on the
54083         fileblocks module because it calls st_blocks.
54084         * lib/stat-size.h: New file, adapted from coreutils' system.h.
54085         * doc/gnulib.texi: Include stat-size.texi.
54086         * doc/stat-size.texi: Documentation for this module.
54087         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
54088         * m4/fileblocks.m4: Mention that stat-size depends on the call to
54089         AC_STRUCT_ST_BLOCKS.
54091 2011-06-09  Bruno Haible  <bruno@clisp.org>
54093         thread: Support pthreads-win32.
54094         * lib/glthread/thread.h (gl_thread_self): Define differently on
54095         pthreads-win32.
54096         (gl_null_thread): New declaration.
54097         (gl_thread_self_pointer): New macro.
54098         * lib/glthread/thread.c (gl_null_thread): New constant.
54099         * tests/test-lock.c: Use gl_thread_self_pointer instead of
54100         gl_thread_self.
54101         * tests/test-tls.c: Likewise.
54102         Suggested by Paul Eggert. Reported by Eric Blake.
54104 2011-06-09  Bruno Haible  <bruno@clisp.org>
54106         thread: Fix confusion between NULL and 0.
54107         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
54108         Reported by Paul Eggert.
54110 2011-06-09  Bruno Haible  <bruno@clisp.org>
54112         spawn-pipe tests: Avoid test failure on HP-UX 11.
54113         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
54114         is closed.
54116 2011-06-09  Bruno Haible  <bruno@clisp.org>
54118         acl tests: Fix compilation error on HP-UX 11.
54119         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
54121 2011-06-09  Bruno Haible  <bruno@clisp.org>
54123         rmdir: Avoid test failure on HP-UX 10.20.
54124         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54125         EEXIST.
54127 2011-06-08  Eric Blake  <eblake@redhat.com>
54129         perror: fix test on mingw
54130         * modules/perror-tests (Depends-on): Add dup2.
54132         strerror_r-posix: fix on MacOS
54133         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
54134         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
54135         logic bug.
54136         * lib/strerror_r.c (strerror_r): Fix the bug.
54137         * lib/strerror.c (strerror): Likewise.
54138         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
54139         problem.
54140         * doc/posix-functions/strerror.texi (strerror): Likewise.
54141         * doc/posix-functions/perror.texi (perror): Likewise.
54142         * tests/test-strerror.c (main): Enhance test.
54143         * tests/test-strerror_r.c (main): Likewise.
54145 2011-06-08  Bruno Haible  <bruno@clisp.org>
54147         gnulib-tool: Better isolation between different gnulib-tool invocations.
54148         * gnulib-tool: New option --witness-c-macro.
54149         (witness_c_macro): New variable.
54150         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
54151         AM_CPPFLAGS define it as a C macro.
54152         (func_emit_tests_Makefile_am): Likewise.
54153         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
54154         read it from there.
54155         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
54156         m4_define, not AC_DEFUN.
54157         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
54158         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
54159         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
54160         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
54161         s|...|...|, to substitute the values of the GNULIB_* module indicator
54162         variables.
54163         * modules/dirent (Makefile.am): Likewise.
54164         * modules/fcntl-h (Makefile.am): Likewise.
54165         * modules/iconv-h (Makefile.am): Likewise.
54166         * modules/langinfo (Makefile.am): Likewise.
54167         * modules/locale (Makefile.am): Likewise.
54168         * modules/math (Makefile.am): Likewise.
54169         * modules/netdb (Makefile.am): Likewise.
54170         * modules/poll-h (Makefile.am): Likewise.
54171         * modules/pty (Makefile.am): Likewise.
54172         * modules/search (Makefile.am): Likewise.
54173         * modules/signal (Makefile.am): Likewise.
54174         * modules/spawn (Makefile.am): Likewise.
54175         * modules/stdio (Makefile.am): Likewise.
54176         * modules/stdlib (Makefile.am): Likewise.
54177         * modules/string (Makefile.am): Likewise.
54178         * modules/sys_ioctl (Makefile.am): Likewise.
54179         * modules/sys_select (Makefile.am): Likewise.
54180         * modules/sys_socket (Makefile.am): Likewise.
54181         * modules/sys_stat (Makefile.am): Likewise.
54182         * modules/sys_times (Makefile.am): Likewise.
54183         * modules/sys_utsname (Makefile.am): Likewise.
54184         * modules/sys_wait (Makefile.am): Likewise.
54185         * modules/termios (Makefile.am): Likewise.
54186         * modules/time (Makefile.am): Likewise.
54187         * modules/unistd (Makefile.am): Likewise.
54188         * modules/wchar (Makefile.am): Likewise.
54190 2011-06-08  Eric Blake  <eblake@redhat.com>
54192         strerror: simplify replacement
54193         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
54194         * modules/strerror (configure.ac): No prereqs needed here...
54195         * modules/strerror-override (configure.ac): ...but this needs it.
54196         (Files): Add file for needed prereq macro.
54198 2011-06-08  Bruno Haible  <bruno@clisp.org>
54200         strerror_r-posix: Tweaks.
54201         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
54202         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
54203         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
54204         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
54205         (gl_FUNC_STRERROR_R): ... to here.
54206         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
54208 2011-06-07  Eric Blake  <eblake@redhat.com>
54210         perror: document fixed bugs
54211         * doc/posix-functions/perror.texi (perror): Document recent
54212         patches.
54214 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
54216         stat-time: get_stat_birthtime failure is better-defined
54217         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
54218         return a timestamp whose tv_sec and tv_nsec values are both -1.
54219         Previously, the spec said only that the tv_nsec value was negative.
54220         This upward-compatible change simplifies GNU tar a bit.
54222 2011-06-07  Eric Blake  <eblake@redhat.com>
54224         strerror_r-posix: work around cygwin 1.7.9
54225         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
54226         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
54227         bug without replacing strerror_r.
54228         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
54229         strerror_r is buggy, but without requiring strerror_r compilation.
54230         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
54232         test-perror: relax test to ignore cygwin bug
54233         * tests/test-perror2.c (main): Relax test on requiring detection
54234         of stream errors, and use unbuffered stream.
54235         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
54236         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
54237         * doc/posix-functions/fputc.texi (fputc): Likewise.
54238         * doc/posix-functions/fputs.texi (fputs): Likewise.
54239         * doc/posix-functions/fputws.texi (fputws): Likewise.
54240         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
54241         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
54242         * doc/posix-functions/getopt.texi (getopt): Likewise.
54243         * doc/posix-functions/perror.texi (perror): Likewise.
54244         * doc/posix-functions/printf.texi (printf): Likewise.
54245         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
54246         * doc/posix-functions/psignal.texi (psignal): Likewise.
54247         * doc/posix-functions/putc.texi (putc): Likewise.
54248         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
54249         Likewise.
54250         * doc/posix-functions/putchar.texi (putchar): Likewise.
54251         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
54252         Likewise.
54253         * doc/posix-functions/puts.texi (puts): Likewise.
54254         * doc/posix-functions/putwc.texi (putwc): Likewise.
54255         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
54256         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
54257         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54258         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
54259         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54260         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
54261         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
54262         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
54264 2011-05-22  Bruno Haible  <bruno@clisp.org>
54266         strerror: Move AC_LIBOBJ invocations to module description.
54267         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
54268         gl_PREREQ_STRERROR invocations from here...
54269         * modules/strerror (configure.ac): ... to here.
54271 2011-05-21  Bruno Haible  <bruno@clisp.org>
54273         perror: Use common idiom.
54274         * modules/perror (configure.ac): Reorder statements.
54276 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54278         tests: fix usage message in 'mktempd_'
54279         * tests/init.sh (mktempd_): In the usage message, use literal
54280         'mktempd_', not '$ME' (which is even undefined), as the name of
54281         the subroutine.
54283 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54285         tests init: new function 'fatal_', for hard errors
54286         Before this patch, the only way offered by tests/init.sh to
54287         properly signal a hard error was the `framework_failure_'
54288         function.  But the error message issued by that function,
54289         as its name would suggest, refers to a set-up failure in the
54290         testsuite, while hard errors can obviously also be due to
54291         other reasons.  The best way to fix this inconsistency is to
54292         introduce a new function with a more general error message.
54293         * tests/init.sh (fatal_): New function.
54295 2011-06-06  Eric Blake  <eblake@redhat.com>
54297         canonicalize-lgpl: use common idiom
54298         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
54299         over newer POSIX -Rf.
54300         Reported by Bruno Haible.
54302         canonicalize-lgpl: work around AIX realpath bug
54303         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
54304         * doc/posix-functions/realpath.texi (realpath): Document it.
54305         Reported by Bruno Haible.
54307         strerror: work around FreeBSD bug
54308         * lib/strerror.c (strerror): Special case 0.
54309         Reported by Bruno Haible.
54311         strerror-override: avoid bloating errno module
54312         * modules/errno (Files, configure.ac): Move replacement strings...
54313         * modules/strerror-override: ...to new module.
54314         * modules/strerror (Depends-on): Add strerror-override.
54315         * modules/strerror_r-posix (Depends-on): Likewise.
54316         * MODULES.html.sh: Document new module.
54317         Reported by Bruno Haible.
54319 2011-06-06  Bruno Haible  <bruno@clisp.org>
54321         spawn-pipe tests: Rename program.
54322         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
54323         * tests/test-spawn-pipe-child.c: Update comment.
54324         * tests/test-spawn-pipe.sh: Update.
54325         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
54327         spawn-pipe tests: Link the child program only against libc.
54328         * tests/test-spawn-pipe-child.c: New file, extracted from
54329         tests/test-spawn-pipe.c.
54330         (main): Expect only one argument.
54331         (is_open): New function, copied from tests/test-pipe.c.
54332         * tests/test-spawn-pipe.c: Don't include <errno.h>.
54333         (child_main): Remove function.
54334         (test_pipe): Pass only one argument to the child program.
54335         (main): Remove child process code. Expect the child program's name as
54336         first argument.
54337         * tests/test-spawn-pipe.sh: Pass the child program's name as first
54338         argument.
54339         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
54340         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
54341         test-spawn-pipe-child against no libraries.
54343 2011-06-06  Bruno Haible  <bruno@clisp.org>
54345         careadlinkat: Avoid mismatch between ssize_t and int.
54346         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
54347         * lib/careadlinkat.c (careadlinkatcwd): Define always.
54349 2011-06-06  Jim Meyering  <meyering@redhat.com>
54351         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
54352         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
54353         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
54355 2011-06-05  Bruno Haible  <bruno@clisp.org>
54357         ansi-c++-opt: Interoperability with libtool.
54358         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
54359         set the variable to "no", not to ":".
54360         * NEWS: Mention the change.
54362 2011-06-05  Bruno Haible  <bruno@clisp.org>
54364         acl: Fix test failure on AIX 7.
54365         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
54366         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
54368 2011-06-05  Bruno Haible  <bruno@clisp.org>
54370         pipe-filter-ii: Fix test failure on AIX and IRIX.
54371         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
54372         with EAGAIN, retry with a smaller buffer size.
54374 2011-06-05  Bruno Haible  <bruno@clisp.org>
54376         localename: Fix link dependencies.
54377         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
54378         * modules/localename-tests (Makefile.am): Link test-localename with
54379         $(LIBTHREAD).
54381 2011-06-05  Bruno Haible  <bruno@clisp.org>
54383         error: Avoid gcc warning.
54384         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
54386 2011-06-05  Bruno Haible  <bruno@clisp.org>
54388         unsetenv: Avoid gcc warning.
54389         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
54391 2011-06-05  Bruno Haible  <bruno@clisp.org>
54393         setenv: Avoid gcc warning.
54394         * lib/setenv.c (setenv): Provide declaration if system lacks it.
54396 2011-06-05  Bruno Haible  <bruno@clisp.org>
54398         sys_select: Ensure memset is declared also on AIX 7.
54399         * lib/sys_select.in.h: Include <string.h> also on AIX.
54400         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
54401         self-contained also on AIX 7.1.
54403 2011-06-04  Jim Meyering  <meyering@redhat.com>
54405         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
54406         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
54407         function name, "error".
54408         (_gl_translatable_diag_func_re): New configurable variable.
54410 2011-06-04  Bruno Haible  <bruno@clisp.org>
54412         getopt: Avoid gcc warning.
54413         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
54415 2011-06-04  Bruno Haible  <bruno@clisp.org>
54417         strerror_r: Fix comments.
54418         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
54419         commit.
54421 2011-06-04  Bruno Haible  <bruno@clisp.org>
54423         perror: Fix compilation error.
54424         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
54425         Undefine fprintf, not sprintf.
54426         * modules/perror (Depends-on): Remove intprops, verify.
54428 2011-06-04  Bruno Haible  <bruno@clisp.org>
54430         setlocale: Enable replacement on Cygwin 1.5.
54431         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
54432         Cygwin 1.5.x.
54433         * doc/posix-functions/setlocale.texi: Mention that the problem with the
54434         LC_CTYPE category also exists on Cygwin 1.5.x.
54436 2011-06-04  Bruno Haible  <bruno@clisp.org>
54438         strerror-override: Don't disable symbol renamings.
54439         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
54440         * lib/strerror-override.c: Include config.h.
54441         (strerror_override): Don't undefine.
54443 2011-06-03  Bruno Haible  <bruno@clisp.org>
54445         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
54446         * lib/localename.h: Update copyright header.
54447         * lib/localename.c: Likewise.
54448         * lib/relocatable.h: Likewise.
54449         * lib/relocatable.c: Likewise.
54451 2011-06-02  Bruno Haible  <bruno@clisp.org>
54453         doc: Fix a module name.
54454         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
54456 2011-06-02  Bruno Haible  <bruno@clisp.org>
54458         pipe2: Remove dependency on 'nonblocking' module.
54459         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
54460         O_NONBLOCK is defined by gnulib.
54461         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
54462         is zero.
54463         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
54464         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
54465         defined by gnulib.
54466         (get_nonblocking_flag): New function.
54467         (main): Test O_NONBLOCK flag only if it is nonzero.
54468         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
54470 2011-06-03  Jim Meyering  <meyering@redhat.com>
54472         maint: three new prohibit-header-without-use rules
54473         Prohibit use of cloexec.h, posixver.h, same.h without use.
54474         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
54475         (sc_prohibit_posixver_without_use): Likewise.
54476         (sc_prohibit_same_without_use): Likewise.
54478 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54480         allocator: 'die' routine is now given requested size
54481         * lib/allocator.h (struct allocator.die): New size arg.
54482         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
54483         If the actual problem is an ssize_t limitation, not a size_t or
54484         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
54486 2011-06-01  Eric Blake  <eblake@redhat.com>
54488         strerror: drop strerror_r dependency
54489         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
54490         * lib/strerror-override.c (strerror_override): ...to new file.
54491         * lib/strerror-override.h: Add prototype.
54492         * lib/strerror-impl.h: Delete.
54493         * lib/strerror.c (strerror): New implementation.
54494         * modules/errno (Files): Add new files.
54495         (configure.ac): Compile new file as appropriate.
54496         * modules/strerror (Files): Drop unused file.
54497         (Depends-on): Drop strerror_r-posix.
54498         * MODULES.html.sh: Document strerror_r-posix.
54499         Requested by Sam Steingold.
54501         perror: call strerror_r directly
54502         * modules/perror (Files): Drop strerror-impl.h.
54503         * lib/perror.c (perror): Use our own stack buffer, rather than
54504         calling a wrapper that uses static storage.
54505         * doc/posix-functions/perror.texi (perror): Document a limitation
54506         of our replacement.
54508         strerror_r: fix includes for FreeBSD
54509         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
54510         since we use abort on some platforms.
54511         Reported by Matthias Bolte.
54513 2011-05-31  Bruno Haible  <bruno@clisp.org>
54515         Fix link errors in tests: openat-die uses gettext-h.
54516         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
54517         against $(LIBINTL).
54518         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
54519         against $(LIBINTL).
54520         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
54521         $(LIBINTL).
54522         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
54523         against $(LIBINTL).
54524         * modules/linkat-tests (Makefile.am): Link test-linkat against
54525         $(LIBINTL).
54526         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
54527         $(LIBINTL).
54528         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
54529         against $(LIBINTL).
54530         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
54531         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
54532         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
54533         $(LIBINTL).
54534         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
54535         $(LIBINTL).
54536         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
54537         $(LIBINTL).
54538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54540 2011-05-31  Bruno Haible  <bruno@clisp.org>
54542         Fix link errors in tests: wait-process uses gettext-h.
54543         * modules/nonblocking-pipe-tests (Makefile.am): Set
54544         test_nonblocking_pipe_main_LDADD.
54545         * modules/nonblocking-socket-tests (Makefile.am): Link
54546         test-nonblocking-socket-main against $(LIBINTL).
54547         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54549 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
54551         assert-h: work around 'verify' incompatibility
54552         * lib/verify.h: Use @...@ directives, not ifdef.
54553         * modules/assert-h (assert.h): Implement the directives.
54554         (assert.h): Substitute the symbol-prefix more consistently.
54556 2011-05-29  Jim Meyering  <meyering@redhat.com>
54558         trim: remove three superfluous assignments
54559         * lib/trim.c (trim2): Remove three superfluous assignments
54560         and correct brace positioning.
54562 2011-05-29  Bruno Haible  <bruno@clisp.org>
54564         wctype-h: Avoid namespace pollution on Solaris 2.6.
54565         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
54566         identifiers.
54567         * doc/posix-headers/wctype.texi: Mention the problem.
54568         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54570 2011-05-28  Jim Meyering  <meyering@redhat.com>
54572         parse-datetime.y: accommodate -Wstrict-overflow
54573         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
54574         placate -Wstrict-overflow.
54576         trim: avoid a warning from -O2 -Wstrict-overflow
54577         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
54579 2011-05-29  Bruno Haible  <bruno@clisp.org>
54581         gnulib-tool: Fix bug in yesterday's commit.
54582         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
54583         twice.
54585 2011-05-29  Bruno Haible  <bruno@clisp.org>
54587         Allow multiple gnulib generated include files to be combined.
54588         * gnulib-tool (func_compute_include_guard_prefix): New function.
54589         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
54590         ${gl_include_guard_prefix} references.
54591         (func_import, func_create_testdir): Invoke
54592         func_compute_include_guard_prefix.
54593         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
54594         * lib/ctype.in.h: Likewise.
54595         * lib/dirent.in.h: Likewise.
54596         * lib/errno.in.h: Likewise.
54597         * lib/fcntl.in.h: Likewise.
54598         * lib/float.in.h: Likewise.
54599         * lib/getopt.in.h: Likewise.
54600         * lib/iconv.in.h: Likewise.
54601         * lib/langinfo.in.h: Likewise.
54602         * lib/locale.in.h: Likewise.
54603         * lib/math.in.h: Likewise.
54604         * lib/netdb.in.h: Likewise.
54605         * lib/netinet_in.in.h: Likewise.
54606         * lib/poll.in.h: Likewise.
54607         * lib/pthread.in.h: Likewise.
54608         * lib/pty.in.h: Likewise.
54609         * lib/sched.in.h: Likewise.
54610         * lib/se-selinux.in.h: Likewise.
54611         * lib/search.in.h: Likewise.
54612         * lib/signal.in.h: Likewise.
54613         * lib/spawn.in.h: Likewise.
54614         * lib/stdarg.in.h: Likewise.
54615         * lib/stddef.in.h: Likewise.
54616         * lib/stdint.in.h: Likewise.
54617         * lib/stdio.in.h: Likewise.
54618         * lib/stdlib.in.h: Likewise.
54619         * lib/string.in.h: Likewise.
54620         * lib/strings.in.h: Likewise.
54621         * lib/sys_file.in.h: Likewise.
54622         * lib/sys_ioctl.in.h: Likewise.
54623         * lib/sys_select.in.h: Likewise.
54624         * lib/sys_socket.in.h: Likewise.
54625         * lib/sys_stat.in.h: Likewise.
54626         * lib/sys_time.in.h: Likewise.
54627         * lib/sys_times.in.h: Likewise.
54628         * lib/sys_uio.in.h: Likewise.
54629         * lib/sys_utsname.in.h: Likewise.
54630         * lib/sys_wait.in.h: Likewise.
54631         * lib/sysexits.in.h: Likewise.
54632         * lib/termios.in.h: Likewise.
54633         * lib/time.in.h: Likewise.
54634         * lib/unistd.in.h: Likewise.
54635         * lib/wchar.in.h: Likewise.
54636         * lib/wctype.in.h: Likewise.
54637         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
54638         * modules/ctype (Makefile.am): Likewise.
54639         * modules/dirent (Makefile.am): Likewise.
54640         * modules/errno (Makefile.am): Likewise.
54641         * modules/fcntl-h (Makefile.am): Likewise.
54642         * modules/float (Makefile.am): Likewise.
54643         * modules/getopt-posix (Makefile.am): Likewise.
54644         * modules/iconv-h (Makefile.am): Likewise.
54645         * modules/langinfo (Makefile.am): Likewise.
54646         * modules/locale (Makefile.am): Likewise.
54647         * modules/math (Makefile.am): Likewise.
54648         * modules/netdb (Makefile.am): Likewise.
54649         * modules/netinet_in (Makefile.am): Likewise.
54650         * modules/poll-h (Makefile.am): Likewise.
54651         * modules/pthread (Makefile.am): Likewise.
54652         * modules/pty (Makefile.am): Likewise.
54653         * modules/sched (Makefile.am): Likewise.
54654         * modules/search (Makefile.am): Likewise.
54655         * modules/selinux-h (Makefile.am): Likewise.
54656         * modules/signal (Makefile.am): Likewise.
54657         * modules/spawn (Makefile.am): Likewise.
54658         * modules/stdarg (Makefile.am): Likewise.
54659         * modules/stddef (Makefile.am): Likewise.
54660         * modules/stdint (Makefile.am): Likewise.
54661         * modules/stdio (Makefile.am): Likewise.
54662         * modules/stdlib (Makefile.am): Likewise.
54663         * modules/string (Makefile.am): Likewise.
54664         * modules/strings (Makefile.am): Likewise.
54665         * modules/sys_file (Makefile.am): Likewise.
54666         * modules/sys_ioctl (Makefile.am): Likewise.
54667         * modules/sys_select (Makefile.am): Likewise.
54668         * modules/sys_socket (Makefile.am): Likewise.
54669         * modules/sys_stat (Makefile.am): Likewise.
54670         * modules/sys_time (Makefile.am): Likewise.
54671         * modules/sys_times (Makefile.am): Likewise.
54672         * modules/sys_uio (Makefile.am): Likewise.
54673         * modules/sys_utsname (Makefile.am): Likewise.
54674         * modules/sys_wait (Makefile.am): Likewise.
54675         * modules/sysexits (Makefile.am): Likewise.
54676         * modules/termios (Makefile.am): Likewise.
54677         * modules/time (Makefile.am): Likewise.
54678         * modules/unistd (Makefile.am): Likewise.
54679         * modules/wchar (Makefile.am): Likewise.
54680         * modules/wctype-h (Makefile.am): Likewise.
54681         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
54683 2011-05-29  Bruno Haible  <bruno@clisp.org>
54685         assert-h: Allow multiple gnulib generated replacements to coexist.
54686         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
54688 2011-05-29  Bruno Haible  <bruno@clisp.org>
54690         argp: Allow coexistence with strerror_r-posix module.
54691         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
54692         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
54693         by gnulib's <string.h> replacement), assume it has the POSIX signature,
54694         not the glibc signature.
54696 2011-05-28  Bruno Haible  <bruno@clisp.org>
54698         gnulib-tool: Alternative structure of testdirs, similar to --import.
54699         * gnulib-tool: New option --single-configure.
54700         (func_usage): Document it.
54701         (single_configure): New variable.
54702         (func_modules_transitive_closure_separately,
54703         func_modules_transitive_closure_separately,
54704         func_determine_use_libtests, func_modules_add_dummy_separately,
54705         func_modules_to_filelist_separately): New functions, extracted from
54706         func_import.
54707         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
54708         (func_import): Use the new functions.
54709         (func_create_testdir): Set final_modules. Handle $single_configure =
54710         true case.
54712 2011-05-28  Bruno Haible  <bruno@clisp.org>
54714         getloadavg: Remove an unreliable safety check.
54715         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
54716         getloadavg.c is in place.
54717         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
54718         Reported by Sam Steingold <sds@gnu.org>.
54720 2011-05-28  Bruno Haible  <bruno@clisp.org>
54722         doc: Cleanup yet another file produced by texinfo.tex.
54723         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
54725 2011-05-28  Bruno Haible  <bruno@clisp.org>
54727         Finish the conditional dependencies mechanism.
54728         * gnulib-tool: New option --no-conditional-dependencies.
54729         (func_usage): Document it. Don't mark --conditional-dependencies as
54730         experimental.
54731         (cond_dependencies): The possible values can now be true, false, empty.
54732         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
54733         (func_import): Store setting in gnulib-cache.m4 and read it from there.
54734         * doc/gnulib-tool.texi (Conditional dependencies): New section.
54736 2011-05-28  Bruno Haible  <bruno@clisp.org>
54738         doc: Use a recent texinfo.tex.
54739         * doc/Makefile (tex_opts): New variable.
54740         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
54742 2011-05-28  Jim Meyering  <meyering@redhat.com>
54744         intprops.h: adjust comment to match code change
54745         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
54746         only once, it *may* have side effects.  Also fix an unrelated typo.
54747         (_GL_INT_SIGNED): Likewise.
54749 2011-05-26  Simon Josefsson  <simon@josefsson.org>
54751         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
54753 2011-05-26  Bruno Haible  <bruno@clisp.org>
54755         mbsrchr: Avoid collision with system function on Interix.
54756         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
54757         Reported by Markus Duft <mduft@gentoo.org>.
54759 2011-05-15  James Youngman  <jay@gnu.org>
54761         getopt: for ambiguous options, enumerate the possibilities.
54762         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
54763         the ambiguous options when an ambiguous prefix is given. This was
54764         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
54765         glibc change was
54766         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
54768 2011-05-25  Eric Blake  <eblake@redhat.com>
54770         getcwd: work around mingw bug
54771         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
54772         * doc/posix-functions/getcwd.texi (getcwd): Document it.
54773         Reported by Matthias Bolte.
54775 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
54777         test-intprops: disable -Wtype-limits diagnostics
54778         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
54779         diagnostics.  Otherwise, the integer overflow macros generate many
54780         diagnostics.  Reported by Jim Meyering in
54781         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54783         intprops: shorten, to pacify gcc -Woverlength-strings
54784         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
54785         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
54786         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
54787         likely to run afoul of C compiler limits for string constant lengths.
54788         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54790 2011-05-24  Eric Blake  <eblake@redhat.com>
54792         docs: document recently fixed glibc printf bug
54793         * doc/posix-functions/fprintf.texi (fprintf): Document it.
54794         * doc/posix-functions/printf.texi (printf): Likewise.
54795         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54796         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54798         closein-tests: convert to init.sh
54799         * modules/closein-tests (Files): Add init.sh
54800         * tests/test-closein.sh Use it.
54802         yesno-tests: convert to init.sh
54803         * modules/yesno-tests (Files): Add init.sh.
54804         * tests/test-yesno.sh: Use it.
54806         atexit-tests: ensure reliable exit status
54807         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
54808         Reported by Bruno Haible.
54810 2011-05-24  Bruno Haible  <bruno@clisp.org>
54812         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
54813         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
54814         gl_PREREQ_STRERROR_R invocations from here...
54815         * modules/strerror_r-posix (configure.ac): ... to here.
54817 2011-05-24  Eric Blake  <eblake@redhat.com>
54819         strerror_r: fix missing header
54820         * lib/strerror_r.c: Avoid compiler warning about snprintf.
54822         strerror_r: fix AIX test failures
54823         * lib/strerror_r.c (strerror_r): Convert silent truncation to
54824         ERANGE failure.
54826         strerror_r: fix Solaris test failures
54827         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
54828         failures.
54829         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54831         strerror_r: enforce POSIX recommendations
54832         * lib/strerror_r.c (safe_copy): New helper method.
54833         (strerror_r): Guarantee a non-empty string.
54834         * tests/test-strerror_r.c (main): Enhance tests to incorporate
54835         recent POSIX rulings and to match our strerror guarantees.
54836         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54838 2011-05-24  Jim Meyering  <meyering@redhat.com>
54840         test-perror2.c: avoid warning about unused variable
54841         * tests/test-perror2.c (main): Remove declaration of unused "fp".
54843 2011-05-24  Eric Blake  <eblake@redhat.com>
54845         perror: avoid spurious test failure on HP-UX
54846         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
54848         tests: fix logic bug in init.sh
54849         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
54850         shell.
54852 2011-05-24  Jim Meyering  <meyering@redhat.com>
54854         utimensat: do not reference an out-of-scope buffer
54855         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
54856         declared in an inner scope, yet "times" would be dereferenced outside
54857         the scope in which "ts" was valid.
54858         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
54859         of ts[2] "out/up", so that the use of aliased "times" (via
54860         "times = ts;") does not end up referencing an out-of-scope "ts"
54862         opendir-safer.c: don't clobber errno; don't close negative FD
54863         * lib/opendir-safer.c (opendir_safer):
54864         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
54865         file descriptor, and more importantly, don't clobber the
54866         offending errno value with EINVAL.  Before, upon failure
54867         of dup_safer, we would pass the negative file descriptor to
54868         fdopendir, which would clobber errno.
54870 2011-05-23  Bruno Haible  <bruno@clisp.org>
54872         idcache: Fix module description.
54873         * modules/idcache (Include): Set to "idcache.h".
54875 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54877         gnulib-tool: fix portability problem with MacOS sed
54878         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
54879         before the "}".  Problem reported by Leo in
54880         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
54881         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
54882         sed_extract_condition1, sed_extract_condition2.
54884 2011-05-23  Bruno Haible  <bruno@clisp.org>
54886         hash: Simplify autoconf macro.
54887         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
54889 2011-05-23  Bruno Haible  <bruno@clisp.org>
54891         getugroups: Fix module description.
54892         * modules/getugroups (Include): Set to "getugroups.h".
54894 2011-05-23  Bruno Haible  <bruno@clisp.org>
54896         linkat: Simplify autoconf macro.
54897         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
54899 2011-05-23  Bruno Haible  <bruno@clisp.org>
54900             Eric Blake  <eblake@redhat.com>
54902         linkat, renameat: Update dependencies.
54903         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
54904         * modules/linkat (Depends-on): Likewise. Remove also readlink,
54905         symlinkat.
54907 2011-05-23  Jim Meyering  <meyering@redhat.com>
54909         maint.mk: more tight_scope improvements
54910         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
54911         (_gl_TS_headers): Define only in if-0'd block.
54912         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
54913         sometimes we must *not* use it.  Adjust uses accordingly.
54914         (sc_tight_scope): Use much simpler grep-based test to determine
54915         whether we skip this rule.
54917         maint.mk: generalize/improve the tight-scope rule
54918         * top/maint.mk: Emit a warning when the test is skipped.
54919         (_gl_TS_dir): Add $(srcdir)/ prefix.
54920         (_gl_TS_function_match): Simplify, rather than trying
54921         to enumerate common types.  Otherwise, it would fail to match an
54922         "extern unsigned char const *" declaration in idutils.
54923         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
54924         a way to support use of that type of macro.
54925         (_gl_TS_var_match): Simplify regexp.
54926         (_gl_TS_obj_files): New configurable variable.
54927         (_gl_TS_headers): Likewise.
54929 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54931         verify: fix bug when gnulib <assert.h> is also included
54932         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
54933         is defined, not if _GL_STATIC_ASSERT_H is not defined.
54934         Perhaps there's a better way, but this fixes the immediate problem.
54935         Problem reported by Bruno Haible in
54936         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
54938 2011-05-22  Bruno Haible  <bruno@clisp.org>
54940         xgetcwd: Simplify autoconf macro.
54941         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
54943 2011-05-22  Bruno Haible  <bruno@clisp.org>
54945         New module 'mktime-internal'.
54946         * modules/mktime-internal: New file.
54947         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
54948         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
54949         mktime_internal as a C macro if libc has __mktime_internal.
54950         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
54951         conditions.
54952         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
54954 2011-05-22  Bruno Haible  <bruno@clisp.org>
54956         timegm: Correct mktime replacement statements.
54957         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
54958         defining mktime as a C macro. This completes a 2009-07-28 commit.
54960 2011-05-22  Bruno Haible  <bruno@clisp.org>
54962         timegm: Simplify autoconf macro.
54963         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
54965 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
54967         clock-time: change to LGPLv2+.
54968         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
54969         BSD-like but we have no mark for that; this is good enough for now.
54971 2011-05-21  Bruno Haible  <bruno@clisp.org>
54973         strerror_r: Fix comments.
54974         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
54976 2011-05-21  Bruno Haible  <bruno@clisp.org>
54978         relocatable-prog-wrapper: Fix possible link error.
54979         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
54980         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
54981         (gl_FUNC_SETENV): ... to here.
54982         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
54983         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
54985 2011-05-21  Bruno Haible  <bruno@clisp.org>
54987         relocatable-prog-wrapper: Assume strerror() exists.
54988         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
54989         m4/strerror.m4.
54990         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
54991         * lib/relocwrapper.c: Remove mention of strerror module.
54992         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
54993         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
54994         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
54995         C macro.
54997 2011-05-21  Bruno Haible  <bruno@clisp.org>
54999         select: Simplify replacement idiom.
55000         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
55001         Win32 platforms.
55002         * lib/sys_select.in.h (select): Simplify accordingly.
55003         * modules/select (Depends-on): Likewise.
55005 2011-05-21  Bruno Haible  <bruno@clisp.org>
55007         mkdir-p: Simplify autoconf macro.
55008         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
55009         gl_FUNC_LCHOWN.
55011 2011-05-21  Eric Blake  <eblake@redhat.com>
55013         strerror_r: avoid clobbering strerror on cygwin
55014         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
55015         fall back instead to sys_errlist.
55016         * modules/strerror (configure.ac): Add witness.
55017         * tests/test-strerror_r.c (main): Enhance test.
55018         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55019         * tests/test-perror2.c (main): Free memory before exit.
55021 2011-05-21  Bruno Haible  <bruno@clisp.org>
55023         mkdtemp: Use gnulib naming conventions.
55024         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
55025         * modules/mkdtemp (configure.ac): Update.
55027 2011-05-20  Eric Blake  <eblake@redhat.com>
55029         strerror_r: avoid corrupting errno on Solaris
55030         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
55031         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55033         strerror_r: avoid compiler warning
55034         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
55036         strerror_r: simplify AIX code
55037         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
55039         test-perror: avoid spurious failure on FreeBSD
55040         * modules/perror-tests (Depends-on): Add strerror, now that
55041         strerror_r no longer pulls it in.
55043 2011-05-20  Bruno Haible  <bruno@clisp.org>
55045         strerror_r-posix: Remove unused dependencies.
55046         * modules/strerror_r-posix (Depends-on): Remove strerror.
55047         Reported by Eric Blake.
55049 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55051         intprops: remove assumption about A|B representation
55052         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
55053         is a valid integer if both A and B are.  Although this is true for
55054         all known practical hosts, the C standard doesn't guarantee it,
55055         and the code need not assume it.  Also, this change may work around
55056         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
55057         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
55059 2011-05-20  Eric Blake  <eblake@redhat.com>
55061         perror: work around FreeBSD bug
55062         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
55063         is broken.  Move AC_LIBOBJ...
55064         * modules/perror (configure.ac): Here.
55065         * doc/posix-functions/perror.texi (perror): Document this.
55066         * tests/test-perror2.c (main): Enhance test.
55068         test-perror: check for strerror interactions
55069         * tests/macros.h (STREQ): Add macro.
55070         * modules/perror-tests (Files): Add second test.
55071         * tests/test-perror2.c (main): New file.
55072         * doc/posix-functions/perror.texi (perror): Document glibc bug.
55074         test-perror: rewrite to use init script
55075         * modules/perror-tests (Files): Add init.sh.
55076         * tests/test-perror.sh: Use temporary directory.
55078 2011-05-20  Jim Meyering  <meyering@redhat.com>
55080         maint: replace misused "a" with "an"
55081         * doc/intprops.texi: "a integer"
55082         * doc/regex.texi: "a explanation"
55083         * lib/alignof.h: "a object"
55084         * lib/argmatch.h: "a explanation"
55085         * lib/argp-help.c: "a option" and "a OPTION_DOC"
55086         * lib/stdint.in.h: "a integer"
55087         * lib/userspec.c: "a owner"
55088         * doc/gnulib.texi: Fix "a idea", and reword.
55090 2011-05-19  Jim Meyering  <meyering@redhat.com>
55092         maint: correct misuse of "a" and "an"
55093         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
55094         * lib/argp-help.c: "an docum...": s/an/a/
55095         * lib/argp-parse.c: "An vector": s/An/A/
55096         * lib/execute.c: "an native": s/an/a/
55097         * lib/spawn-pipe.c: Likewise.
55098         * lib/gc.h: "an Gc_rc": s/an/a/
55099         * lib/unigbrk.in.h: "an grapheme": s/an/a/
55100         * lib/fts.c: "an stat.st_dev": s/an/a/
55102 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55104         intprops-tests: work around HP-UX 11.23 cc bug with constants
55105         * tests/test-intprops.c (VERIFY): New macro.
55106         (main): Use it, instead of verify, to work around the compiler bug; see
55107         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55109         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
55110         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
55111         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
55112         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
55113         (_GL_REMAINDER_OVERFLOW): Use it.
55115         intprops-tests: revert unsigned part of previous change
55116         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
55117         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
55118         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
55119         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
55121 2011-05-19  Bruno Haible  <bruno@clisp.org>
55123         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
55124         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
55125         strerror_r() returned without filling the buffer.
55126         Reported by Eric Blake.
55128 2011-05-19  Eric Blake  <eblake@redhat.com>
55130         strerror_r: guarantee unchanged errno
55131         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
55132         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
55133         failure.
55134         * tests/test-strerror_r.c (main): Enhance test.
55136 2011-05-19  Bruno Haible  <bruno@clisp.org>
55138         strerror_r: Reorder #if blocks.
55139         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
55140         for consistency with the previous commit.
55142 2011-05-19  Bruno Haible  <bruno@clisp.org>
55144         perror: Avoid clobbering the strerror buffer when possible.
55145         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
55146         * lib/strerror.c: Include it.
55147         * modules/strerror (Files): Add lib/strerror-impl.h.
55148         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
55149         (my_strerror): New function, defined through lib/strerror-impl.h.
55150         (perror): Use it instead of strerror.
55151         * modules/perror (Files): Add lib/strerror-impl.h.
55152         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
55154 2011-05-19  Eric Blake  <eblake@redhat.com>
55156         strerror_r: fix on newer cygwin
55157         * lib/strerror_r.c (strerror_r): Cygwin now has
55158         __xpg_strerror_r, use it.
55160 2011-05-19  Bruno Haible  <bruno@clisp.org>
55162         strerror_r: Avoid clobbering the strerror buffer when possible.
55163         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
55164         (sys_nerr, sys_errlist): New declarations.
55165         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
55166         HP-UX, native Win32, IRIX, and 32-bit Solaris.
55167         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
55169 2011-05-19  Bruno Haible  <bruno@clisp.org>
55171         strerror_r: Fix test failure on mingw.
55172         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
55173         EXTEND_STRERROR_R.
55174         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
55175         macros from errno.in.h instead.
55177 2011-05-19  Eric Blake  <eblake@redhat.com>
55179         strerror: relax test for Solaris
55180         * tests/test-strerror.c (main): Permit Solaris behavior.
55181         * tests/test-strerror_r.c (main): Likewise.
55183         strerror: enforce POSIX ruling on strerror(0)
55184         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
55185         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
55186         * lib/strerror_r.c (rpl_strerror_r): Work around it.
55187         * doc/posix-functions/strerror.texi (strerror): Document it.
55188         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
55189         * tests/test-strerror.c (main): Strengthen test.
55190         * tests/test-strerror_r.c (main): Likewise.
55192 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55194         intprop-tests: port to older and more-pedantic compilers
55195         * modules/intprops-tests (Files): Add tests/macros.h.
55196         * tests/test-intprops.c: Include macros.h.
55197         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
55198         it's no longer documented to expand to an integer constant expression.
55199         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
55200         argument is floating point, as it's no longer documented to expand
55201         to an integer constant expression in that case.
55202         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
55203         compiler bugs reported by Bruno Haible.  See
55204         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55205         (U0, U1): New constants, to work around the same bugs.  Also,
55206         in tests, use e.g., "(unsigned int) 39" rather than "39u".
55208         intprops: work around C compiler bugs
55209         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
55210         bug in Sun C 5.11 2010/08/13 and other compilers; see
55211         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55213         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
55214         * doc/intprops.texi (Integer Type Determination): Fix
55215         documentation for TYPE_IS_INTEGER: it returns an constant
55216         expression, not an integer constant expression.  Fix doc for
55217         TYPE_SIGNED: it returns an integer constant expression only if its
55218         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
55219         hardly worth documented that way....)
55221 2011-05-18  Bruno Haible  <bruno@clisp.org>
55223         strerror_r: Avoid clobbering the strerror buffer when possible.
55224         * lib/strerror_r.c (strerror_r): Merge the three implementations.
55225         Handle gnulib defined errno values here. When strerror() returns NULL
55226         or an empty string, return EINVAL.
55227         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
55228         gnulib defined errno values here.
55229         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
55231 2011-05-18  Eric Blake  <eblake@redhat.com>
55233         fnmatch: avoid compiler warning
55234         * lib/fnmatch_loop.c (FCT): Use correct type.
55235         Reported by Matthias Bolte.
55237 2011-05-13  Jim Meyering  <meyering@redhat.com>
55239         maint.mk: three new prohibit_<HDR>_without_use rules
55240         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
55241         (sc_prohibit_stdio-safer_without_use): Likewise.
55242         (sc_prohibit_xfreopen_without_use): Likewise.
55244 2011-05-17  Jim Meyering  <meyering@redhat.com>
55246         announce-gen: fail if the NEWS delta is empty
55247         If there's nothing noteworthy in NEWS, then either you forgot
55248         or you shouldn't be releasing.
55249         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
55251 2011-05-17  Pádraig Brady  <P@draigBrady.com>
55253         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
55254         reserved symbols starting with double underscore from the check.
55256 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55258         intprops: add doc
55259         * doc/intprops.texi: New file, documenting intprops.
55260         * doc/gnulib.texi (Particular Modules): Include it.
55262         verify: add doc to gnulib manual and fix example
55263         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
55264         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
55265         (Compile-time Assertions): Fix example so it can't overflow.
55267 2011-05-17  Jim Meyering  <meyering@redhat.com>
55269         warnings.m4: don't usurp save_CPPFLAGS variable name
55270         * m4/warnings.m4: Prefix local temporary variable name with gl_.
55272         doc: fix typo
55273         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
55275 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55276             Bruno Haible  <bruno@clisp.org>
55278         doc: Tweak recent change.
55279         * README (Portability guidelines): Tweak new text.
55280         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
55281         Interix 6.1.
55283 2011-05-16  Eric Blake  <eblake@redhat.com>
55285         inttypes: avoid autoconf warning
55286         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
55287         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55289 2011-05-16  Sam Steingold  <sds@gnu.org>
55290         and Eric Blake  <eblake@redhat.com>
55292         vc-list-files: accept multiple directory operands
55293         * build-aux/vc-list-files: Iterate over all remaining operands.
55295 2011-05-16  Bruno Haible  <bruno@clisp.org>
55297         Fix confusion regarding deprecated modules.
55298         * modules/calloc (Status, Notice): Mark module as deprecated, not
55299         obsolete.
55300         * modules/fnmatch-posix (Status, Notice): Likewise.
55301         * modules/getdate (Status, Notice): Likewise.
55302         * modules/getopt (Status, Notice): Likewise.
55303         * modules/malloc (Status, Notice): Likewise.
55304         * modules/pipe (Status, Notice): Likewise.
55305         * modules/realloc (Status, Notice): Likewise.
55306         * modules/rename-dest-slash (Status, Notice): Likewise.
55307         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
55308         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
55309         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
55310         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
55311         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
55313 2011-05-16  Bruno Haible  <bruno@clisp.org>
55315         doc: List the target platforms.
55316         * doc/gnulib-intro.texi (Target Platforms): New section.
55317         * doc/gnulib.texi (Introduction): Update menu.
55318         * README (Portability guidelines): Refer to the new section. Update
55319         statement about oldest supported environment. Remove rationale why
55320         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
55321         unportable C89 function.
55322         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
55323         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
55325 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55327         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
55329 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55331         intprops-tests: new module
55332         * modules/intprops-tests, tests/test-intprops.c: New files.
55334         intprops: add safe, portable integer overflow checking
55335         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
55336         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
55337         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
55338         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
55339         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
55340         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
55341         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
55342         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
55343         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
55344         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
55345         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
55347 2011-05-12  James Youngman  <jay@gnu.org>
55349         Add a test for glibc's Bugzilla bug #12378.
55350         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
55351         doesn't allow the literal matching of a lone "[" (which is
55352         required by POSIX).
55353         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
55355 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
55357         Sync glibc change fixing Bugzilla bug #12378.
55358         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
55359         beginning and fall back to matching as normal character if the
55360         string ends before the matching ']' is found.  This is what POSIX
55361         requires.
55363 2011-05-13  Eric Blake  <eblake@redhat.com>
55365         getcwd-lgpl: relax test for FreeBSD
55366         * doc/posix-functions/getcwd.texi (getcwd): Document portability
55367         issue.
55368         * tests/test-getcwd-lgpl.c (main): Relax test.
55369         Reported by Matthias Bolte.
55371 2011-05-11  Eric Blake  <eblake@redhat.com>
55373         test-fflush: silence compiler warning
55374         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
55376 2011-05-11  Bruno Haible  <bruno@clisp.org>
55378         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
55379         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
55380         * modules/canonicalize (Depends-on): Add 'nocrash'.
55381         * modules/canonicalize-lgpl (Depends-on): Likewise.
55382         * doc/posix-functions/realpath.texi: Update platforms list.
55383         Reported by Ryan Schmidt <ryandesign@macports.org>.
55385 2011-05-11  Bruno Haible  <bruno@clisp.org>
55387         group-member: Declare function in <unistd.h>.
55388         * lib/unistd.in.h (group_member): New declaration.
55389         * lib/group-member.h: Remove file.
55390         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
55391         * tests/test-unistd-c++.cc: Check signature of group_member.
55392         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
55393         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
55394         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
55395         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
55396         HAVE_GROUP_MEMBER.
55397         * modules/group-member (Files): Remove lib/group-member.h.
55398         (Depends-on): Add unistd. Specify conditions.
55399         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55400         (Include): Change to <unistd.h>.
55401         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
55402         HAVE_GROUP_MEMBER.
55403         * NEWS: Mention the change.
55404         * lib/euidaccess.c: Don't include group-member.h.
55406 2011-05-11  Bruno Haible  <bruno@clisp.org>
55408         group-member: Document module.
55409         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
55410         module.
55412 2011-05-11  Bruno Haible  <bruno@clisp.org>
55414         fclose: Fix mistake earlier today.
55415         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
55417 2011-05-11  Eric Blake  <eblake@redhat.com>
55419         fclose: preserve fflush errors
55420         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
55421         Reported by Jim Meyering.
55423         bootstrap: support a prereq of 'rpcgen -' on RHEL5
55424         * build-aux/bootstrap (check_versions): When no specific version
55425         is required, merely check that the app produces an exit status
55426         that indicates its existence.
55428         maint.mk: drop redundant check
55429         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
55430         the same but better.
55432 2011-05-11  Bruno Haible  <bruno@clisp.org>
55434         fclose: Fix possible link error.
55435         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
55436         unregister_shadow_fd. Improve comments.
55437         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
55438         Eric Blake.
55440 2011-05-11  Jim Meyering  <meyering@redhat.com>
55442         maint.mk: improve "can not" detection and generalize rule name
55443         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
55444         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
55445         Use the same technique as in sc_prohibit_doubled_word, so that
55446         we recognize "can not" also when the words are separated by a newline.
55447         Suggested by Eric Blake.
55448         (perl_filename_lineno_text_): Define.  Factored out of...
55449         (prohibit_doubled_word_): ...here.  Use the new definition.
55450         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
55451         (prohibit_undesirable_word_seq_RE_): New overridable variable.
55452         (ignore_undesirable_word_sequence_RE_): New overridable variable.
55454 2011-05-10  Eric Blake  <eblake@redhat.com>
55456         fclose: avoid double close race when possible
55457         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
55458         all but WINDOWS_SOCKETS.
55460 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
55462         openat: correct new comment
55463         * lib/openat-proc.c (openat_proc_name): Correct the comment.
55465 2011-05-10  Jim Meyering  <meyering@redhat.com>
55467         openat: add comments
55468         * lib/openat-proc.c (openat_proc_name): Add comments,
55469         mostly from Eric Blake.
55471 2011-05-09  Eric Blake  <eblake@redhat.com>
55473         openat: reduce syscalls in first probe of /proc
55474         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
55475         be a directory.  Simplify the probe for .. bugs.
55476         * modules/openat (Depends-on): Drop same-inode.
55477         Reported by Bastien ROUCARIES.
55479 2011-05-09  Jim Meyering  <meyering@redhat.com>
55481         maint.mk: change semantics/name of tight_scope variables
55482         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
55483         Rename variables to align with semantics that make them more useful.
55485         maint.mk: tweak new rule's name not to impinge
55486         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
55487         (sc_tight_scope): Use new rule name rather than $@-0.
55489         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
55490         * top/maint.mk (sc_tight_scope): New rule.
55491         (sc_tight_scope-0): New rule, ifdef'd out.
55492         (_gl_TS_dir): Default.
55493         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
55494         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
55496 2011-05-09  Simon Josefsson  <simon@josefsson.org>
55498         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
55499         Haible <bruno@clisp.org>.
55501 2011-05-08  Bruno Haible  <bruno@clisp.org>
55503         Comments.
55504         * m4/isnanf.m4: Add comment.
55505         * m4/isnanl.m4: Likewise.
55507 2011-05-08  Bruno Haible  <bruno@clisp.org>
55509         glob: Remove obsolete macro.
55510         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
55512 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55514         intprops: Sun C 5.11 supports __typeof__
55515         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
55516         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
55517         which is new.
55518         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
55520         intprops: switch to usual gnulib indenting and naming
55521         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
55522         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
55524         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
55526 2011-05-08  Jim Meyering  <meyering@redhat.com>
55528         maint.mk: suppress "Entering/Leaving directory" diag in announcement
55529         * top/maint.mk (release-prep): Use make's --no-print-directory
55530         option when generating the announcement.  This eliminates the
55531         pesky "make[2]: Entering/Leaving directory" diagnostics in the
55532         generated announcement template.
55534 2011-05-08  Bruno Haible  <bruno@clisp.org>
55536         tzset: Fix gettimeofday wrapper on Solaris 2.6.
55537         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
55538         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
55540 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55542         ignore-value, verify: Omit include files from lib_SOURCES.
55543         * modules/ignore-value, modules/verify (Makefile.am):
55544         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
55545         that leads Automake to duplicate use of am__objects_... variables
55546         in Makefile.in.  See
55547         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
55549 2011-05-07  Bruno Haible  <bruno@clisp.org>
55551         fclose: Simplify autoconf macro.
55552         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
55553         defined.
55555 2011-05-07  Bruno Haible  <bruno@clisp.org>
55557         canonicalize-lgpl: Fix autoconf macro ordering bug.
55558         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
55559         gl_STDLIB_H_DEFAULTS.
55561 2011-05-06  Eric Blake  <eblake@redhat.com>
55563         maintainer-makefile: make sc_po_check easier to tune
55564         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
55565         to probe for strings, such as an alternate location for gnulib.
55567         fclose: guarantee behavior on seekable stdin
55568         * modules/fclose (Depends-on): Add fflush.
55569         * doc/posix-functions/fclose.texi (fclose): Document this.
55570         * tests/test-fclose.c (main): Make test for this unconditional.
55572 2011-05-06  Bruno Haible  <bruno@clisp.org>
55574         fflush, fpurge: Relicense under LGPLv2+.
55575         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
55576         * modules/fpurge (License): Likewise.
55577         With permission from Eric Blake and Jim Meyering.
55578         Suggested by Eric Blake.
55580 2011-05-06  Karl Berry  <karl@gnu.org>
55582         * MODULES.html.sh (func_all_modules): remove exit.
55584 2011-05-06  Jim Meyering  <meyering@redhat.com>
55586         maint.mk: use info-gnu@ as the default only for a stable release
55587         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
55588         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
55589         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
55590         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
55592 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55594         assert-h: new module, which supports C1X-style static_assert
55595         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
55596         * lib/verify.h: Revamp so that this can be copied into assert.h,
55597         while retaining the ability to use it standalone as before.
55598         Rename private identifiers so as not to encroach on the
55599         standard C namespace, since this is now used by assert.h.
55600         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
55601         the old verify_true.
55602         (_GL_VERIFY_TRUE): New macro, with much of the contents of
55603         the old verify_true.  Use _GL_VERIFY_TYPE.
55604         (_GL_VERIFY): New macro, with much of the contents of the old verify.
55605         (static_assert): New macro, if _GL_STATIC_ASSERT_H
55606         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
55607         defined when this file is copied into the replacement assert.h.
55608         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
55609         and _Static_assert is not built in.
55610         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
55611         defined, and use the new macros mentioned above.
55612         * doc/posix-headers/assert.texi: Document this.
55614 2011-05-05  Bruno Haible  <bruno@clisp.org>
55616         fclose, fflush: Respect rules for use of AC_LIBOBJ.
55617         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
55618         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
55619         gl_REPLACE_FCLOSE here.
55620         * modules/fflush (Depends-on): Remove fclose.
55621         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
55622         combination with module 'fclose'.
55624 2011-05-05  Bruno Haible  <bruno@clisp.org>
55626         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
55627         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
55628         gl_FUNC_FFLUSH.
55629         (gl_FUNC_FFLUSH): Use it.
55630         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
55631         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
55632         gl_REPLACE_FSEEKO here.
55634 2011-05-05  Bruno Haible  <bruno@clisp.org>
55636         tzset: Relicense under LGPL.
55637         * modules/tzset (License): Change to LGPL.
55638         No agreement needed; it's a no-op.
55640         strtoimax, strtoumax: Relicense under LGPL.
55641         * modules/strtoimax (License): Change to LGPL.
55642         * modules/strtoumax (License): Likewise.
55643         With permission from Jim Meyering, Paul Eggert:
55644         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
55645         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
55647         getgroups: Relicense under LGPL.
55648         * modules/getgroups (License): Change to LGPL.
55649         With permission from Jim Meyering, Paul Eggert, Eric Blake:
55650         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55651         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55652         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55654         nanosleep: Relicense under LGPL.
55655         * modules/nanosleep (License): Change to LGPL.
55656         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
55657         Haible:
55658         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55659         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55660         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55661         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55663         futimens: Relicense under LGPL.
55664         * modules/futimens (License): Change to LGPL.
55665         With permission from Eric Blake:
55666         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55668         fflush: Relicense under LGPL.
55669         * modules/fflush (License): Change to LGPL.
55670         With permission from Eric Blake, Bruno Haible, Jim Meyering:
55671         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55672         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55673         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
55675         tmpfile: Relicense under LGPL.
55676         * modules/tmpfile (License): Change to LGPL.
55677         With permission from Ben Pfaff:
55678         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55680         isfinite: Relicense under LGPL.
55681         * modules/isfinite (License): Change to LGPL.
55682         With permission from Ben Pfaff, Bruno Haible:
55683         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55684         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
55686         acosl..tanl: Relicense under LGPL.
55687         * modules/acosl (License): Change to LGPL.
55688         * modules/asinl (License): Likewise.
55689         * modules/atanl (License): Likewise.
55690         * modules/cosl (License): Likewise.
55691         * modules/expl (License): Likewise.
55692         * modules/logl (License): Likewise.
55693         * modules/sinl (License): Likewise.
55694         * modules/sqrtl (License): Likewise.
55695         * modules/tanl (License): Likewise.
55696         Source code originally from glibc and Paolo Bonzini. Agreements:
55697         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
55698         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
55700 2011-05-05  Bruno Haible  <bruno@clisp.org>
55702         signal: Define sighandler_t.
55703         * lib/signal.in.h (sighandler_t): New type.
55704         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
55705         whether sighandler_t is defined.
55706         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
55707         * modules/signal (Depends-on): Add extensions.
55708         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
55709         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
55710         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
55712 2011-05-05  Eric Blake  <eblake@redhat.com>
55714         maint: remove useless REPLACE_*_H macros
55715         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
55716         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
55717         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
55718         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
55719         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
55720         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
55721         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
55722         * m4/btowc.m4: Update callers.
55723         * m4/dirfd.m4: Likewise.
55724         * m4/duplocale.m4: Likewise.
55725         * m4/fchdir.m4: Likewise.
55726         * m4/fdopendir.m4: Likewise.
55727         * m4/inet_ntop.m4: Likewise.
55728         * m4/inet_pton.m4: Likewise.
55729         * m4/ioctl.m4: Likewise.
55730         * m4/mbrlen.m4: Likewise.
55731         * m4/mbrtowc.m4: Likewise.
55732         * m4/mbsinit.m4: Likewise.
55733         * m4/mbsnrtowcs.m4: Likewise.
55734         * m4/mbsrtowcs.m4: Likewise.
55735         * m4/poll.m4: Likewise.
55736         * m4/setlocale.m4: Likewise.
55737         * m4/wcrtomb.m4: Likewise.
55738         * m4/wcsnrtombs.m4: Likewise.
55739         * m4/wcsrtombs.m4: Likewise.
55740         * m4/wctob.m4: Likewise.
55741         * m4/wcwidth.m4: Likewise.
55742         * modules/posix_spawn: Likewise.
55743         * modules/posix_spawn_file_actions_addclose: Likewise.
55744         * modules/posix_spawn_file_actions_adddup2: Likewise.
55745         * modules/posix_spawn_file_actions_addopen: Likewise.
55746         * modules/posix_spawn_file_actions_destroy: Likewise.
55747         * modules/posix_spawn_file_actions_init: Likewise.
55748         * modules/posix_spawnattr_destroy: Likewise.
55749         * modules/posix_spawnattr_getflags: Likewise.
55750         * modules/posix_spawnattr_getpgroup: Likewise.
55751         * modules/posix_spawnattr_getschedparam: Likewise.
55752         * modules/posix_spawnattr_getschedpolicy: Likewise.
55753         * modules/posix_spawnattr_getsigdefault: Likewise.
55754         * modules/posix_spawnattr_getsigmask: Likewise.
55755         * modules/posix_spawnattr_init: Likewise.
55756         * modules/posix_spawnattr_setflags: Likewise.
55757         * modules/posix_spawnattr_setpgroup: Likewise.
55758         * modules/posix_spawnattr_setschedparam: Likewise.
55759         * modules/posix_spawnattr_setschedpolicy: Likewise.
55760         * modules/posix_spawnattr_setsigdefault: Likewise.
55761         * modules/posix_spawnattr_setsigmask: Likewise.
55762         * modules/posix_spawnp: Likewise.
55764 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
55766         Add option to do-release-commit-and-tag to specify branch.
55767         * build-aux/do-release-commit-and-tag: Add --branch.
55769 2011-05-03  Bruno Haible  <bruno@clisp.org>
55771         Avoid unnecessary compilation units, through conditional dependencies.
55772         * modules/accept (Depends-on): Add conditions to the dependencies.
55773         * modules/acosl (Depends-on): Likewise.
55774         * modules/argz (Depends-on): Likewise.
55775         * modules/asinl (Depends-on): Likewise.
55776         * modules/atanl (Depends-on): Likewise.
55777         * modules/atoll (Depends-on): Likewise.
55778         * modules/bind (Depends-on): Likewise.
55779         * modules/btowc (Depends-on): Likewise.
55780         * modules/canonicalize-lgpl (Depends-on): Likewise.
55781         * modules/ceil (Depends-on): Likewise.
55782         * modules/ceilf (Depends-on): Likewise.
55783         * modules/ceill (Depends-on): Likewise.
55784         * modules/chdir-long (Depends-on): Likewise.
55785         * modules/chown (Depends-on): Likewise.
55786         * modules/close (Depends-on): Likewise.
55787         * modules/connect (Depends-on): Likewise.
55788         * modules/cosl (Depends-on): Likewise.
55789         * modules/dirfd (Depends-on): Likewise.
55790         * modules/dprintf (Depends-on): Likewise.
55791         * modules/dprintf-posix (Depends-on): Likewise.
55792         * modules/error (Depends-on): Likewise.
55793         * modules/euidaccess (Depends-on): Likewise.
55794         * modules/expl (Depends-on): Likewise.
55795         * modules/faccessat (Depends-on): Likewise.
55796         * modules/fchdir (Depends-on): Likewise.
55797         * modules/fclose (Depends-on): Likewise.
55798         * modules/fcntl (Depends-on): Likewise.
55799         * modules/fdopendir (Depends-on): Likewise.
55800         * modules/fflush (Depends-on): Likewise.
55801         * modules/floor (Depends-on): Likewise.
55802         * modules/floorf (Depends-on): Likewise.
55803         * modules/floorl (Depends-on): Likewise.
55804         * modules/fnmatch (Depends-on): Likewise.
55805         * modules/fopen (Depends-on): Likewise.
55806         * modules/fprintf-posix (Depends-on): Likewise.
55807         * modules/frexp (Depends-on): Likewise.
55808         * modules/frexp-nolibm (Depends-on): Likewise.
55809         * modules/frexpl (Depends-on): Likewise.
55810         * modules/frexpl-nolibm (Depends-on): Likewise.
55811         * modules/fseek (Depends-on): Likewise.
55812         * modules/fsusage (Depends-on): Likewise.
55813         * modules/ftell (Depends-on): Likewise.
55814         * modules/ftello (Depends-on): Likewise.
55815         * modules/futimens (Depends-on): Likewise.
55816         * modules/getcwd (Depends-on): Likewise.
55817         * modules/getcwd-lgpl (Depends-on): Likewise.
55818         * modules/getdelim (Depends-on): Likewise.
55819         * modules/getdomainname (Depends-on): Likewise.
55820         * modules/getgroups (Depends-on): Likewise.
55821         * modules/gethostname (Depends-on): Likewise.
55822         * modules/getline (Depends-on): Likewise.
55823         * modules/getlogin_r (Depends-on): Likewise.
55824         * modules/getopt-posix (Depends-on): Likewise.
55825         * modules/getpeername (Depends-on): Likewise.
55826         * modules/getsockname (Depends-on): Likewise.
55827         * modules/getsockopt (Depends-on): Likewise.
55828         * modules/getsubopt (Depends-on): Likewise.
55829         * modules/getusershell (Depends-on): Likewise.
55830         * modules/glob (Depends-on): Likewise.
55831         * modules/grantpt (Depends-on): Likewise.
55832         * modules/iconv_open (Depends-on): Likewise.
55833         * modules/iconv_open-utf (Depends-on): Likewise.
55834         * modules/inet_ntop (Depends-on): Likewise.
55835         * modules/inet_pton (Depends-on): Likewise.
55836         * modules/ioctl (Depends-on): Likewise.
55837         * modules/isapipe (Depends-on): Likewise.
55838         * modules/isfinite (Depends-on): Likewise.
55839         * modules/isinf (Depends-on): Likewise.
55840         * modules/lchown (Depends-on): Likewise.
55841         * modules/ldexpl (Depends-on): Likewise.
55842         * modules/link (Depends-on): Likewise.
55843         * modules/linkat (Depends-on): Likewise.
55844         * modules/listen (Depends-on): Likewise.
55845         * modules/logl (Depends-on): Likewise.
55846         * modules/lstat (Depends-on): Likewise.
55847         * modules/mbrlen (Depends-on): Likewise.
55848         * modules/mbrtowc (Depends-on): Likewise.
55849         * modules/mbsinit (Depends-on): Likewise.
55850         * modules/mbsnrtowcs (Depends-on): Likewise.
55851         * modules/mbsrtowcs (Depends-on): Likewise.
55852         * modules/mbtowc (Depends-on): Likewise.
55853         * modules/memcmp (Depends-on): Likewise.
55854         * modules/mkdir (Depends-on): Likewise.
55855         * modules/mkdtemp (Depends-on): Likewise.
55856         * modules/mkfifo (Depends-on): Likewise.
55857         * modules/mkfifoat (Depends-on): Likewise.
55858         * modules/mknod (Depends-on): Likewise.
55859         * modules/mkostemp (Depends-on): Likewise.
55860         * modules/mkostemps (Depends-on): Likewise.
55861         * modules/mkstemp (Depends-on): Likewise.
55862         * modules/mkstemps (Depends-on): Likewise.
55863         * modules/mktime (Depends-on): Likewise.
55864         * modules/nanosleep (Depends-on): Likewise.
55865         * modules/open (Depends-on): Likewise.
55866         * modules/openat (Depends-on): Likewise.
55867         * modules/perror (Depends-on): Likewise.
55868         * modules/poll (Depends-on): Likewise.
55869         * modules/popen (Depends-on): Likewise.
55870         * modules/posix_spawn (Depends-on): Likewise.
55871         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
55872         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55873         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55874         * modules/posix_spawnp (Depends-on): Likewise.
55875         * modules/pread (Depends-on): Likewise.
55876         * modules/printf-posix (Depends-on): Likewise.
55877         * modules/ptsname (Depends-on): Likewise.
55878         * modules/putenv (Depends-on): Likewise.
55879         * modules/pwrite (Depends-on): Likewise.
55880         * modules/readline (Depends-on): Likewise.
55881         * modules/readlink (Depends-on): Likewise.
55882         * modules/readlinkat (Depends-on): Likewise.
55883         * modules/recv (Depends-on): Likewise.
55884         * modules/recvfrom (Depends-on): Likewise.
55885         * modules/regex (Depends-on): Likewise.
55886         * modules/remove (Depends-on): Likewise.
55887         * modules/rename (Depends-on): Likewise.
55888         * modules/renameat (Depends-on): Likewise.
55889         * modules/rmdir (Depends-on): Likewise.
55890         * modules/round (Depends-on): Likewise.
55891         * modules/roundf (Depends-on): Likewise.
55892         * modules/roundl (Depends-on): Likewise.
55893         * modules/rpmatch (Depends-on): Likewise.
55894         * modules/select (Depends-on): Likewise.
55895         * modules/send (Depends-on): Likewise.
55896         * modules/sendto (Depends-on): Likewise.
55897         * modules/setenv (Depends-on): Likewise.
55898         * modules/setlocale (Depends-on): Likewise.
55899         * modules/setsockopt (Depends-on): Likewise.
55900         * modules/shutdown (Depends-on): Likewise.
55901         * modules/sigaction (Depends-on): Likewise.
55902         * modules/signbit (Depends-on): Likewise.
55903         * modules/sigprocmask (Depends-on): Likewise.
55904         * modules/sinl (Depends-on): Likewise.
55905         * modules/sleep (Depends-on): Likewise.
55906         * modules/snprintf (Depends-on): Likewise.
55907         * modules/snprintf-posix (Depends-on): Likewise.
55908         * modules/socket (Depends-on): Likewise.
55909         * modules/sprintf-posix (Depends-on): Likewise.
55910         * modules/sqrtl (Depends-on): Likewise.
55911         * modules/stat (Depends-on): Likewise.
55912         * modules/strchrnul (Depends-on): Likewise.
55913         * modules/strdup-posix (Depends-on): Likewise.
55914         * modules/strerror (Depends-on): Likewise.
55915         * modules/strerror_r-posix (Depends-on): Likewise.
55916         * modules/strndup (Depends-on): Likewise.
55917         * modules/strnlen (Depends-on): Likewise.
55918         * modules/strptime (Depends-on): Likewise.
55919         * modules/strsep (Depends-on): Likewise.
55920         * modules/strsignal (Depends-on): Likewise.
55921         * modules/strstr-simple (Depends-on): Likewise.
55922         * modules/strtod (Depends-on): Likewise.
55923         * modules/strtoimax (Depends-on): Likewise.
55924         * modules/strtok_r (Depends-on): Likewise.
55925         * modules/strtoumax (Depends-on): Likewise.
55926         * modules/symlink (Depends-on): Likewise.
55927         * modules/symlinkat (Depends-on): Likewise.
55928         * modules/tanl (Depends-on): Likewise.
55929         * modules/tcgetsid (Depends-on): Likewise.
55930         * modules/tmpfile (Depends-on): Likewise.
55931         * modules/trunc (Depends-on): Likewise.
55932         * modules/truncf (Depends-on): Likewise.
55933         * modules/truncl (Depends-on): Likewise.
55934         * modules/uname (Depends-on): Likewise.
55935         * modules/unlink (Depends-on): Likewise.
55936         * modules/unlockpt (Depends-on): Likewise.
55937         * modules/unsetenv (Depends-on): Likewise.
55938         * modules/usleep (Depends-on): Likewise.
55939         * modules/utimensat (Depends-on): Likewise.
55940         * modules/vasprintf (Depends-on): Likewise.
55941         * modules/vdprintf (Depends-on): Likewise.
55942         * modules/vdprintf-posix (Depends-on): Likewise.
55943         * modules/vfprintf-posix (Depends-on): Likewise.
55944         * modules/vprintf-posix (Depends-on): Likewise.
55945         * modules/vsnprintf (Depends-on): Likewise.
55946         * modules/vsnprintf-posix (Depends-on): Likewise.
55947         * modules/vsprintf-posix (Depends-on): Likewise.
55948         * modules/wcrtomb (Depends-on): Likewise.
55949         * modules/wcscasecmp (Depends-on): Likewise.
55950         * modules/wcscspn (Depends-on): Likewise.
55951         * modules/wcsdup (Depends-on): Likewise.
55952         * modules/wcsncasecmp (Depends-on): Likewise.
55953         * modules/wcsnrtombs (Depends-on): Likewise.
55954         * modules/wcspbrk (Depends-on): Likewise.
55955         * modules/wcsrtombs (Depends-on): Likewise.
55956         * modules/wcsspn (Depends-on): Likewise.
55957         * modules/wcsstr (Depends-on): Likewise.
55958         * modules/wcstok (Depends-on): Likewise.
55959         * modules/wcswidth (Depends-on): Likewise.
55960         * modules/wctob (Depends-on): Likewise.
55961         * modules/wctomb (Depends-on): Likewise.
55962         * modules/wctype (Depends-on): Likewise.
55963         * modules/wcwidth (Depends-on): Likewise.
55964         * modules/write (Depends-on): Likewise.
55966 2011-05-03  Bruno Haible  <bruno@clisp.org>
55968         Support for conditional dependencies.
55969         * doc/gnulib.texi (Module description): Document the syntax of
55970         conditional dependencies.
55971         * gnulib-tool: New option --conditional-dependencies.
55972         (func_usage): Document it.
55973         (cond_dependencies): New variable.
55974         (func_get_automake_snippet_conditional,
55975         func_get_automake_snippet_unconditional): New functions, extracted from
55976         func_get_automake_snippet.
55977         (func_get_automake_snippet): Use them.
55978         (sed_first_32_chars): New variable.
55979         (func_module_shellfunc_name): New function.
55980         (func_module_shellvar_name): New function.
55981         (func_module_conditional_name): New function.
55982         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
55983         func_cond_module_condition): New functions.
55984         (func_modules_transitive_closure): Add support for conditional
55985         dependencies.
55986         (func_emit_lib_Makefile_am): For a conditional module, enclose the
55987         conditional automake snippet in an automake conditional.
55988         (func_emit_autoconf_snippets): Emit shell functions that contain the
55989         code for conditional modules.
55990         (func_import, func_create_testdir): Update specification.
55992 2011-05-03  Eric Blake  <eblake@redhat.com>
55994         test-getaddrinfo: report error information
55995         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
55997 2011-05-03  Jim Meyering  <meyering@redhat.com>
55999         bootstrap: avoid build failure when $GZIP is set
56000         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
56001         program name.  If defined at all, it is supposed to list gzip options.
56002         Reported by Alan Curry in http://debbugs.gnu.org/8609
56004 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
56006         readme-release: new module with release instructions
56007         * modules/readme-release: New module.
56008         * top/README-release: New file, from coreutils, grep, diffutils.
56009         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56011 2011-05-02  Eric Blake  <eblake@redhat.com>
56013         fflush: also replace fclose when fixing fflush
56014         * modules/fflush (Depends-on): Add fclose.
56015         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
56016         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
56017         memstreams with no backing fd.
56018         * doc/posix-functions/fclose.texi (fclose): Document the use of
56019         fflush module to fix the bug.
56020         * tests/test-fclose.c (main): Relax test when fclose is used in
56021         isolation.
56023         fclose: add some tests
56024         * modules/fclose-tests: New test module.
56025         * tests/test-fclose.c: New file.
56026         * doc/posix-functions/fclose.texi (fclose): Document the bug.
56028         fclose: reduced dependencies
56029         * modules/fclose (Depends-on): Switch from fflush/fseeko to
56030         simpler lseek.
56031         * lib/fclose.c (rpl_fclose): Likewise.
56032         Reported by Simon Josefsson.
56034         exit: drop remaining clients
56035         * modules/argmatch (Depends-on): Replace exit with stdlib.
56036         * modules/copy-file (Depends-on): Likewise.
56037         * modules/execute (Depends-on): Likewise.
56038         * modules/exitfail (Depends-on): Likewise.
56039         * modules/obstack (Depends-on): Likewise.
56040         * modules/pagealign_alloc (Depends-on): Likewise.
56041         * modules/pipe-filter-gi (Depends-on): Likewise.
56042         * modules/pipe-filter-ii (Depends-on): Likewise.
56043         * modules/savewd (Depends-on): Likewise.
56044         * modules/spawn-pipe (Depends-on): Likewise.
56045         * modules/wait-process (Depends-on): Likewise.
56046         * modules/xsetenv (Depends-on): Likewise.
56047         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
56048         * modules/git-merge-changelog (Depends-on): Likewise.
56049         * modules/long-options (Depends-on): Likewise.
56050         * modules/pt_chown (Depends-on): Likewise.
56051         * modules/sysexits (Depends-on): Likewise.
56053         freading: relax license from LGPLv3+ to LGPLv2+
56054         * modules/freading (License): Relax LGPL version.
56056 2011-05-02  Bruno Haible  <bruno@clisp.org>
56058         fchdir: Remove unused dependencies.
56059         * modules/fchdir (Depends-on): Remove include_next.
56061 2011-05-02  Bruno Haible  <bruno@clisp.org>
56063         gnulib-tool: Refactor.
56064         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
56065         from func_emit_autoconf_snippets.
56066         (func_emit_autoconf_snippets): Use it.
56068 2011-05-02  Simon Josefsson  <simon@josefsson.org>
56070         * NEWS: Document removal of 'exit'.
56071         * modules/exit: Remove file.
56073 2011-05-01  Bruno Haible  <bruno@clisp.org>
56075         Update DEPENDENCIES.
56076         * DEPENDENCIES (gettext): Recommend the newest release.
56077         Reported by Simon Josefsson.
56079 2011-05-01  Bruno Haible  <bruno@clisp.org>
56081         gnulib-tool: Reduce code duplication.
56082         * gnulib-tool (func_emit_autoconf_snippets): New function.
56083         (func_import, func_create_testdir): Use it.
56085 2011-04-30  Eric Blake  <eblake@redhat.com>
56087         fclose: don't fail on non-seekable input stream
56088         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
56089         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
56090         since fflush is allowed to fail in that case.
56092 2011-04-30  Bruno Haible  <bruno@clisp.org>
56094         dup3: cleanup
56095         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
56097 2011-04-30  Bruno Haible  <bruno@clisp.org>
56099         netdb: Make it work in C++ mode.
56100         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
56101         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
56102         module.
56103         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
56104         gl_MODULE_INDICATOR_FOR_TESTS.
56105         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
56106         * modules/netdb-c++-tests: New file.
56107         * tests/test-netdb-c++.cc: New file.
56109 2011-04-30  Bruno Haible  <bruno@clisp.org>
56111         New modules 'vfscanf', 'vscanf'.
56112         * modules/vfscanf: New file.
56113         * modules/vscanf: New file.
56114         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
56115         here.
56116         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
56117         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
56119 2011-04-30  Bruno Haible  <bruno@clisp.org>
56121         passfd: Add comments.
56122         * lib/passfd.c: Add comments about platforms.
56124 2011-04-30  Bruno Haible  <bruno@clisp.org>
56126         sys_uio: Make <sys/uio.h> self-contained.
56127         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
56128         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
56130 2011-04-30  Bruno Haible  <bruno@clisp.org>
56132         sys_socket: Ensure 'struct iovec' definition.
56133         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
56134         <sys/socket.h>.
56135         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
56137 2011-04-30  Bruno Haible  <bruno@clisp.org>
56139         sys_uio: Protect definition of 'struct iovec'.
56140         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
56141         it as a C struct.
56143 2011-04-30  Bruno Haible  <bruno@clisp.org>
56145         manywarnings: fix indentation
56146         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56148 2011-04-30  Pádraig Brady  <P@draigBrady.com>
56150         manywarnings: add -Wno-missing-field-initializers if needed.
56151         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
56152         option if it's needed to allow initialization with { 0, }
56154 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
56156         announce-gen: cosmetic improvement
56157         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
56159 2011-04-29  Jim Meyering  <meyering@redhat.com>
56161         vc-list-files: indent with spaces, not TABs
56162         * build-aux/vc-list-files: Convert leading TABs to spaces,
56163         to match the style of most other files in gnulib.
56165         announce-gen: indent with spaces, not TABs
56166         * build-aux/announce-gen: Convert all TABs to spaces, to match
56167         the style of most other files in gnulib.
56169 2011-04-29  Eric Blake  <eblake@redhat.com>
56171         quotearg: avoid uninitialized variable use
56172         * lib/quotearg.c (quoting_options_from_style): Initialize
56173         remaining fields, and ensure that custom styles are only used via
56174         quoting_options rather than quoting_style.
56176 2011-04-29  Jim Meyering  <meyering@redhat.com>
56178         maint.mk: remove unused VC-tag variable
56179         * top/maint.mk (VC-tag): Remove unused variable.
56181 2011-04-29  Bruno Haible  <bruno@clisp.org>
56183         netdb: fix gai_strerror replacements
56184         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
56185         * modules/netdb: Substitute it.
56187 2011-04-29  Jim Meyering  <meyering@redhat.com>
56189         test-getcwd.c: avoid new set-but-not-used warning
56190         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
56191         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
56192         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
56193         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
56195         test-hash.c: avoid a new shadowing warning
56196         * tests/test-hash.c (main): Don't shadow "dup".
56198 2011-04-28  Eric Blake  <eblake@redhat.com>
56200         getaddrinfo: fix gai_strerror signature
56201         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
56202         and work around mingw with UNICODE defined.
56203         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
56204         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
56205         * modules/netdb (Makefile.am): Substitute it.
56206         * lib/netdb.in.h (gai_strerror): Declare replacement.
56207         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
56208         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
56209         the fix.
56211         getsockopt: avoid compiler warning
56212         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
56213         Reported by Matthias Bolte.
56215         tests: drop unused link dependency
56216         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
56217         * modules/dirent-safer-tests (Makefile.am): Likewise.
56218         * modules/fdopendir-tests (Makefile.am): Likewise.
56219         * modules/mkfifoat-tests (Makefile.am): Likewise.
56220         * modules/openat-safer-tests (Makefile.am): Likewise.
56221         * modules/openat-tests (Makefile.am): Likewise.
56222         * modules/readlinkat-tests (Makefile.am): Likewise.
56223         * modules/symlinkat-tests (Makefile.am): Likewise.
56224         * modules/linkat-tests (Makefile.am): Likewise.
56225         (Depends-on): Switch to filenamecat-lgpl.
56226         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
56227         LIBINTL.
56228         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
56229         * tests/test-linkat.c (main): Don't require xalloc.
56231         hash, mgetgroups: drop xalloc dependency
56232         * lib/hash.c (includes): Adjust includes.
56233         * lib/mgetgroups.c (includes): Likewise.
56234         (xgetgroups): Move...
56235         * lib/xgetgroups.c: ...to new file.
56236         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
56237         * modules/xgetgroups: New file, split from...
56238         * modules/mgetgroups: ...here.
56239         (Depends-on): Add xalloc-oversized.
56240         * modules/hash (Depends-on): Likewise.
56241         * modules/hash-tests (Depends-on): Drop xalloc.
56242         (test_hash_LDADD): Drop unused library.
56243         * tests/test-hash.c (main): Break xalloc dependency.
56244         (includes): Drop unused include.
56246         xalloc-oversized: new module
56247         * modules/xalloc-oversized: New module.
56248         * modules/xalloc (Depends-on): Add it.
56249         * lib/xalloc.h (xalloc_oversized): Move...
56250         * lib/xalloc-oversized.h: ...into new file.
56252         utimecmp: drop dependency on xmalloc
56253         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
56254         due to memory pressure.
56255         * modules/utimecmp (Depends-on): Drop xalloc.
56257 2011-04-27  Eric Blake  <eblake@redhat.com>
56259         getcwd: fix mingw bugs
56260         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
56261         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
56262         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
56264 2011-04-27  Bruno Haible  <bruno@clisp.org>
56266         mkstemps: Ensure declaration on MacOS X 10.5.
56267         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
56268         * doc/glibc-functions/mkstemps.texi: Document header file problem on
56269         MacOS X.
56271 2011-04-27  Bruno Haible  <bruno@clisp.org>
56273         mkstemp: More documentation.
56274         * doc/posix-functions/mkstemp.texi: Document header file problem on
56275         MacOS X.
56277 2011-04-27  Bruno Haible  <bruno@clisp.org>
56279         mkstemp: Tweak configure message when cross-compiling.
56280         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
56281         result as a guess.
56283 2011-04-27  Bruno Haible  <bruno@clisp.org>
56285         clean-temp: Clarify what it does.
56286         * lib/clean-temp.h: Add more comments.
56287         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
56288         module.
56289         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
56290         * doc/glibc-functions/mkstemps.texi: Likewise.
56291         * doc/glibc-functions/mkostemps.texi: Likewise.
56293 2011-04-27  Eric Blake  <eblake@redhat.com>
56295         fchdir: avoid extra chdir and fix test
56296         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
56297         getcwd-lgpl.
56298         * lib/fchdir.c (get_name): Any absolute name will do; it does not
56299         have to be canonical.
56300         (canonicalize_file_name): Drop unused macro.
56301         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
56303         filenamecat-lgpl: fix licence
56304         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
56305         when it was first created.
56307         linkat, renameat: add missing dependency
56308         * modules/linkat (Depends-on): Require getcwd-lgpl.
56309         * modules/renameat (Depends-on): Likewise.
56311         tests: reduce dependencies
56312         * tests/test-linkat.c (main): Use lighter-weight getcwd.
56313         * tests/test-renameat.c (main): Likewise.
56314         * modules/linkat-tests (Depends-on): Relax dependency.
56315         * modules/renameat-tests (Depends-on): Likewise.
56316         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
56317         dependency explicit.
56319         save-cwd: reduce default dependency
56320         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
56321         * lib/save-cwd.c: Update comments.
56322         * NEWS: Document the semantic change.
56324         getcwd: enhance tests
56325         * tests/test-getcwd-lgpl.c: New file, taken from...
56326         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
56327         repeat long path stress tests from m4 probe.
56328         * modules/getcwd-lgpl-tests: New module.
56329         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
56330         * m4/getcwd-abort-bug.m4: Update comment.
56331         * m4/getcwd-path-max.m4: Likewise.
56333         getcwd-lgpl: new module
56334         * modules/getcwd-lgpl: New module.
56335         * lib/getcwd-lgpl.c: New file.
56336         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56337         * MODULES.html.sh (lacking POSIX:2008): Likewise.
56338         * modules/getcwd (configure.ac): Set C witness.
56339         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
56341         getcwd: tweak comments
56342         * m4/getcwd-abort-bug.m4: Fix comments.
56343         * m4/getcwd-path-max.m4: Likewise.
56344         * m4/getcwd.m4: Likewise.
56346 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56347         and Eric Blake  <eblake@redhat.com>
56349         mkstemp: replace if system version uses wrong permissions
56350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
56351         read/write mode bits set in file created by mkstemp.
56352         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
56354 2011-04-27  Eric Blake  <eblake@redhat.com>
56356         passfd: avoid compiler warning
56357         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
56358         Reported by Laine Stump.
56360 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
56362         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
56363         required by the NetBSD (and perhaps other 4.4BSD derived) join.
56365 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56366         and Eric Blake  <eblake@redhat.com>
56368         mkstemp: mention clean-temp module
56369         * lib/mkstemp.c: Add comment.
56370         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
56372 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56374         inttypes: also provide default values for 32-bit tests
56375         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
56376         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
56378 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56380         strtoumax: remove dependency on strtoimax
56381         This is like the strtoull change of yesterday.
56382         * modules/strtoumax (Files): Add lib/strtoimax.c.
56383         (Depends-on): Remove strtoimax and add verify.
56385         inttypes-incomplete: new module
56386         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
56387         all but the PRI* and SCN* parts of gl_INTTYPES_H.
56388         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
56389         of gl_INTTYPES_H.
56390         (gl_INTTYPES_H): Rewrite in terms of these new macros.
56391         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
56392         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
56393         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
56394         * modules/strtoumax, modules/xstrtol (Depends-on):
56395         Depend on inttypes-incomplete, not inttypes.
56396         * modules/inttypes-incomplete: New module, containing the contents
56397         of the old modules/inttypes module, except that the Files: section
56398         omits m4/inttypes-pri.m4, and the configure.ac section invokes
56399         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
56400         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
56401         (Depends-on): Depend only on inttypes-incomplete.
56402         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
56404         inttypes: omit now-redundant strtoimax and strtoumax work
56405         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
56406         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
56408         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
56409         This supports apps that need pointers to strtoimax and strtoumax,
56410         and ports to HP-UX 11.00 64.bit, which has macros that expand to
56411         nonexistent functions.  See
56412         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
56413         et seq.
56414         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
56415         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
56416         a macro.
56417         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56419 2011-04-25  Simon Josefsson  <simon@josefsson.org>
56421         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
56423 2011-04-25  Bruno Haible  <bruno@clisp.org>
56425         strtol, strtoul: Mark modules as obsolete.
56426         * modules/strtol (Status, Notice): New sections.
56427         * modules/strtoul (Status, Notice): New sections.
56429 2011-04-25  Bruno Haible  <bruno@clisp.org>
56431         strtod: Remove check for strtod, unless supporting old platforms.
56432         * modules/strtod-obsolete: New file.
56433         * m4/strtod-obsolete.m4: New file.
56434         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
56435         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
56436         * modules/strtod (Depends-on): Add strtod-obsolete.
56437         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
56439 2011-04-25  Bruno Haible  <bruno@clisp.org>
56441         strcase: Make module obsolete.
56442         * modules/strcase (Status, Notice): New sections.
56444 2011-04-25  Bruno Haible  <bruno@clisp.org>
56446         dup2: Remove check for dup2, unless supporting old obsolete platforms.
56447         * modules/dup2-obsolete: New file.
56448         * m4/dup2-obsolete.m4: New file.
56449         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
56450         gl_FUNC_DUP2_OBSOLETE is not also defined.
56451         * modules/dup2 (Depends-on): Add dup2-obsolete.
56452         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
56454 2011-04-25  Bruno Haible  <bruno@clisp.org>
56456         strnlen: Avoid memchr related link error on old obsolete platforms.
56457         * modules/memchr-obsolete: New file.
56458         * m4/memchr-obsolete.m4: New file.
56459         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
56460         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
56461         * modules/memchr (Depends-on): Add memchr-obsolete.
56462         * modules/strnlen (Depends-on): Likewise.
56463         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
56465 2011-04-25  Jim Meyering  <meyering@redhat.com>
56467         maint.mk: makefile_at_at_check extend and clean up
56468         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
56469         in addition to */Makefile.am.
56470         Exempt legitimate uses of @VAR@ notation, e.g.,
56471         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
56472         Remove obsolete coreutils-specific comment.
56473         Prompted by discussion here:
56474         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
56476 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56478         strtoul: remove dependency on strtol
56479         This is so that 'configure' need not check for strtol merely because
56480         the application needs strtoul.
56481         * modules/strtoul (Files): Add lib/strtol.c.
56482         (Depends-on): Remove strtol.
56484         strtoull: remove dependency on strtoul
56485         This is like the strtoll change.
56486         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
56487         (Depends-on): Remove strtoul.
56489         strtoll: remove dependency on strtol
56490         This is so that 'configure' need not check for strtol merely because
56491         the application needs strtoll.
56492         * modules/strtoll (Files): Add lib/strtol.c.
56493         (Depends-on): Remove strtol.
56495 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56497         inttypes: Move some configure check to module 'imaxdiv'.
56498         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
56499         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
56500         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
56502 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56504         inttypes: Move some configure check to module 'imaxabs'.
56505         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
56506         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
56507         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
56509 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56511         inttypes: Remove configure tests that are not needed since 2009-12-31.
56512         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
56513         gl_cv_header_working_inttypes_h.
56515 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56517         * modules/strnlen (Depends-on): Remove memchr.
56518         The strnlen implementation doesn't need the memchr module's fixes; see
56519         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
56521         strtol: remove dependency on wchar
56522         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
56523         * modules/strtol (Depends-on): Remove wchar.
56525 2011-04-21  Eric Blake  <eblake@redhat.com>
56527         passfd: fix test regression on Linux
56528         * modules/passfd-tests (configure.ac): Correct socketpair check.
56530         passfd: speed up configure and drop unused code
56531         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
56532         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
56533         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
56534         Instead of probing at configure for unix_scm_rights_bsd44_way,
56535         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
56536         check to a struct member probe.
56537         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
56538         (sendfd, recvfd): Update preprocessor checks.
56539         * modules/passfd (Files): Reflect rename, and drop unused file.
56540         (Depends-on): Drop unused dependency.
56542         passfd: allow compilation on mingw
56543         * modules/sys_socket (Depends-on): Add sys_uio.
56544         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
56545         iovec and a minimal struct msghdr.
56546         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
56547         * tests/test-sys_socket.c (main): Enhance test.
56548         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
56549         guaranteed to provide what we need.
56550         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
56551         * modules/passfd-tests (Depends-on): Add sys_wait.
56552         * tests/test-passfd.c (main): Skip test on mingw, for now.
56553         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
56554         partial 'struct msghdr' implementation.
56556         sys_uio: new module
56557         * modules/sys_uio: New module.
56558         * modules/sys_uio-tests: Likewise.
56559         * lib/sys_uio.in.h: New file.
56560         * m4/sys_uio_h.m4: Likewise.
56561         * tests/test-sys_uio.c: Likewise.
56562         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
56563         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
56565 2011-04-20  Jim Meyering  <meyering@redhat.com>
56567         useless-if-before-free: avoid false-positive
56568         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
56569         disjunct so that it too requires a terminating ";".  Without that,
56570         this script would identify as useless one statement from gcc that
56571         was not:
56572           if (aligned_ptr)
56573             free (((void **) aligned_ptr) [-1]);
56575 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
56577         doc: update users.txt.
56578         * users.txt: Add barcode.
56580 2011-04-19  Bruno Haible  <bruno@clisp.org>
56582         ioctl: Remove link dependency on native Windows.
56583         * lib/fd-hook.h: Renamed from lib/close-hook.h.
56584         (gl_close_fn, gl_ioctl_fn): New types.
56585         (struct fd_hook): Renamed from struct close_hook. Change type of
56586         private_close_fn field. Add private_ioctl_fn field.
56587         (close_hook_fn): Add parameter for primary close method.
56588         (execute_close_hooks, execute_all_close_hooks): Likewise.
56589         (ioctl_hook_fn): New type.
56590         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
56591         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56592         argument.
56593         (unregister_fd_hook): Renamed from unregister_close_hook.
56594         * lib/fd-hook.c: Renamed from lib/close-hook.c.
56595         Don't include <unistd.h>.
56596         (close): Remove undef.
56597         (anchor): Update.
56598         (execute_close_hooks): Add argument for primary close method.
56599         (execute_all_close_hooks): Likewise.
56600         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
56601         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56602         argument. Allow each argument to be NULL.
56603         (unregister_fd_hook): Renamed from unregister_close_hook.
56604         * lib/close.c (rpl_close): Pass 'close' function pointer to
56605         execute_all_close_hooks.
56606         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
56607         (primary_ioctl): New function.
56608         (ioctl): Don't call ioctlsocket here. Instead, call
56609         execute_all_ioctl_hooks.
56610         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
56611         close method.
56612         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
56613         (fd_sockets_hook): Renamed from close_sockets_hook.
56614         (gl_sockets_startup, gl_sockets_cleanup): Update.
56615         * modules/fd-hook: Renamed from modules/close-hook. Update.
56616         * modules/close (Depends-on): Add fd-hook, remove close-hook.
56617         * modules/sockets (Depends-on): Likewise.
56618         * modules/ioctl (Depends-on): Add fd-hook.
56619         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
56620         GNULIB_SOCKET.
56622 2011-04-19  Bruno Haible  <bruno@clisp.org>
56624         Move the support of O_NONBLOCK in open() to the 'open' module.
56625         * modules/nonblocking (Depends-on): Remove 'open'.
56626         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
56627         gl_cv_have_open_O_NONBLOCK.
56628         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
56629         O_NONBLOCK support.
56630         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
56632 2011-04-17  Bruno Haible  <bruno@clisp.org>
56634         pipe2: Simplify code.
56635         * lib/pipe2.c (pipe2): Reduce code duplication.
56637 2011-04-17  Bruno Haible  <bruno@clisp.org>
56639         nonblocking: Add comment.
56640         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
56642 2011-04-17  Bruno Haible  <bruno@clisp.org>
56644         nonblocking: Add tests for sockets.
56645         * tests/test-nonblocking-socket.sh: New file.
56646         * tests/test-nonblocking-socket-main.c: New file.
56647         * tests/test-nonblocking-socket-child.c: New file.
56648         * tests/test-nonblocking-socket.h: New file.
56649         * tests/socket-server.h: New file.
56650         * tests/socket-client.h: New file.
56651         * modules/nonblocking-socket-tests: New file.
56652         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
56654 2011-04-17  Bruno Haible  <bruno@clisp.org>
56656         nonblocking: Add tests for pipes.
56657         * tests/test-nonblocking-pipe.sh: New file.
56658         * tests/test-nonblocking-pipe-main.c: New file.
56659         * tests/test-nonblocking-pipe-child.c: New file.
56660         * tests/test-nonblocking-pipe.h: New file.
56661         * tests/test-nonblocking-writer.h: New file.
56662         * tests/test-nonblocking-reader.h: New file.
56663         * tests/test-nonblocking-misc.h: New file.
56664         * modules/nonblocking-pipe-tests: New file.
56665         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
56667 2011-04-16  Bruno Haible  <bruno@clisp.org>
56669         gettext: Clarify the needed programmer actions.
56670         * modules/gettext (Notice): New field.
56671         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56673 2011-04-16  Bruno Haible  <bruno@clisp.org>
56675         strchrnul: Tweak last commit.
56676         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
56677         bug.
56678         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
56679         as in _GL_FUNCDECL_SYS.
56680         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
56681         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
56683 2011-04-15  Eric Blake  <eblake@redhat.com>
56685         strchrnul: work around cygwin bug
56686         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
56687         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
56688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
56689         * modules/string (Makefile.am): Substitute it.
56690         * lib/string.in.h (strchrnul): Use it.
56692 2011-04-15  Bruno Haible  <bruno@clisp.org>
56694         Don't require lib/stdio-write.c when only module 'stdio' is used.
56695         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
56696         invocation.
56697         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
56699 2011-04-14  Bruno Haible  <bruno@clisp.org>
56701         Support non-blocking pipe I/O in read() on native Windows.
56702         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
56703         (read): New declaration.
56704         * lib/read.c: New file.
56705         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
56706         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
56707         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
56708         vscanf): New declarations.
56709         * lib/stdio-read.c: New file.
56710         * m4/read.m4: New file.
56711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
56712         REPLACE_READ.
56713         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
56714         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56715         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
56716         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
56717         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
56718         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56719         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56720         * modules/read: New file.
56721         * modules/nonblocking (Files): Add lib/stdio-read.c.
56722         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
56723         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
56724         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56725         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56726         * modules/pread (Depends-on): Add read.
56727         * modules/safe-read (Depends-on): Likewise.
56728         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
56729         gets, scanf, vfscanf, vscanf): Verify signatures.
56730         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
56731         problem with non-blocking pipes.
56732         * doc/posix-functions/fgetc.texi: Likewise.
56733         * doc/posix-functions/fgets.texi: Likewise.
56734         * doc/posix-functions/fread.texi: Likewise.
56735         * doc/posix-functions/fscanf.texi: Likewise.
56736         * doc/posix-functions/getc.texi: Likewise.
56737         * doc/posix-functions/getchar.texi: Likewise.
56738         * doc/posix-functions/gets.texi: Likewise.
56739         * doc/posix-functions/scanf.texi: Likewise.
56740         * doc/posix-functions/vfscanf.texi: Likewise.
56741         * doc/posix-functions/vscanf.texi: Likewise.
56743 2011-04-14  Bruno Haible  <bruno@clisp.org>
56745         Support non-blocking pipe I/O in write() on native Windows.
56746         * lib/write.c (rpl_write): Split a write request that failed merely
56747         because the byte count was larger than the pipe buffer's size.
56748         * doc/posix-functions/write.texi: Mention the problem with large byte
56749         counts.
56751 2011-04-14  Bruno Haible  <bruno@clisp.org>
56753         wchar: Ensure that wchar_t gets defined on uClibc.
56754         * lib/wchar.in.h: On uClibc, include <stddef.h>.
56755         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
56757 2011-04-13  Bruno Haible  <bruno@clisp.org>
56759         safe-write, full-read: Avoid unnecessary compilation units.
56760         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
56761         (Depends-on): Remove safe-read. Add ssize_t.
56762         * modules/full-read (Files): Add lib/full-write.c.
56763         (Depends-on): Add full-write.
56765 2011-04-13  Bruno Haible  <bruno@clisp.org>
56767         Support non-blocking pipe I/O and SIGPIPE in pwrite().
56768         * modules/pwrite (Depends-on): Add 'write'.
56770 2011-04-13  Bruno Haible  <bruno@clisp.org>
56772         Support non-blocking pipe I/O in write() on native Windows.
56773         * lib/unistd.in.h (write): Enable replacement also if
56774         GNULIB_UNISTD_H_NONBLOCKING is 1.
56775         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
56776         (rpl_write): When failing to write on a non-blocking pipe, change
56777         errno from ENOSPC to EAGAIN.
56778         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
56779         putchar, puts, vfprintf, vprintf): Enable replacement also if
56780         GNULIB_STDIO_H_NONBLOCKING is 1.
56781         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
56782         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
56783         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
56784         CALL_WITH_SIGPIPE_EMULATION.
56785         (CALL_WITH_SIGPIPE_EMULATION): Use them.
56786         * m4/nonblocking.m4: New file.
56787         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
56788         for non-blocking I/O support.
56789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56790         GNULIB_UNISTD_H_NONBLOCKING.
56791         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
56792         required for non-blocking I/O support.
56793         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
56794         * modules/nonblocking (Files): Add m4/nonblocking.m4,
56795         lib/stdio-write.c, m4/asm-underscore.m4.
56796         (Depends-on): Add stdio, unistd.
56797         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
56798         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
56799         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
56800         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
56801         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
56802         problem with non-blocking pipes.
56803         * doc/posix-functions/fputc.texi: Likewise.
56804         * doc/posix-functions/fputs.texi: Likewise.
56805         * doc/posix-functions/fwrite.texi: Likewise.
56806         * doc/posix-functions/printf.texi: Likewise.
56807         * doc/posix-functions/putc.texi: Likewise.
56808         * doc/posix-functions/putchar.texi: Likewise.
56809         * doc/posix-functions/puts.texi: Likewise.
56810         * doc/posix-functions/vfprintf.texi: Likewise.
56811         * doc/posix-functions/vprintf.texi: Likewise.
56812         * doc/posix-functions/write.texi: Likewise.
56814 2011-04-10  Jim Meyering  <meyering@redhat.com>
56816         maint.mk: prohibit doubled words
56817         Detect them also when they're separated by a newline.
56818         There are 3 ways to customize it:
56819           - disable the test on a per file basis, as usual with rules using
56820             $(VC_LIST_EXCEPT)
56821           - replace the default doubled-word-selecting regexp (affects all files)
56822           - ignore a particular file-vs-doubled-word match
56823         I nearly used that last one to ignore the "is is" match in
56824         coreutils' NEWS file, since the text was "ls -is is ..."
56825         To do that, I would have added this line to cfg.mk:
56826           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
56827         but it would have ignored any "is is" match in NEWS.
56828         Low probability, but still...
56829         Instead, I changed the text, slightly:
56830           -  ls -is is now consistent with ls -lis in ignoring values returned
56831           +  "ls -is" is now consistent with ls -lis in ignoring values returned
56832         * top/maint.mk (prohibit_double_word_RE_): Provide default.
56833         (prohibit_doubled_word_): Define.
56834         (sc_prohibit_doubled_word): New rule.
56835         (sc_prohibit_the_the): Remove.  Subsumed by the above.
56837 2011-04-10  Jim Meyering  <meyering@redhat.com>
56839         maint: fix doubled-word typo in comment
56840         * m4/gethostname.m4: s/is is/it is/
56841         * m4/getdomainname.m4: Likewise.
56843 2011-04-10  Jim Meyering  <meyering@redhat.com>
56845         maint: remove doubled word: s/it it/it/
56846         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
56848 2011-04-10  Jim Meyering  <meyering@redhat.com>
56850         maint.mk: remove useless semicolon and backslash
56851         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
56852         semicolon and backslash.
56854 2011-04-10  Bruno Haible  <bruno@clisp.org>
56856         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
56857         * modules/stdint-tests (Depends-on): Add wchar.
56859 2011-04-10  Jim Meyering  <meyering@redhat.com>
56861         maint: remove doubled words in comments, e.g., s/a a/a/
56862         * lib/strptime.c (day_of_the_week): s/the the/the/
56863         * tests/test-chown.h (test_chown): s/a a/a/
56865         test-chown.h: correct a cast
56866         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
56867         when the destination is a stat.st_gid.
56869 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
56871         getaddrinfo: Fix test for sa_len member.
56872         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
56873         include <sys/types.h> before <sys/socket.h>.
56875 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
56877         maint: change "can not" to "cannot"
56878         * doc/posix-functions/iconv.texi (iconv): This one crossed line
56879         boundaries.
56881 2011-04-09  Jim Meyering  <meyering@redhat.com>
56883         maint: change "a a" to "a"
56884         * tests/test-lchown.h (test_lchown): s/a a/a/
56886         maint.mk: prohibit \<the the\>
56887         * top/maint.mk (sc_prohibit_the_the): New rule.
56889         maint: fix "the the" in comment
56890         * lib/count-one-bits.h: s/the the/the/
56892         maint: change "can not" to "cannot"
56893         But do not change the occurrences in maintain.texi or in
56894         build-aux/po/Makefile.in.in, which I presume comes from gettext.
56895         * doc/gnulib-tool.texi: s/can not/cannot/
56896         * doc/posix-functions/accept.texi (accept): Likewise.
56897         * doc/posix-functions/socket.texi (socket): Likewise.
56898         * lib/mbrtowc.c: Likewise.
56900         maint.mk: prohibit use of "can not"
56901         * top/maint.mk (sc_prohibit_can_not): New rule.
56902         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
56904 2011-04-09  Bruno Haible  <bruno@clisp.org>
56906         careadlinkat: Guard against misuse of careadlinkatcwd.
56907         * lib/careadlinkat.c: Include <stdlib.h>.
56908         (careadlinkatcwd): Check that the fd argument is as expected.
56910 2011-04-09  Bruno Haible  <bruno@clisp.org>
56912         careadlinkat: Use common coding style.
56913         * lib/careadlinkat.c: Move gnulib includes after system includes.
56915 2011-04-09  Bruno Haible  <bruno@clisp.org>
56917         careadlinkat: Clarify specification.
56918         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
56919         (careadlinkatcwd): Add comment.
56920         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
56922 2011-04-09  Bruno Haible  <bruno@clisp.org>
56924         areadlinkat: Avoid link error on many platforms.
56925         * modules/areadlinkat (Depends-on): Add areadlink.
56927 2011-04-09  Bruno Haible  <bruno@clisp.org>
56929         allocator, careadlinkat: Fix double-inclusion guard.
56930         * lib/allocator.h: Fix double-inclusion guard.
56931         * lib/careadlinkat.h: Likewise.
56933 2011-04-09  Bruno Haible  <bruno@clisp.org>
56935         relocatable-prog-wrapper: Update after module 'areadlink' changed.
56936         * lib/relocwrapper.c: Update dependencies hierarchy.
56937         * build-aux/install-reloc: Update list of files to be compiled.
56938         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
56939         lib/allocator.[hc].
56941 2011-04-08  Eric Blake  <eblake@redhat.com>
56943         strftime: silence gnulib-tool warning
56944         * modules/strftime-tests (Depends-on): Drop automatic dependency.
56946 2011-04-08  Bruno Haible  <bruno@clisp.org>
56948         verify: Fix syntax error with GCC 4.6 in C++ mode.
56949         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
56950         (HAVE_STATIC_ASSERT): New macro.
56951         (verify_true, verify): Use 'static_assert' if it is supported and
56952         '_Static_assert' is not supported.
56954 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
56956         allocator: New module.
56957         * modules/allocator, lib/allocator.c: New files.
56958         * lib/allocator.h (stdlib_allocator): New decl.
56959         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
56960         Remove.  Do not include <stdlib.h>.
56961         (careadlinkat): Use stdlib_allocator instead of rolling our own.
56962         * modules/careadlinkat (Files): Remove lib/allocator.h.
56963         (Depends-on): Add allocator.
56965         stdlib: let modules use system malloc, realloc
56966         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
56967         if !_GL_USE_STDLIB_ALLOC.
56968         (malloc, realloc): Limit this change to a smaller scope.
56970         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
56971         (malloc, realloc): Don't #undef; no longer needed.
56972         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56973         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56974         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56975         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56976         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56977         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56978         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56979         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56981         careadlinkat: rename members to avoid problem
56982         * lib/allocator.h (struct allocator): Rename members from
56983         malloc/realloc to allocate/reallocate, to avoid problems if malloc
56984         and realloc are #define'd.  Reported by Eric Blake in
56985         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
56986         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
56988 2011-04-08  Eric Blake  <eblake@redhat.com>
56990         nonblocking: reduce dependency
56991         * tests/test-nonblocking.c: Only test sockets when in use.
56992         * modules/nonblocking-tests (Depends-on): Drop socket.
56993         (Makefile.am): Link even if sockets are not present.
56994         * modules/pipe2-tests (Makefile.am): Likewise.
56995         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
56997         pipe2: fix O_NONBLOCK support on mingw
56998         * modules/pipe2 (Depends-on): Add nonblocking.
56999         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
57000         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
57001         * tests/test-nonblocking.c (main): Likewise.
57002         * modules/pipe2-tests (Makefile.am): Avoid link failure.
57004         fcntl-h: fix O_ACCMODE on cygwin
57005         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
57006         * lib/fcntl.in.h (O_ACCMODE): Fix it.
57008         pipe-filter: drop O_NONBLOCK workarounds
57009         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
57010         * modules/pipe-filter-ii (Depends-on): Likewise.
57011         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
57013         nonblocking: provide O_NONBLOCK for mingw
57014         * modules/nonblocking (Depends-on): Add open.
57015         (configure.ac): Set new witness macro.
57016         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
57017         * modules/fcntl-h (Makefile.am): Substitute it.
57018         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
57019         nonblocking module is in use.
57020         * lib/nonblocking.c: Adjust portability test.
57021         * lib/open.c (open): Don't let native open see gnulib flag.
57022         * tests/test-fcntl-h.c (main): Enhance test.
57023         * tests/test-open.h (test_open): Likewise.
57024         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
57026         careadlinkat: fix compilation error on mingw
57027         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
57028         within struct allocator.
57030 2011-04-06  Eric Blake  <eblake@redhat.com>
57032         binary-io: relicense under LGPLv2+
57033         * modules/binary-io (License): Relax to LGPLv2+.
57034         Requested for libvirt, and required by pipe2.
57036 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
57038         verify: use _Static_assert if available
57039         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
57040         (verify_true, verify): Use it if available.  This generates better
57041         diagnostics with GCC 4.6.0 and later.
57043 2011-04-05  Bruno Haible  <bruno@clisp.org>
57045         Remove leftover generated .h files after config.status changed.
57047         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
57048         GL_GENERATE_ALLOCA_H.
57049         * modules/alloca-opt (Makefile.am): Remove alloca.h if
57050         GL_GENERATE_ALLOCA_H evaluates to false.
57052         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
57053         GL_GENERATE_ARGZ_H.
57054         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
57055         evaluates to false.
57057         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
57058         GL_GENERATE_BYTESWAP_H.
57059         * modules/byteswap (Makefile.am): Remove byteswap.h if
57060         GL_GENERATE_BYTESWAP_H evaluates to false.
57062         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
57063         GL_GENERATE_ERRNO_H.
57064         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
57065         evaluates to false.
57067         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
57068         GL_GENERATE_FLOAT_H.
57069         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
57070         evaluates to false.
57072         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
57073         GL_GENERATE_FNMATCH_H.
57074         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
57075         GL_GENERATE_FNMATCH_H evaluates to false.
57077         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
57078         GL_GENERATE_GLOB_H.
57079         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
57080         evaluates to false.
57082         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
57083         automake conditional GL_GENERATE_ICONV_H.
57084         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
57085         evaluates to false.
57087         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
57088         GL_GENERATE_NETINET_IN_H.
57089         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
57090         GL_GENERATE_NETINET_IN_H evaluates to false.
57092         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
57093         conditional GL_GENERATE_PTHREAD_H.
57094         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
57095         * modules/pthread (Makefile.am): Remove pthread.h if
57096         GL_GENERATE_PTHREAD_H evaluates to false.
57098         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
57099         GL_GENERATE_SCHED_H.
57100         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
57101         evaluates to false.
57103         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
57104         conditional GL_GENERATE_SELINUX_CONTEXT_H.
57105         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
57106         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
57108         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
57109         GL_GENERATE_STDARG_H.
57110         * modules/stdarg (Makefile.am): Remove stdarg.h if
57111         GL_GENERATE_STDARG_H evaluates to false.
57113         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
57114         GL_GENERATE_STDBOOL_H.
57115         * modules/stdbool (Makefile.am): Remove stdbool.h if
57116         GL_GENERATE_STDBOOL_H evaluates to false.
57118         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
57119         conditional GL_GENERATE_STDDEF_H.
57120         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
57121         * modules/stddef (Makefile.am): Remove stddef.h if
57122         GL_GENERATE_STDDEF_H evaluates to false.
57124         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
57125         GL_GENERATE_STDINT_H.
57126         * modules/stdint (Makefile.am): Remove stdint.h if
57127         GL_GENERATE_STDINT_H evaluates to false.
57129         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
57130         GL_GENERATE_SYSEXITS_H.
57131         * modules/sysexits (Makefile.am): Remove sysexits.h if
57132         GL_GENERATE_SYSEXITS_H evaluates to false.
57134         Reported by Karl Berry and Ralf Wildenhues.
57136 2011-04-05  Bruno Haible  <bruno@clisp.org>
57138         Ensure to rebuild generated .h files when config.status has changed.
57139         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
57140         config.status.
57141         * modules/ctype (Makefile.am): Likewise.
57142         * modules/dirent (Makefile.am): Likewise.
57143         * modules/errno (Makefile.am): Likewise.
57144         * modules/fcntl-h (Makefile.am): Likewise.
57145         * modules/float (Makefile.am): Likewise.
57146         * modules/getopt-posix (Makefile.am): Likewise.
57147         * modules/glob (Makefile.am): Likewise.
57148         * modules/iconv-h (Makefile.am): Likewise.
57149         * modules/inttypes (Makefile.am): Likewise.
57150         * modules/langinfo (Makefile.am): Likewise.
57151         * modules/locale (Makefile.am): Likewise.
57152         * modules/math (Makefile.am): Likewise.
57153         * modules/netdb (Makefile.am): Likewise.
57154         * modules/netinet_in (Makefile.am): Likewise.
57155         * modules/poll-h (Makefile.am): Likewise.
57156         * modules/pthread (Makefile.am): Likewise.
57157         * modules/pty (Makefile.am): Likewise.
57158         * modules/sched (Makefile.am): Likewise.
57159         * modules/search (Makefile.am): Likewise.
57160         * modules/selinux-h (Makefile.am): Likewise.
57161         * modules/signal (Makefile.am): Likewise.
57162         * modules/spawn (Makefile.am): Likewise.
57163         * modules/stdarg (Makefile.am): Likewise.
57164         * modules/stdbool (Makefile.am): Likewise.
57165         * modules/stddef (Makefile.am): Likewise.
57166         * modules/stdint (Makefile.am): Likewise.
57167         * modules/stdio (Makefile.am): Likewise.
57168         * modules/stdlib (Makefile.am): Likewise.
57169         * modules/string (Makefile.am): Likewise.
57170         * modules/strings (Makefile.am): Likewise.
57171         * modules/sys_file (Makefile.am): Likewise.
57172         * modules/sys_ioctl (Makefile.am): Likewise.
57173         * modules/sys_select (Makefile.am): Likewise.
57174         * modules/sys_socket (Makefile.am): Likewise.
57175         * modules/sys_stat (Makefile.am): Likewise.
57176         * modules/sys_time (Makefile.am): Likewise.
57177         * modules/sys_times (Makefile.am): Likewise.
57178         * modules/sys_utsname (Makefile.am): Likewise.
57179         * modules/sys_wait (Makefile.am): Likewise.
57180         * modules/sysexits (Makefile.am): Likewise.
57181         * modules/termios (Makefile.am): Likewise.
57182         * modules/time (Makefile.am): Likewise.
57183         * modules/unistd (Makefile.am): Likewise.
57184         * modules/wchar (Makefile.am): Likewise.
57185         * modules/wctype-h (Makefile.am): Likewise.
57186         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
57188 2011-04-05  Bruno Haible  <bruno@clisp.org>
57190         pipe2: Relicense under LGPLv2+.
57191         * modules/pipe2 (License): Change to LGPLv2+.
57192         Requested by Eric Blake, for libvirt.
57194 2011-04-05  Bruce Korb  <bkorb@gnu.org>
57196         bootstrap: compute gnulib_extra_files after updating build_aux
57197         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
57198         change build_aux or also supply gnulib_extra_files.  Handle correctly.
57200 2011-04-05  Eric Blake  <eblake@redhat.com>
57202         bootstrap: preserve git whitelist item sorting
57203         * build-aux/bootstrap (sort_patterns): New function.
57204         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
57206 2011-04-05  Simon Josefsson  <simon@josefsson.org>
57208         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
57209         sc_space_tab check.
57211 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57213         areadlink, areadlinkat: rewrite in terms of careadlinkat
57214         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
57215         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
57216         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
57217         (malloc, realloc): Remove #undefs.
57218         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
57219         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
57220         readlink, ssize_t, stdint, unistd.
57221         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
57222         areadlink, stdint.
57224         careadlinkat: new module
57225         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
57226         * modules/careadlinkat: New files, written by me with
57227         a review and feedback from Ben Pfaff in
57228         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
57230 2011-04-01  Bruno Haible  <bruno@clisp.org>
57232         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
57233         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
57234         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
57235         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
57236         Reported by Bruce Korb <bruce.korb@gmail.com>.
57238 2011-04-01  Bruno Haible  <bruno@clisp.org>
57240         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
57241         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
57242         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
57243         * modules/wcpcpy (Depends-on): Add extensions.
57244         * modules/wcpncpy (Depends-on): Likewise.
57245         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
57246         systems.
57247         * doc/posix-functions/wcpncpy.texi: Likewise.
57248         * doc/posix-functions/wcwidth.texi: Likewise.
57250 2011-03-31  Eric Blake  <eblake@redhat.com>
57252         nonblocking: fix mingw test failures
57253         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
57254         non-blocking flag on regular file.
57255         (get_nonblocking_flag): Set errno on invalid fd.
57256         * tests/test-nonblocking.c (main): Avoid test failure on
57257         directories if fchdir is not active.
57258         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
57260 2011-03-31  Bruno Haible  <bruno@clisp.org>
57262         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
57263         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
57264         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
57265         Reported by Simon Josefsson <simon@josefsson.org>.
57267 2011-03-31  Bruno Haible  <bruno@clisp.org>
57268         and Eric Blake  <eblake@redhat.com>
57270         nonblocking: new module
57271         * modules/nonblocking: New module.
57272         * modules/nonblocking-tests: Likewise.
57273         * lib/nonblocking.h: New file.
57274         * lib/nonblocking.c: Likewise.
57275         * tests/test-nonblocking.c: New test.
57276         * lib/ioctl.c (ioctl) [mingw]: Update comment.
57278 2011-03-30  Bruno Haible  <bruno@clisp.org>
57280         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
57281         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
57282         instead of 'printf' format for GCC >= 4.4.
57283         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
57284         (fprintf, printf, vfprintf, vprintf): Declare with
57285         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
57286         the system's vfprintf() function.
57287         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
57289 2011-03-30  Eric Blake  <eblake@redhat.com>
57291         passfd: fix scoping bug
57292         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
57293         before sendmsg/recvmsg.
57295         passfd: standardize coding conventions
57296         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
57297         can be learned at compile time.
57298         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
57299         ifdefs.
57300         (sendfd, recvfd): Follow gnulib code conventions.
57302         passfd: fix incorrect sendmsg arguments
57303         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
57304         incorrect msg_controllen value.
57305         * modules/passfd-tests (Depends-on): Check for alarm.
57306         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
57307         Reported by Bastien ROUCARIES.
57309 2011-03-30  Bruno Haible  <bruno@clisp.org>
57311         c-strcasestr: Relicense under LGPLv2+.
57312         * modules/c-strcasestr (License): Change to LGPLv2+.
57313         Requested by Eric Blake, for libvirt.
57315 2011-03-30  Simon Josefsson  <simon@josefsson.org>
57317         * users.txt: Add libidn2.  Fix libtasn1 link.
57319 2011-03-30  Jim Meyering  <meyering@redhat.com>
57321         tests: readlink* ("",... fails with EINVAL on newer kernels
57322         readlink and readlinkat have typically failed with ENOENT for
57323         the invalid, empty file name,  "".  However, with the advent
57324         of linux-2.6.39, they fail with EINVAL.
57325         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
57326         when operating on the empty file name.
57327         * tests/test-readlink.h (test_readlink): Likewise.
57329 2011-03-29  Bruno Haible  <bruno@clisp.org>
57331         Relicense some modules under LGPLv2+, for libidn2.
57332         * modules/array-mergesort (License): Change to LGPLv2+.
57333         * modules/c-strcaseeq (License): Likewise.
57334         * modules/striconveh (License): Likewise.
57335         * modules/striconveha (License): Likewise.
57336         * modules/uniconv/base (License): Likewise.
57337         * modules/uniconv/u8-conv-from-enc (License): Likewise.
57338         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
57339         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
57340         * modules/unictype/base (License): Likewise.
57341         * modules/unictype/bidiclass-of (License): Likewise.
57342         * modules/unictype/category-M (License): Likewise.
57343         * modules/unictype/category-none (License): Likewise.
57344         * modules/unictype/category-of (License): Likewise.
57345         * modules/unictype/category-test (License): Likewise.
57346         * modules/unictype/category-test-withtable (License): Likewise.
57347         * modules/unictype/combining-class (License): Likewise.
57348         * modules/unictype/joiningtype-of (License): Likewise.
57349         * modules/unictype/scripts (License): Likewise.
57350         * modules/uninorm/base (License): Likewise.
57351         * modules/uninorm/canonical-decomposition (License): Likewise.
57352         * modules/uninorm/composition (License): Likewise.
57353         * modules/uninorm/decompose-internal (License): Likewise.
57354         * modules/uninorm/decomposition-table (License): Likewise.
57355         * modules/uninorm/nfc (License): Likewise.
57356         * modules/uninorm/nfd (License): Likewise.
57357         * modules/uninorm/u32-normalize (License): Likewise.
57358         * modules/unistr/base (License): Likewise.
57359         * modules/unistr/u32-cpy (License): Likewise.
57360         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
57361         * modules/unistr/u32-to-u8 (License): Likewise.
57362         * modules/unistr/u32-uctomb (License): Likewise.
57363         * modules/unistr/u8-check (License): Likewise.
57364         * modules/unistr/u8-mblen (License): Likewise.
57365         * modules/unistr/u8-mbtouc (License): Likewise.
57366         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
57367         * modules/unistr/u8-mbtoucr (License): Likewise.
57368         * modules/unistr/u8-prev (License): Likewise.
57369         * modules/unistr/u8-strlen (License): Likewise.
57370         * modules/unistr/u8-to-u32 (License): Likewise.
57371         * modules/unistr/u8-uctomb (License): Likewise.
57372         * modules/unitypes (License): Likewise.
57373         Requested by Simon Josefsson.
57375 2011-03-29  Simon Josefsson  <simon@josefsson.org>
57377         lib-symbol-visibility: Add a notice.
57378         * modules/lib-symbol-visibility (Notice): New field.
57380 2011-03-29  Bruno Haible  <bruno@clisp.org>
57382         getaddrinfo: Doc fix.
57383         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
57384         section "fixed in Gnulib".
57386 2011-03-28  Simon Josefsson  <simon@josefsson.org>
57388         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
57389         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
57391 2011-03-26  Bruno Haible  <bruno@clisp.org>
57393         unictype/property-byname: Reduce the number of load-time relocations.
57394         * lib/unictype/pr_byname.c: Include <stdlib.h>.
57395         (UC_PROPERTY_INDEX_*): New enumeration values.
57396         (uc_property_byname): Convert an index from the lookup table to an
57397         uc_property_t.
57398         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
57399         values.
57401 2011-03-26  Bruno Haible  <bruno@clisp.org>
57403         unictype/property-byname: Allow omitted word separators and aliases.
57404         * lib/unictype/pr_byname.gperf: Add property names without word
57405         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
57406         for 'space'.
57408 2011-03-26  Bruno Haible  <bruno@clisp.org>
57410         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
57411         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
57412         also hyphens to space.
57413         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
57414         without spaces.
57415         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
57417 2011-03-26  Bruno Haible  <bruno@clisp.org>
57419         unictype/joiningtype-byname: Recognize long names as well.
57420         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
57421         a long name.
57422         * lib/unictype/joiningtype_byname.c: Include <string.h>,
57423         unictype/joiningtype_byname.h.
57424         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
57425         * lib/unictype/joiningtype_byname.gperf: New file.
57426         * modules/unictype/joiningtype-byname (Files): Add
57427         lib/unictype/joiningtype_byname.gperf.
57428         (Depends-on): Add gperf.
57429         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
57430         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
57431         long names.
57433         Tests for module 'unictype/joiningtype-longname'.
57434         * modules/unictype/joiningtype-longname-tests: New file.
57435         * tests/unictype/test-joiningtype_longname.c: New file.
57437         New module 'unictype/joiningtype-longname'.
57438         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
57439         * lib/unictype/joiningtype_longname.c: New file.
57440         * modules/unictype/joiningtype-longname: New file.
57441         * modules/unictype/joiningtype-all (Depends-on): Add
57442         unictype/joiningtype-longname.
57444 2011-03-26  Bruno Haible  <bruno@clisp.org>
57446         unictype/bidiclass-byname: Recognize long names as well.
57447         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
57448         name.
57449         * lib/unictype/bidi_byname.c: Include <string.h>,
57450         unictype/bidi_byname.h.
57451         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
57452         * lib/unictype/bidi_byname.gperf: New file.
57453         * modules/unictype/bidiclass-byname (Files): Add
57454         lib/unictype/bidi_byname.gperf.
57455         (Depends-on): Add gperf.
57456         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
57457         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
57458         long names.
57460         Tests for module 'unictype/bidiclass-longname'.
57461         * modules/unictype/bidiclass-longname-tests: New file.
57462         * tests/unictype/test-bidi_longname.c: New file.
57464         New module 'unictype/bidiclass-longname'.
57465         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
57466         * lib/unictype/bidi_longname.c: New file.
57467         * modules/unictype/bidiclass-longname: New file.
57468         * modules/unictype/bidiclass-all (Depends-on): Add
57469         unictype/bidiclass-longname.
57471 2011-03-26  Bruno Haible  <bruno@clisp.org>
57473         unictype/bidi*: Rename modules.
57474         * modules/unictype/bidiclass-all: Renamed from
57475         modules/unictype/bidicategory-all.
57476         * modules/unictype/bidiclass-name: Renamed from
57477         modules/unictype/bidiclass-name.
57478         (Description): Update.
57479         * modules/unictype/bidiclass-name-tests: Renamed from
57480         modules/unictype/bidicategory-name-tests.
57481         * modules/unictype/bidiclass-byname: Renamed from
57482         modules/unictype/bidicategory-byname.
57483         (Description): Update.
57484         * modules/unictype/bidiclass-byname-tests: Renamed from
57485         modules/unictype/bidicategory-byname-tests.
57486         * modules/unictype/bidiclass-of: Renamed from
57487         modules/unictype/bidicategory-of.
57488         (Description): Update.
57489         * modules/unictype/bidiclass-of-tests: Renamed from
57490         modules/unictype/bidicategory-of-tests.
57491         * modules/unictype/bidiclass-test: Renamed from
57492         modules/unictype/bidicategory-test.
57493         (Description): Update.
57494         * modules/unictype/bidiclass-test-tests: Renamed from
57495         modules/unictype/bidicategory-test-tests.
57496         * modules/unictype/bidicategory-all: New file, a simple redirection.
57497         * modules/unictype/bidicategory-name: Likewise.
57498         * modules/unictype/bidicategory-byname: Likewise.
57499         * modules/unictype/bidicategory-of: Likewise.
57500         * modules/unictype/bidicategory-test: Likewise.
57501         * modules/unictype/property-bidi-* (Dependencies): Update.
57502         * lib/unictype/bidi_*.c: Update comment.
57504 2011-03-26  Bruno Haible  <bruno@clisp.org>
57506         unictype/bidi*: Rename functions, part 2.
57507         * modules/unictype/bidicategory-name (configure.ac): Update required
57508         libunistring version.
57509         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
57511 2011-03-25  Bruno Haible  <bruno@clisp.org>
57513         New module 'unictype/combining-class-all'.
57514         * modules/unictype/combining-class-all: New file.
57516         Tests for module 'unictype/combining-class-byname'.
57517         * modules/unictype/combining-class-byname-tests: New file.
57518         * tests/unictype/test-combiningclass_byname.c: New file.
57520         New module 'unictype/combining-class-byname'.
57521         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
57522         * lib/unictype/combiningclass_byname.c: New file.
57523         * lib/unictype/combiningclass_byname.gperf: New file.
57524         * modules/unictype/combining-class-byname: New file.
57526         Tests for module 'unictype/combining-class-longname'.
57527         * modules/unictype/combining-class-longname-tests: New file.
57528         * tests/unictype/test-combiningclass_longname.c: New file.
57530         New module 'unictype/combining-class-longname'.
57531         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
57532         * lib/unictype/combiningclass_longname.c: New file.
57533         * modules/unictype/combining-class-longname: New file.
57535         Tests for module 'unictype/combining-class-name'.
57536         * modules/unictype/combining-class-name-tests: New file.
57537         * tests/unictype/test-combiningclass_name.c: New file.
57539         New module 'unictype/combining-class-name'.
57540         * lib/unictype.in.h (uc_combining_class_name): New declaration.
57541         * lib/unictype/combiningclass_name.c: New file.
57542         * modules/unictype/combining-class-name: New file.
57544 2011-03-25  Bruno Haible  <bruno@clisp.org>
57546         unictype/combining-class: Rename source files.
57547         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
57548         of unictype/combining.h.
57549         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
57550         Update.
57551         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
57552         * modules/unictype/combining-class (Description): Fix.
57553         (Files, Makefile.am): Update.
57554         * tests/unictype/test-combiningclass.c: Renamed from
57555         tests/unictype/test-combining.c.
57556         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
57558 2011-03-25  Bruno Haible  <bruno@clisp.org>
57560         unictype: Update list of canonical combining classes.
57561         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
57563 2011-03-25  Bruno Haible  <bruno@clisp.org>
57565         unictype/category-byname: Recognize long names as well.
57566         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
57567         a long name.
57568         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
57569         unictype/categ_byname.h.
57570         (UC_CATEGORY_INDEX_*): New enumeration values.
57571         (uc_general_category_byname): Use uc_general_category_lookup and
57572         convert from index to value.
57573         * lib/unictype/categ_byname.gperf: New file.
57574         * modules/unictype/category-byname (Files): Add
57575         lib/unictype/categ_byname.gperf.
57576         (Depends-on): Add gperf.
57577         (Makefile.am): Add rule for generating unictype/categ_byname.h.
57578         * tests/unictype/test-categ_byname.c (main): Test the recognition of
57579         long names.
57581         Tests for module 'unictype/category-longname'.
57582         * modules/unictype/category-longname-tests: New file.
57583         * tests/unictype/test-categ_longname.c: New file.
57585         New module 'unictype/category-longname'.
57586         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
57587         * lib/unictype/categ_longname.c: New file.
57588         * modules/unictype/category-longname: New file.
57589         * modules/unictype/category-all (Depends-on): Add it.
57591 2011-03-25  Bruno Haible  <bruno@clisp.org>
57593         Tests for module 'unictype/category-LC'.
57594         * modules/unictype/category-LC-tests: New file.
57595         * tests/unictype/test-categ_LC.c: New file, automatically generated.
57597         New module 'unictype/category-LC'.
57598         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
57599         (UC_CATEGORY_LC): New declaration.
57600         (UC_CASED_LETTER): New macro.
57601         * lib/gen-uni-tables.c (is_category_LC): New function.
57602         (output_categories): Also handle category LC.
57603         (UC_CATEGORY_MASK_LC): New enumeration value.
57604         (general_category_byname): Also handle category LC.
57605         * lib/unictype/categ_LC.c: New file.
57606         * lib/unictype/categ_LC.h: New file, automatically generated.
57607         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
57608         category LC.
57609         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
57610         * modules/unictype/category-LC: New file.
57611         * modules/unictype/category-byname (Depends-on): Add
57612         unictype/category-LC.
57613         * modules/unictype/category-all (Depends-on): Likewise.
57615 2011-03-25  Eric Blake  <eblake@redhat.com>
57617         xmalloc: revert yesterday's regression
57618         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
57619         realloc's underlying behavior (allowing allocation of zero-size
57620         objects, especially if malloc-gnu is also in use).
57622 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
57624         maint.mk: add missing version to VC-tag
57625         * top/maint.mk: git tag was missing actual tag name; add it.
57627         valgrind: do leak checking, and exit with code 1 on error (not 0)
57628         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
57629         to VALGRIND.
57631 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
57633         posix-modules: say what it does.
57634         * posix-modules: Add a line to the --help output saying what it does.
57636 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
57638         xmalloc: Do not leak if underlying realloc is C99 compatible.
57639         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
57640         This avoids a leak on C99-based systems.  See
57641         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
57643 2011-03-24  Eric Blake  <eblake@redhat.com>
57645         realloc: document portability problem
57646         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
57647         passing 0 size to realloc.
57649 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
57651         doc: update users.txt
57652         * users.txt: Add cvsps, tmpwatch
57654 2011-03-23  Matt Rice  <ratmice@gmail.com>
57656         doc: update users.txt
57657         * users.txt: Add gdb.
57659 2011-03-23  Jim Meyering  <meyering@redhat.com>
57661         doc: update users.txt
57662         Looking through matches up to the following URL (there are still
57663         several more pages), I found several projects that use gnulib:
57664         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
57665         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
57666         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
57668 2011-03-22  Bruno Haible  <bruno@clisp.org>
57670         unictype/bidi*: Rename functions.
57671         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
57672         uc_bidi_class, uc_is_bidi_class): New declarations.
57673         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
57674         uc_bidi_category_byname.
57675         (uc_bidi_category_byname): New function.
57676         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
57677         u_bidi_category_name.
57678         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
57679         (uc_bidi_category_name): New function.
57680         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
57681         uc_bidi_category.
57682         (uc_bidi_category): New function.
57683         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
57684         uc_is_bidi_category. Invoke uc_bidi_class.
57685         (uc_is_bidi_category): New function.
57686         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
57687         instead of uc_bidi_category_byname.
57688         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
57689         instead of uc_bidi_category_name.
57690         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
57691         uc_bidi_category.
57692         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
57693         instead of uc_is_bidi_category.
57695 2011-03-21  Bruno Haible  <bruno@clisp.org>
57697         New module 'unictype/joininggroup-all'.
57698         * modules/unictype/joininggroup-all: New file.
57700         Tests for module 'unictype/joininggroup-of'.
57701         * modules/unictype/joininggroup-of-tests: New file.
57702         * tests/unictype/test-joininggroup_of.c: New file.
57703         * tests/unictype/test-joininggroup_of.h: New file, automatically
57704         generated by gen-uni-tables.
57706         New module 'unictype/joininggroup-of'.
57707         * modules/unictype/joininggroup-of: New file.
57708         * lib/unictype/joininggroup_of.c: New file.
57709         * lib/unictype/joininggroup_of.h: New file, automatically generated by
57710         gen-uni-tables.
57712         Tests for module 'unictype/joininggroup-byname'.
57713         * modules/unictype/joininggroup-byname-tests: New file.
57714         * tests/unictype/test-joininggroup_byname.c: New file.
57716         New module 'unictype/joininggroup-byname'.
57717         * modules/unictype/joininggroup-byname: New file.
57718         * lib/unictype/joininggroup_byname.c: New file.
57719         * lib/unictype/joininggroup_byname.gperf: New file.
57721         Tests for module 'unictype/joininggroup-name'.
57722         * modules/unictype/joininggroup-name-tests: New file.
57723         * tests/unictype/test-joininggroup_name.c: New file.
57725         New module 'unictype/joininggroup-name'.
57726         * modules/unictype/joininggroup-name: New file.
57727         * lib/unictype/joininggroup_name.c: New file.
57728         * lib/unictype/joininggroup_name.h: New file.
57730         New module 'unictype/joiningtype-all'.
57731         * modules/unictype/joiningtype-all: New file.
57733         Tests for module 'unictype/joiningtype-of'.
57734         * modules/unictype/joiningtype-of-tests: New file.
57735         * tests/unictype/test-joiningtype_of.c: New file.
57736         * tests/unictype/test-joiningtype_of.h: New file, automatically
57737         generated by gen-uni-tables.
57739         New module 'unictype/joiningtype-of'.
57740         * modules/unictype/joiningtype-of: New file.
57741         * lib/unictype/joiningtype_of.c: New file.
57742         * lib/unictype/joiningtype_of.h: New file, automatically generated by
57743         gen-uni-tables.
57745         Tests for module 'unictype/joiningtype-byname'.
57746         * modules/unictype/joiningtype-byname-tests: New file.
57747         * tests/unictype/test-joiningtype_byname.c: New file.
57749         New module 'unictype/joiningtype-byname'.
57750         * modules/unictype/joiningtype-byname: New file.
57751         * lib/unictype/joiningtype_byname.c: New file.
57753         Tests for module 'unictype/joiningtype-name'.
57754         * modules/unictype/joiningtype-name-tests: New file.
57755         * tests/unictype/test-joiningtype_name.c: New file.
57757         New module 'unictype/joiningtype-name'.
57758         * modules/unictype/joiningtype-name: New file.
57759         * lib/unictype/joiningtype_name.c: New file.
57761         unictype: Add support for Arabic shaping properties.
57762         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
57763         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
57764         declarations.
57765         (UC_JOINING_GROUP_*): New enumeration values.
57766         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
57767         declarations.
57768         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
57769         (unicode_joining_type): New variable.
57770         (UC_JOINING_GROUP_*): New enumeration values.
57771         (unicode_joining_group): New variable.
57772         (fill_arabicshaping, joining_type_as_c_identifier,
57773         output_joining_type_test, output_joining_type,
57774         joining_group_as_c_identifier, output_joining_group_test,
57775         output_joining_group): New functions.
57776         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
57777         fill_arabicshaping and output_joining_type_test, output_joining_type,
57778         output_joining_group_test, output_joining_group.
57779         Reported by Simon Josefsson.
57781 2011-03-21  Jim Meyering  <meyering@redhat.com>
57783         strftime: fix a bug in yesterday's change
57784         * lib/strftime.c (add): Accommodate width's initial value of -1.
57785         Otherwise, nstrftime would copy uninitialized data into
57786         the result buffer.
57788 2011-03-21  Jim Meyering  <meyering@redhat.com>
57790         tests: add strftime-tests module
57791         * tests/test-strftime.c: New file.
57792         * modules/strftime-tests: New module.
57794 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57796         strftime: don't assume a byte count fits in 'int'
57797         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
57798         found this problem by static analysis, using gcc -Wstrict-overflow
57799         (GCC 4.5.2, x86-64).  This reported an optimization that depended
57800         on an integer overflow having undefined behavior, but it turns out
57801         that the argument is a size, which might not fit in 'int' anyway,
57803 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57805         stdio: don't require ignore_value around fwrite
57807         This patch works around libc bug 11959
57808         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
57809         Without this patch, applications must often write
57810         ignore_value (fwrite (...)) even though the ignore_value is
57811         not helpful here.  It's common to write many objects, using
57812         fwrite/printf/etc., and then use ferror to detect output error.
57814         I considered making this patch optional, but decided against it,
57815         because libc is obviously being inconsistent here: there is no
57816         reason libc should insist that user code must inspect fwrite
57817         return's value without also insisting that it inspect printf's,
57818         putchar's, etc.  If user code wants to have a strict style where
57819         all these functions' values are checked (so that ferror need not
57820         be checked), we could add support for that style in a new gnulib
57821         module, but in the meantime it's better to be consistent and to
57822         support common usage.
57824         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
57825         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
57826         that we are compiling in checking mode, and if not C++, and
57827         if not already wrapping fwrite for some other reason.
57828         (fwrite): #define to rpl_fwrite if the latter is defined.
57830 2011-03-20  Bruno Haible  <bruno@clisp.org>
57832         verror: Fix compilation error introduced on 2011-02-13.
57833         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
57834         instead of __attribute__.
57835         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57837 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57838             Bruno Haible  <bruno@clisp.org>
57840         socklen: do not depend on sys_socket
57841         While trying to modify Emacs to use gnulib's socklen module,
57842         I discovered a circular dependency: socklen depends on sys_socket
57843         and vice versa.  Emacs can use socklen, but it does not need
57844         sys_socket because it has its own substitute for sys/socket.h.
57845         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
57846         gl_TYPE_SOCKLEN_T.
57847         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
57848         gl_PREREQ_SYS_H_SOCKET.
57849         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
57850         gl_PREREQ_SYS_H_SOCKET.
57851         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
57852         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
57853         * modules/socklen (Depends-on): Do not depend on sys_socket.
57854         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
57856 2011-03-20  Jim Meyering  <meyering@redhat.com>
57858         maint.mk: sort file names *after* new transformation
57859         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
57860         prefix would have led to an unwarranted failure in GNU parted.
57861         Sort after that transformation.
57863 2011-03-19  Jim Meyering  <meyering@redhat.com>
57865         maint.mk: fix po-file syntax-check rule
57866         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
57867         Patch by Bruno Haible.
57869 2011-03-19  Bruno Haible  <bruno@clisp.org>
57871         socklen: Update comment.
57872         * m4/socklen.m4: Update comment about platforms.
57874 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57875             Bruno Haible  <bruno@clisp.org>
57877         inet_ntop, inet_pton: Simplify.
57878         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
57879         documented to provide socklen_t and we already depend on sys_socket.
57880         * modules/inet_pton (Depends-on): Likewise.
57881         * lib/arpa_inet.in.h: Adjust comment.
57883 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57884             Bruno Haible  <bruno@clisp.org>
57886         netdb: Simplify.
57887         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
57888         documented to provide socklen_t and we already depend on sys_socket.
57889         * lib/netdb.in.h: Adjust comment.
57891 2011-03-19  Bruno Haible  <bruno@clisp.org>
57893         sys_socket, netdb: Document problem with socklen_t.
57894         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
57895         platforms.
57896         * doc/posix-headers/netdb.texi: Likewise.
57898 2011-03-18  Eric Blake  <eblake@redhat.com>
57900         maint.mk: let po check work in VPATH build
57901         * top/maint.mk (po_file): Allow cfg.mk override.
57902         (sc_po_check): Allow VPATH use.
57903         Reported by Jiri Denemark.
57905 2011-03-16  Jim Meyering  <meyering@redhat.com>
57907         maint.mk: allow fine-grained syntax-check exclusion via Make variables
57908         Before, you would have had to create one .x-sc_ file per rule in order
57909         to exempt offending files.  Now, you may instead use a Make variable --
57910         usually defined in cfg.mk -- whose name identifies the affected rule.
57911         * top/maint.mk (_sc_excl): Define.
57912         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
57913         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
57915 2011-03-13  Bruno Haible  <bruno@clisp.org>
57917         ignore-value tests: Avoid warnings.
57918         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
57919         empty for gcc < 3.4.
57921 2011-03-13  Bruno Haible  <bruno@clisp.org>
57923         passfd: Fix link error on Solaris.
57924         * modules/passfd (Description): Correct.
57925         (Depends-on): Add socketlib.
57926         (Link): New section.
57927         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
57929 2011-03-13  Bruno Haible  <bruno@clisp.org>
57931         passfd: Fix link error on AIX 5.2.
57932         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
57934 2011-03-13  Bruno Haible  <bruno@clisp.org>
57936         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
57937         * lib/sys_socket.in.h: Include <stddef.h>.
57938         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
57939         CMSG_FIRSTHDR. Remove unused variable.
57941 2011-03-13  Bruno Haible  <bruno@clisp.org>
57943         passfd: Fix compilation error on OpenBSD.
57944         * lib/passfd.c: Include <sys/uio.h>.
57946 2011-03-13  Bruno Haible  <bruno@clisp.org>
57948         passfd test: Fix warnings.
57949         * tests/test-passfd.c: Include <sys/wait.h>.
57950         (main): Fix typo.
57952 2011-03-13  Bruno Haible  <bruno@clisp.org>
57954         passfd module, part 4, tweaks.
57955         * tests/test-passfd.c: Reorder includes.
57956         (main): Fix perror and printf calls.
57958 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57960         passfd module, part 4.
57961         * modules/passfd-tests: New file.
57962         * tests/test-passfd.c: New file.
57964 2011-03-13  Jim Meyering  <meyering@redhat.com>
57966         Makefile: rely on GNU make; derive syntax-check rule names
57967         Rather than requiring that each sc_ rule be listed as a dependent
57968         of "check", use features of GNU make to derive the list.
57969         * Makefile (syntax-check-rules): Define.
57970         (check): Depend on the new variable, not the hard-coded list.
57972 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
57973             Bruno Haible  <bruno@clisp.org>
57975         passfd module, part 3.
57976         * lib/passfd.h (recvfd): Add a flags argument.
57977         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
57978         (recvfd): Add a flags argument.
57979         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
57980         exists.
57981         * modules/passfd (Depends-on): Add cloexec.
57982         Suggested by Eric Blake.
57984 2011-03-13  Bruno Haible  <bruno@clisp.org>
57986         passfd module, part 2, tweaks.
57987         * modules/passfd (Files): Reorder.
57988         (Depends-on): Remove errno.
57989         (Include): Remove <sys/socket.h>, <sys/un.h>.
57990         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
57991         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
57992         specification header. Include <sys/socket.h> always. Don't include
57993         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
57994         (sendfd): Clarify that it sets errno when it fails.
57995         (recvfd): Fix specification.
57997 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57999         passfd module, part 2.
58000         * modules/passfd: New file.
58001         * lib/passfd.h: New file.
58002         * lib/passfd.c: New file.
58004 2011-03-12  Bruno Haible  <bruno@clisp.org>
58006         wcswidth, mbswidth: Avoid integer overflow.
58007         * lib/wcswidth.c: Include <limits.h>.
58008         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
58009         * lib/mbswidth.c: Include <limits.h>.
58010         (mbsnwidth): Avoid 'int' overflow.
58011         Reported by Jim Meyering.
58013 2011-03-12  Bruno Haible  <bruno@clisp.org>
58015         futimens, utimensat: Avoid endless recursion on Solaris 10.
58016         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
58017         Solaris.
58018         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
58019         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
58021 2011-03-11  Jim Meyering  <meyering@redhat.com>
58023         maint.mk: relax a regexp to accommodate other formatting styles
58024         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
58025         between "ngettext" and the following "(".
58027 2011-03-11  Pádraig Brady  <P@draigBrady.com>
58029         maint.mk: suppress a false positive warning
58030         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
58031         diagnostics are marked with ngettext.
58033 2011-03-10  Eric Blake  <eblake@redhat.com>
58035         wchar: add explicit dependencies, for Tru64
58036         * modules/mbmemcasecoll (Depends-on): Add wchar.
58037         * modules/mbtowc (Depends-on): Likewise.
58038         * modules/vasnprintf (Depends-on): Likewise.
58039         * modules/unistdio/u-printf-args (Depends-on): Likewise.
58040         * modules/wctomb (Depends-on): Likewise.
58041         Reported by Peter O'Gorman.
58043 2011-03-08  Bruno Haible  <bruno@clisp.org>
58045         passfd module, part 1, tweaks.
58046         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
58047         Improve indentation. Improve AC_MSG_CHECKING messages.
58048         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
58049         gl_SOCKET_FAMILIES.
58051 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58053         passfd module, part 1.
58054         * m4/afunix.m4: New file.
58055         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
58056         sockets.
58058 2011-03-08  Bruno Haible  <bruno@clisp.org>
58060         regex-quote: New API.
58061         * lib/regex-quote.h: Include <stdbool.h>.
58062         (struct regex_quote_spec): New type.
58063         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58064         New declarations.
58065         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58066         'const struct regex_quote_spec *' argument.
58067         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
58068         (pcre_special): New constant.
58069         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58070         New functions.
58071         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58072         'const struct regex_quote_spec *' argument.
58073         * modules/regex-quote (Depends-on): Add stdbool.
58074         * tests/test-regex-quote.c (check): Update for new API. Add test for
58075         anchored results.
58076         * NEWS: Mention the API change.
58077         Reported by Reuben Thomas and Eric Blake.
58079 2011-03-06  Bruno Haible  <bruno@clisp.org>
58081         regex-quote: Fix creation of POSIX extended regular expressions.
58082         * lib/regex-quote.c (ere_special): Add grouping and alternation
58083         operators.
58085 2011-03-05  Bruno Haible  <bruno@clisp.org>
58087         doc: Improve doc regarding autopoint vs. gnulib.
58088         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
58089         disable autopoint while running autoreconf.
58090         Suggested by Ralf Wildenhues.
58092 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58094         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
58095         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
58097 2011-03-03  Bruce Korb  <bkorb@gnu.org>
58099         parse-duration: remove xalloc.h dependency
58100         * lib/parse-duration.c (parse_period): handle NULL return from
58101         strdup instead of calling xstrdup().
58102         * modules/parse-duration: remove "xalloc" dependency
58104 2011-03-03  Matthew Booth  <mbooth@redhat.com>
58106         bootstrap: honor m4_base when running aclocal
58107         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
58109 2011-03-02  Jim Meyering  <meyering@redhat.com>
58111         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
58112         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
58113         on request from Matt Booth.
58115 2011-03-01  Eric Blake  <eblake@redhat.com>
58117         test-link: work on Hurd
58118         * tests/test-link.h (test_link): Hurd rejects linking directories
58119         with EISDIR instead of the POSIX-mandated EPERM.
58121 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
58123         stdio: simplify by moving files to printf-posix, sigpipe
58124         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
58125         since this symbol is needed only if printf is replaced.
58126         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
58127         Require gl_ASM_SYMBOL_PREFIX.
58128         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
58129         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
58130         (Depends-on): Add 'raise'.
58131         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
58132         * modules/stdio (Files): Remove lib/stdio-write.c,
58133         m4/asm-underscore.m4.
58134         (Depends-on): Remove 'raise'.
58136         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
58137         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
58138         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
58139         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
58141 2011-02-28  Bruno Haible  <bruno@clisp.org>
58143         localcharset: Assume ANSI C behaviour of free().
58144         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
58145         calling free().
58146         Suggested by Simon Josefsson <simon@josefsson.org>.
58148 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
58149             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
58150             Bruno Haible  <bruno@clisp.org>  (tiny change)
58152         On Cygwin, use /proc file system instead of win32 API.
58153         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
58154         Win32 file names.
58155         (DllMain): Simplify by removing Cygwin specific code.
58156         (find_shared_library_fullname): Use Linux specific implementation also
58157         for Cygwin.
58158         (get_shared_library_fullname): Update accordingly.
58159         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
58160         Win32 file names.
58161         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
58162         Cygwin specific code.
58164 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
58165             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
58167         Fix OpenMP flag detection for various Fortran compilers.
58168         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
58169         OpenMP-conditional compilation construct, to force compile
58170         failure with missing OpenMP flag.
58171         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
58173 2011-02-25  Eric Blake  <eblake@redhat.com>
58175         strstr: expand test coverage
58176         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
58177         compilation.
58178         * tests/test-memmem.c (main): Duplicate tests.
58179         * tests/test-strcasestr.c (main): Likewise.
58180         * tests/test-c-strcasestr.c (main): Likewise.
58182 2011-02-25  Jim Meyering  <meyering@redhat.com>
58184         maint.mk: detect missing-NL-at-EOF, too
58185         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
58186         it also detects when a file lacks a newline at EOF.
58187         (require_exactly_one_NL_at_EOF_): Renamed from
58188         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
58189         since people may well have .x-sc_... file names tied to the
58190         existing name.  Suggested by Eric Blake.
58192 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58194         dirname: move m4/dos.m4 functionality into lib/dosname.h
58196         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
58197         extracts symbols from it, puts them into config.h; but it's much
58198         easier to use the symbols directly.  filename.h already does this,
58199         but it disagrees with dos.m4 in some respects.  This patch
58200         introduces a different include file dosname.h that packages up
58201         dos.m4, and then later we can work on merging filename.h and
58202         dosname.h.  Applications that need only the easy-to-configure
58203         symbols should consider including dosname.h rather than dirname.h.
58204         * NEWS: Mention incompatible changes.
58205         * m4/dos.m4: Remove.
58206         * lib/dosname.h, modules/dosname: New files.
58207         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
58208         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
58209         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
58210         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
58211         Include dosname.h, not dirname.h.
58212         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
58213         Include dosname.h, for definitions of symbols like ISSLASH
58214         that used to be in config.h.
58215         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
58216         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
58217         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58218         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58219         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
58220         * modules/rmdir (Files): Likewise.
58221         * modules/stat (Files): Likewise.
58222         * modules/unlink (Files): Likewise.
58223         * modules/dirname-lgpl (Depends-on): Add dosname.
58224         * modules/lstat (Depends-on): Likewise.
58225         * modules/openat (Depends-on): Likewise.
58226         * modules/rmdir (Depends-on): Likewise.
58227         * modules/savewd (Depends-on): Likewise.
58228         * modules/stat (Depends-on): Likewise.
58229         * modules/unlink (Depends-on): Likewise.
58230         * modules/openat (Depends-on): Remove dirname-lgpl.
58231         * modules/savewd (Depends-on): Likewise.
58232         * tests/test-dirname.c: Do not use removed symbols like
58233         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
58234         the remaining symbols, e.g., ISSLASH ('\\').
58236 2011-02-25  Eric Blake  <eblake@redhat.com>
58238         strstr: revert patches that introduced bug and pessimization
58239         * lib/str-two-way.h: Add another reference.
58240         (two_way_short_needle, two_way_long_needle): Revert changes from
58241         2011-02-24; they pessimize search speed.
58242         (critical_factorization): Partially revert changes from
58243         2010-06-22; they violate the requirement that the left half of the
58244         needle be smaller than the period of the needle.
58246 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58248         filenamecat: remove unnecessary dependency on dirname-lgpl
58249         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
58250         is no direct dependency, just an indirect one via filenamecat-lgpl.
58252         remove: remove unnecessary use of m4/dos.m4
58253         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
58254         * modules/remove (FILES): Remove m4/dos.m4.
58256         * lib/openat-proc.c: Don't include dirname.h; not needed.
58258         backupfile: remove unnecessary use of m4/dos.m4
58259         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
58260         of its symbols are used by the backupfile code.  backupfile.c does
58261         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
58262         for the rare case of programs that want all their backup file
58263         names to live within 8+3 limits, and dos.m4 doesn't address that.
58264         * modules/backupfile (Files): Remove m4/dos.m4.
58266 2011-02-24  Jim Meyering  <meyering@redhat.com>
58268         strstr: fix a bug whereby strstr would mistakenly return NULL
58269         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
58270         in period calculation.
58271         (two_way_long_needle): Likewise.
58272         The original problem was reported by Mike Stump in
58273         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
58274         Ralf Wildenhues provided the short needle and haystack.
58275         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
58276         Add a more involved test to trigger the bug in two_way_long_needle.
58278 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
58280         gnulib-tool: remove use of bold display in help screen
58281         * gnulib-tool (func_usage): Do not use bold display anymore in the
58282         help screen.  That was just meant to be a temporary emphasis for a
58283         backward-incompatible change.
58285 2011-02-23  Bruno Haible  <bruno@clisp.org>
58287         Fix misindentation of preprocessor directives.
58288         * lib/argp-namefrob.h: Reindent preprocessor directives.
58289         * lib/getopt_int.h (struct _getopt_data): Likewise.
58290         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
58291         * lib/vasnprintf.c (decode_long_double): Likewise.
58292         * tests/test-argmatch.c: Insert blank lines, for clarity.
58293         * tests/test-exclude.c: Likewise.
58295 2011-02-22  Bruno Haible  <bruno@clisp.org>
58297         ioctl: Fix for MacOS X in 64-bit mode.
58298         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
58299         value.
58300         Suggested by Eric Blake.
58301         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
58303 2011-02-22  Jim Meyering  <meyering@redhat.com>
58305         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
58306         * Makefile (sc_cpp_indent_check): Don't limit the check to files
58307         in lib/.
58309 2011-02-22  Eric Blake  <eblake@redhat.com>
58311         maint: avoid any CDPATH issue
58312         * Makefile (sc_cpp_indent_check): Anchor cd argument.
58314         maint: adjust cpp indentation for my modules, as well
58315         * Makefile (sc_cpp_indent_check): Add my name.
58316         * lib/fbufmode.c: Filter through cppi.
58317         * lib/fpurge.c: Likewise.
58318         * lib/freadable.c: Likewise.
58319         * lib/freading.c: Likewise.
58320         * lib/fwritable.c: Likewise.
58321         * lib/fwriting.c: Likewise.
58322         * lib/sigaction.c: Likewise.
58324 2011-02-22  Jim Meyering  <meyering@redhat.com>
58326         maint: adjust cpp indentation to reflect nesting depth
58327         I.e., in a block of code that begins with an unnested "#if",
58328         put one space between the "#" in column 1 and following token.
58329         For example,
58330         -#include <sys/vfs.h>
58331         +# include <sys/vfs.h>
58332         Do this only in .c files that are part of a module I maintain.
58333         * lib/linkat.c: Filter through cppi.
58334         * lib/nanosleep.c: Likewise.
58335         * lib/openat.c: Likewise.
58336         * lib/openat-die.c: Likewise.
58337         * lib/dup3.c: Likewise.
58338         * lib/fchownat.c: Likewise.
58339         * lib/flock.c: Likewise.
58340         * lib/fsync.c: Likewise.
58341         * lib/fts.c: Likewise.
58342         * lib/getpass.c: Likewise.
58343         * lib/gettimeofday.c: Likewise.
58344         * lib/userspec.c: Likewise.
58345         * Makefile (sc_cpp_indent_check): New rule, to check this.
58347 2011-02-22  Bruno Haible  <bruno@clisp.org>
58349         New module 'wctomb'.
58350         * lib/stdlib.in.h (wctomb): New declaration.
58351         * lib/wctomb.c: New file.
58352         * lib/wctomb-impl.h: New file.
58353         * m4/wctomb.m4: New file.
58354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
58355         REPLACE_WCTOMB.
58356         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
58357         REPLACE_WCTOMB.
58358         * modules/wctomb: New file.
58359         * tests/test-stdlib-c++.cc: Test signature of wctomb.
58360         * doc/posix-functions/wctomb.texi: Mention the new module.
58361         * modules/wctob (Depends-on): Add wctomb.
58363 2011-02-22  Bruno Haible  <bruno@clisp.org>
58365         New module 'mbtowc'.
58366         * lib/stdlib.in.h (mbtowc): New declaration.
58367         * lib/mbtowc.c: New file.
58368         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
58369         * m4/mbtowc.m4: New file.
58370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
58371         REPLACE_MBTOWC.
58372         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
58373         REPLACE_MBTOWC.
58374         * modules/mbtowc: New file.
58375         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
58376         * doc/posix-functions/mbtowc.texi: Mention the new module.
58377         * modules/btowc (Depends-on): Add mbtowc.
58379 2011-02-22  Bruno Haible  <bruno@clisp.org>
58381         wcrtomb: Add more tests for native Windows platforms.
58382         * tests/test-wcrtomb-w32-1.sh: New file.
58383         * tests/test-wcrtomb-w32-2.sh: New file.
58384         * tests/test-wcrtomb-w32-3.sh: New file.
58385         * tests/test-wcrtomb-w32-4.sh: New file.
58386         * tests/test-wcrtomb-w32-5.sh: New file.
58387         * tests/test-wcrtomb-w32.c: New file.
58388         * modules/wcrtomb-tests (Files): Add them.
58389         (Makefile.am): Arrange to run these tests.
58390         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
58391         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
58393 2011-02-20  Bruno Haible  <bruno@clisp.org>
58395         wcrtomb: Enhance test.
58396         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
58398 2011-02-20  Bruno Haible  <bruno@clisp.org>
58400         mbrtowc: Tiny optimization.
58401         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
58403 2011-02-20  Jim Meyering  <meyering@redhat.com>
58405         test-exclude.c: remove unmatched #endif
58406         * tests/test-exclude.c: Remove stray #endif, left over from
58407         the change of a week ago.
58409 2011-02-19  Jim Meyering  <meyering@redhat.com>
58411         git-version-gen: skip "-dirty" check when appropriate
58412         * build-aux/git-version-gen: Don't run any git commands when the
58413         version string comes from .tarball-version.  Prior to this, we
58414         would run git update-index --refresh even from a just-unpacked
58415         tarball directory, and that could affect a .git/ directory in a
58416         parent of the build directory.  Reported by Mike Frysinger.
58418 2011-02-19  Bruno Haible  <bruno@clisp.org>
58420         unictype/property-byname: Reduce the size of the 'data' segment.
58421         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
58423 2011-02-19  Bruno Haible  <bruno@clisp.org>
58425         unictype/scripts: Reduce the size of the 'data' segment.
58426         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
58427         '%pic'.
58428         * lib/unictype/scripts_byname.gperf: Regenerated.
58430 2011-02-19  Bruno Haible  <bruno@clisp.org>
58432         stdint: Update documentation.
58433         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
58435 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
58437         stdint: omit redundant check for wchar.h
58438         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
58439         always tests whether wchar.h exists, so remove the now-redundant test.
58441 2011-02-18  Bruno Haible  <bruno@clisp.org>
58443         stdint: Cut dependency to module 'wchar'.
58444         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
58445         include the necessary prerequisites.
58446         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
58447         * modules/stdint (Depends-on): Remove wchar.
58448         (Makefile.am): Substitute HAVE_WCHAR_H.
58449         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
58451 2011-02-18  Eric Blake  <eblake@redhat.com>
58453         longlong: skip, rather than fail, on cross-compilation
58454         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
58455         when cross-compiling; regression from 2011-02-16.
58457 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58459         * NEWS: Mention 2011-02-08 change to stdlib.
58461 2011-02-17  Bruno Haible  <bruno@clisp.org>
58463         getloadavg: Add comments about platforms.
58464         * m4/getloadavg.m4: Add comment.
58465         * lib/getloadavg.c: Likewise.
58467 2011-02-17  Bruno Haible  <bruno@clisp.org>
58469         getloadavg: Fix link error on Solaris 2.6.
58470         * modules/getloadavg (Link): New section.
58471         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
58472         linking test-getloadavg.
58473         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
58474         getloadavg.
58476 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58478         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
58479         It was 'int', but this doesn't match the IRIX 6.5 manual.
58480         Suggested by Bruno Haible in
58481         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
58483 2011-02-17  Bruno Haible  <bruno@clisp.org>
58485         havelib: Fix comments.
58486         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
58487         change.
58489 2011-02-17  Bruno Haible  <bruno@clisp.org>
58491         havelib: Update config.rpath.
58492         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
58494 2011-02-17  Bruno Haible  <bruno@clisp.org>
58496         getloadavg test: Add some plausibility checks.
58497         * tests/test-getloadavg.c (check_avg): Print a warning when the value
58498         is improbable.
58500 2011-02-16  Eric Blake  <eblake@redhat.com>
58502         maintainer-makefile: make syntax-check a no-op from tarballs
58503         * top/maint.mk (no-vc-detected): New rule.
58504         (local-checks-available): Use it to avoid hanging if someone tries
58505         'make syntax-check' from a tarball.  Also append to any non-syntax
58506         checks already defined in cfg.mk.
58508 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
58510         longlong: tune, particularly for common case of c99
58512         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
58513         or running anything if c99, or if unsigned long long int does not
58514         work.  In either case, we know the answer without further tests.
58515         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
58516         it at most once, and use its results for both long long int and
58517         unsigned long long int.  This is more likely to be efficient in
58518         the common case where the program wants to check for both long
58519         long int and unsigned long long int.
58520         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
58521         since the answer is already known.
58523 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
58525         getloadavg: set errno
58526         * lib/getloadavg.c: Set errno when returning -1.  If no other
58527         error number looks appropriate, set it to ENOSYS if the getloadavg
58528         looks like it can't possibly ever work, ENOTSUP otherwise.
58529         Suggested by Bruno Haible in
58530         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
58532         getloadavg: trim unused parts and speed up 'configure'
58533         * NEWS: Document this.
58534         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
58535         always compiled if getloadavg is absent.
58536         Move test code to ...
58537         * tests/test-getloadavg.c: New file, containing previous
58538         contents of test from lib/getloadavg.c.  It also contains
58539         suggestions by Bruno Haible in
58540         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
58541         * modules/getloadavg-tests: New file.
58542         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
58543         Do tests in the same order as they're needed for getloadavg.c.
58544         Omit setgid-related tests that generate symbols KMEM_GROUP,
58545         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
58546         Do only the tests that are needed to see whether the system has
58547         getloadavg, moving the other tests into ...
58548         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
58549         NLIST_NAME_UNION; nobody should be using it.  Do not define
58550         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
58551         relevant, as the user of this module shouldn't care how getloadavg
58552         is implemented.
58554         getloadavg: omit unused var
58555         * lib/getloadavg.c (getloadavg): Omit unused local variable.
58557 2011-02-15  Jim Meyering  <meyering@redhat.com>
58559         doc: update users.txt
58560         * users.txt: Update iwhd's URL.
58562 2011-02-13  Bruno Haible  <bruno@clisp.org>
58564         Consistent macro naming for macros that use GCC __attribute__.
58565         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
58566         _ATTRIBUTE_NONNULL_.
58567         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
58568         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
58569         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
58570         ATTRIBUTE_DEPRECATED.
58571         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
58572         ATTRIBUTE_NORETURN.
58573         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58574         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58575         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58576         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58577         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
58578         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
58579         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
58580         ATTRIBUTE_SENTINEL.
58581         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
58582         ATTRIBUTE_RETURN_CHECK.
58583         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
58584         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
58585         ATTRIBUTE_NORETURN.
58586         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
58587         Reported by Paul Eggert.
58589 2011-02-13  Bruno Haible  <bruno@clisp.org>
58591         Don't interfere with a program's definition of __attribute__.
58592         * lib/argp.h (__attribute__): Remove definition.
58593         (_GL_ATTRIBUTE_FORMAT): New macro.
58594         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
58595         * lib/argp-fmtstream.h (__attribute__): Remove definition.
58596         (_GL_ATTRIBUTE_FORMAT): New macro.
58597         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
58598         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
58599         GCC 3 or newer.
58600         * lib/error.h (__attribute__): Remove definition.
58601         (_GL_ATTRIBUTE_FORMAT): New macro.
58602         (error, error_at_line): Use it.
58603         * lib/hash.h (__attribute__): Remove definition.
58604         (ATTRIBUTE_WUR): Update definition. Define always.
58605         * lib/openat.h (__attribute__): Remove definition.
58606         (ATTRIBUTE_NORETURN): Update definition. Define always.
58607         * lib/sigpipe-die.h (__attribute__): Remove definition.
58608         (ATTRIBUTE_NORETURN): Update definition. Define always.
58609         * lib/vasnprintf.h (__attribute__): Remove definition.
58610         (_GL_ATTRIBUTE_FORMAT): New macro.
58611         (asnprintf, vasnprintf): Use it.
58612         * lib/xalloc.h (__attribute__): Remove definition.
58613         (ATTRIBUTE_NORETURN): Update definition. Define always.
58614         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
58615         * lib/xmemdup0.h (__attribute__): Remove definition.
58616         (ATTRIBUTE_NORETURN): Update definition. Define always.
58617         * lib/xprintf.h (__attribute__): Remove definition.
58618         (_GL_ATTRIBUTE_FORMAT): New macro.
58619         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
58620         * lib/xstrtol.h (__attribute__): Remove definition.
58621         (ATTRIBUTE_NORETURN): Update definition. Define always.
58622         * lib/xvasprintf.h (__attribute__): Remove definition.
58623         (_GL_ATTRIBUTE_FORMAT): New macro.
58624         (xasprintf, xvasprintf): Use it.
58625         * tests/test-argmatch.c (__attribute__): Remove definition.
58626         (ATTRIBUTE_NORETURN): Update definition. Define always.
58627         * tests/test-exclude.c (__attribute__): Remove definition.
58628         (ATTRIBUTE_NORETURN): Update definition. Define always.
58629         Reported by Paul Eggert.
58631 2011-02-13  Bruno Haible  <bruno@clisp.org>
58633         mbrtowc: Add more tests for native Windows platforms.
58634         * tests/test-mbrtowc-w32-1.sh: New file.
58635         * tests/test-mbrtowc-w32-2.sh: New file.
58636         * tests/test-mbrtowc-w32-3.sh: New file.
58637         * tests/test-mbrtowc-w32-4.sh: New file.
58638         * tests/test-mbrtowc-w32-5.sh: New file.
58639         * tests/test-mbrtowc-w32.c: New file.
58640         * modules/mbrtowc-tests (Files): Add them.
58641         (Makefile.am): Arrange to run these tests.
58642         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
58643         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
58645 2011-02-13  Bruno Haible  <bruno@clisp.org>
58647         mbrtowc: Work around native Windows bug.
58648         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
58649         guess when no suitable locale for testing was found.
58650         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
58652 2011-02-13  Bruno Haible  <bruno@clisp.org>
58654         mbsinit: Work around mingw bug.
58655         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
58656         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
58657         Windows.
58658         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
58660 2011-02-13  Bruno Haible  <bruno@clisp.org>
58662         mbsinit: Don't crash for a NULL argument.
58663         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
58664         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
58666 2011-02-13  Bruno Haible  <bruno@clisp.org>
58668         Don't interfere with a program's definition of __attribute__.
58669         * lib/stdio.in.h (__attribute__): Remove definition.
58670         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
58671         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
58672         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
58673         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
58674         * lib/string.in.h (__attribute__): Remove definition.
58675         Reported by Paul Eggert.
58677 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58679         stdlib: don't get in the way of non-GCC __attribute__
58680         See thread starting at
58681         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
58682         Revert previous stdlib change, installing the following instead:
58683         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
58684         to get in the way of a non-GCC compiler that supports __attribute__.
58685         (_GL_ATTRIBUTE_RETURN): New macro.
58686         (_Exit): Use it instead of __attribute__.
58688 2011-02-12  Bruno Haible  <bruno@clisp.org>
58690         quotearg test: Avoid test failure on mingw.
58691         * tests/test-quotearg.sh: Convert the locale identifier from native
58692         Windows syntax to Unix syntax.
58694 2011-02-12  Bruno Haible  <bruno@clisp.org>
58696         setlocale: Prefer gnulib's override over libintl's override.
58697         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
58698         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
58699         GNULIB_defined_setlocale is set.
58701 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58703         stdlib: support non-GCC __attribute__
58705         Fix a serious and tricky problem encountered when attempting to
58706         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
58707         5.5, but it crashed due to memory corruption on Solaris 10 with
58708         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
58709         bits that are otherwise zero.  This tagging is optional inside
58710         Emacs but is preferred and is used when __attribute__ ((__aligned
58711         (8))) works, as it does with both recent-enough GCC and with Sun C
58712         5.11.  However, Sun C 5.11 is not GCC and does not #define
58713         __GNUC__ and __GNUC_MINOR__.
58715         When I added the getloadavg module to Emacs, it brought in
58716         stdlib.in.h, which contained this fragment:
58718            #ifndef __attribute__
58719            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
58720            #  define __attribute__(Spec)   /* empty */
58721            # endif
58722            #endif
58724         When files that include <stdlib.h> were compiled with Sun C 5.11,
58725         the above code disabled __attribute__ ((__aligned (8))), which
58726         caused variables to not be properly aligned, which eventually led
58727         to the pointer corruption mentioned above.  (This was a bit hard
58728         to diagnose, unfortunately.)
58730         Several "#define __attribute__(X) /* empty */" code snippets need
58731         to be eradicated from Gnulib to work with non-GCC compilers that
58732         support __attribute__.  The Autoconf way to do this is to test for
58733         each kind of attribute that we want support for, and selectively
58734         enable that in source code.
58736         Fix this problem just for stdlib.h, by adding a test for the
58737         __noreturn__ attribute, and change stdlib.in.h to use that test
58738         when needed.  This technique can be easily generalized to the
58739         other *.in.h files and attributes, and a similar technique can be
58740         used for *.h and *.c files.  This patch is enough to solve the
58741         problem for Emacs + getloadavg, and I thought I'd publish it for
58742         feedback before undertaking further, similar fixes in other
58743         modules.
58745         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
58746         because it's not needed for stdlib.h.  It merely substitutes the
58747         value directly into stdlib.h.  We may well need to #define it, or
58748         similar symbols, for other modules, but it's nice to also have an
58749         option to not #define it for applications like Emacs that do not
58750         need it.
58752         * lib/stdlib.in.h (__attribute__): Do not #define.
58753         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
58754         be defined only if the _Exit module is also used.
58755         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
58756         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
58757         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
58758         platforms.
58759         * modules/_Exit (Files): Add m4/attribute.m4.
58760         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
58761         * m4/attribute.m4: New file.
58763 2011-02-12  Bruno Haible  <bruno@clisp.org>
58765         wcsrtombs: Work around bug on native Windows.
58766         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
58767         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
58768         instead of len.
58769         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
58771 2011-02-12  Bruno Haible  <bruno@clisp.org>
58773         mbsrtowcs: Work around bug on native Windows.
58774         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
58775         against mingw bug.
58776         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
58778 2011-02-12  Bruno Haible  <bruno@clisp.org>
58780         Avoid setlocale bugs in tests.
58781         * modules/btowc (Dependencies): Add setlocale.
58782         * modules/c-strcase (Dependencies): Likewise.
58783         * modules/mbmemcasecmp (Dependencies): Likewise.
58784         * modules/mbmemcasecoll (Dependencies): Likewise.
58785         * modules/mbrtowc (Dependencies): Likewise.
58786         * modules/mbscasecmp (Dependencies): Likewise.
58787         * modules/mbscasestr (Dependencies): Likewise.
58788         * modules/mbschr (Dependencies): Likewise.
58789         * modules/mbscspn (Dependencies): Likewise.
58790         * modules/mbsinit (Dependencies): Likewise.
58791         * modules/mbsncasecmp (Dependencies): Likewise.
58792         * modules/mbsnrtowcs (Dependencies): Likewise.
58793         * modules/mbspbrk (Dependencies): Likewise.
58794         * modules/mbspcasecmp (Dependencies): Likewise.
58795         * modules/mbsrchr (Dependencies): Likewise.
58796         * modules/mbsrtowcs (Dependencies): Likewise.
58797         * modules/mbsspn (Dependencies): Likewise.
58798         * modules/mbsstr (Dependencies): Likewise.
58799         * modules/nl_langinfo (Dependencies): Likewise.
58800         * modules/quotearg (Dependencies): Likewise.
58801         * modules/unicase/locale-language (Dependencies): Likewise.
58802         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
58803         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
58804         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
58805         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
58806         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
58807         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
58808         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
58809         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
58810         * modules/vasnprintf-posix (Dependencies): Likewise.
58811         * modules/wcrtomb (Dependencies): Likewise.
58812         * modules/wcsnrtombs (Dependencies): Likewise.
58813         * modules/wcsrtombs (Dependencies): Likewise.
58815 2011-02-12  Bruno Haible  <bruno@clisp.org>
58817         setlocale: Workaround native Windows bug.
58818         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
58819         succeeds but sets LC_CTYPE to "C", report a failure.
58820         * tests/test-setlocale2.sh: New file.
58821         * tests/test-setlocale2.c: New file.
58822         * modules/setlocale-tests (Files): Add the new files.
58823         (Makefile.am): Enable test-setlocale2.sh test.
58824         * doc/posix-functions/setlocale.texi: Mention workaround.
58826 2011-02-11  Bruno Haible  <bruno@clisp.org>
58828         Tests for module 'setlocale'.
58829         * modules/setlocale-tests: New file.
58830         * tests/test-setlocale1.sh: New file.
58831         * tests/test-setlocale1.c: New file.
58833         New module 'setlocale'.
58834         * lib/locale.in.h (setlocale): New declaration.
58835         * lib/setlocale.c: New file, based on
58836         gettext/gettext-runtime/intl/setlocale.c.
58837         * m4/setlocale.m4: New file.
58838         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
58839         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
58840         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
58841         REPLACE_SETLOCALE.
58842         * modules/setlocale: New file.
58843         * tests/test-locale-c++.cc: Test the declaration of setlocale.
58844         * doc/posix-functions/setlocale.texi: Mention the new module.
58846 2011-02-11  Bruno Haible  <bruno@clisp.org>
58848         Prepare for locale dependent tests on mingw.
58849         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
58850         because it has the wrong locale encoding.
58851         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
58852         French_France.1252 instead of "fr".
58853         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
58854         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
58855         because it has the wrong locale encoding.
58856         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
58857         native Windows, try Turkish_Turkey.65001.
58858         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
58859         Chinese_China.54936.
58861         Prepare for locale dependent tests on mingw.
58862         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
58863         differently.
58864         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
58865         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
58866         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58867         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58869 2011-02-11  Eric Blake  <eblake@redhat.com>
58871         strptime: avoid compiler warnings
58872         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
58873         compiler warnings about dead code.
58874         Reported by Daniel P. Berrange.
58876 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
58878         doc: update users.txt
58879         * users.txt: Add rcs.
58881 2011-02-10  John W. Eaton  <jwe@gnu.org>
58883         doc: update users.txt
58884         * users.txt: Add octave.
58886 2011-02-10  Jim Meyering  <meyering@redhat.com>
58888         doc: update users.txt
58889         * users.txt: Add iwhd.
58891 2011-02-09  Bruno Haible  <bruno@clisp.org>
58893         gnulib-tool: Make copyright notice adjustment more robust.
58894         * gnulib-tool (func_import): In sed_transform_main_lib_file,
58895         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
58896         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
58897         License".
58898         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
58900 2011-02-06  Bruno Haible  <bruno@clisp.org>
58902         New module 'towctrans'.
58903         * modules/towctrans: New file.
58904         * lib/wctype.in.h (towctrans): New declaration.
58905         * lib/towctrans.c: New file.
58906         * lib/towctrans-impl.h: New file.
58907         * m4/towctrans.m4: New file.
58908         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
58909         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
58910         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
58911         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
58912         * doc/posix-functions/towctrans.texi: Mention the new module.
58914 2011-02-06  Bruno Haible  <bruno@clisp.org>
58916         New module 'wctrans'.
58917         * modules/wctrans: New file.
58918         * lib/wctype.in.h (wctrans): New declaration.
58919         * lib/wctrans.c: New file.
58920         * lib/wctrans-impl.h: New file.
58921         * m4/wctrans.m4: New file.
58922         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
58923         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
58924         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
58925         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
58926         * doc/posix-functions/wctrans.texi: Mention the new module.
58928 2011-02-06  Bruno Haible  <bruno@clisp.org>
58930         New module 'iswctype'.
58931         * modules/iswctype: New file.
58932         * lib/wctype.in.h (iswctype): New declaration.
58933         * lib/iswctype.c: New file.
58934         * lib/iswctype-impl.h: New file.
58935         * m4/iswctype.m4: New file.
58936         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
58937         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
58938         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
58939         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
58940         * doc/posix-functions/iswctype.texi: Mention the new module and the
58941         HP-UX 11.00 problem.
58943 2011-02-06  Bruno Haible  <bruno@clisp.org>
58945         New module 'wctype'.
58946         * modules/wctype: Change to represent the wctype() substitute.
58947         * lib/wctype.in.h (wctype): New declaration.
58948         * lib/wctype.c: New file.
58949         * lib/wctype-impl.h: New file.
58950         * m4/wctype.m4: New file.
58951         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
58952         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
58953         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
58954         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
58955         * doc/posix-functions/wctype.texi: Mention the new module and the
58956         HP-UX 11.00 problem.
58958 2011-02-06  Bruno Haible  <bruno@clisp.org>
58960         wctype-h: Ensure wctype_t and wctrans_t are defined.
58961         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
58962         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58963         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58964         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
58965         HAVE_WCTRANS_T.
58966         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
58968 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
58970         flock: fix license typo
58972         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
58973         omitted.
58975 2011-02-08  Bruno Haible  <bruno@clisp.org>
58977         Split large sed scripts, for HP-UX sed.
58978         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
58979         to avoid HP-UX limit of 99 commands, in the near future.
58980         * modules/stdlib (Makefile.am): Likewise.
58981         * modules/unistd (Makefile.am): Likewise.
58982         * modules/wchar (Makefile.am): Likewise.
58983         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58984         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
58985         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
58987 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
58988             Bruno Haible  <bruno@clisp.org>
58990         stdlib: improve random_r modularization
58991         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
58992         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
58993         you also need the random_r module to get this material right.
58994         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
58995         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
58996         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
58998 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59000         stdlib: don't depend on stdint
59001         * lib/stdlib.in.h: Don't include <stdint.h> merely because
59002         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
59003         be independent of whether stdint.h is needed.
59004         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
59005         here, instead of ...
59006         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
59007         struct random_data should be using the random_r module, not just
59008         the stdlib module (which wouldn't make sense: what package needs
59009         just struct random_data without also needing random_r?).
59010         * modules/stdlib (Depends-on): Remove stdint.
59012         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
59013         See the thread rooted at
59014         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
59015         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
59016         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
59017         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
59018         __VMS)); previously it was always included (via fcntl--.h).
59019         (getloadavg): Do not use c_strtod.  Instead, approximate it by
59020         hand; this is good enough for load averages.  Also, do not use
59021         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
59022         flags directly if available and don't bother otherwise.  (Packages
59023         that need the extra reliability should use the modules that define
59024         these flags on older platforms that lack them.)
59025         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
59026         fcntl-safer.
59028 2011-02-08  Jim Meyering  <meyering@redhat.com>
59030         di-set.h, ino-map.h: add multiple-inclusion guard
59031         Technically, the guard is required only for ino-map.h, due to its
59032         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
59033         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
59034         * lib/ino-map.h: Likewise.
59036 2011-02-06  Bruno Haible  <bruno@clisp.org>
59038         iswblank: Ensure declaration on glibc systems.
59039         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
59040         * modules/iswblank (Dependencies): Add 'extensions'.
59041         * doc/posix-functions/iswblank.texi: Document the glibc problem.
59043 2011-02-06  Bruno Haible  <bruno@clisp.org>
59045         New module 'iswblank'.
59046         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
59047         * modules/iswblank: New file.
59048         * modules/wctype-h (Files): Remove lib/iswblank.c.
59049         (Makefile.am): Substitute GNULIB_ISWBLANK.
59050         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
59051         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
59052         (gl_WCTYPE_H_DEFAULTS): New macro.
59053         (gl_WCTYPE_H): Require it. Remove iswblank related code.
59054         * modules/iswblank-tests: New file.
59055         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
59056         * tests/test-wctype-h.c (main): Remove iswblank tests.
59057         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
59058         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
59059         of 'wctype-h'.
59060         * NEWS: Mention the change.
59061         * modules/mbchar (Depends-on): Add iswblank.
59063 2011-02-08  Bruno Haible  <bruno@clisp.org>
59065         di-set tests: Refactor.
59066         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
59067         unnecessary includes.
59068         (ASSERT): Remove macro.
59069         (main): Make C90 compliant by avoiding variable declaration after
59070         statement.
59071         * modules/di-set-tests (Files): Add tests/macros.h.
59073 2011-02-08  Bruno Haible  <bruno@clisp.org>
59075         ino-map tests: Refactor.
59076         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
59077         unnecessary includes.
59078         (ASSERT): Remove macro.
59079         (main): Make C90 compliant by avoiding variable declaration after
59080         statement.
59081         * modules/ino-map-tests (Files): Add tests/macros.h.
59083 2011-02-08  Jim Meyering  <meyering@redhat.com>
59085         di-set: add "const" to a cast
59086         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
59087         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
59089 2011-02-06  Bruno Haible  <bruno@clisp.org>
59091         Rename module 'wctype' to 'wctype-h'.
59092         * modules/wctype-h: Renamed from modules/wctype.
59093         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
59094         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
59095         (Files, Depends-on, Makefile.am): Update.
59096         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
59097         (Files, Makefile.am): Update.
59098         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
59099         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
59100         * doc/posix-headers/wctype.texi: Update.
59101         * doc/posix-functions/iswalnum.texi: Update.
59102         * doc/posix-functions/iswalpha.texi: Update.
59103         * doc/posix-functions/iswblank.texi: Update.
59104         * doc/posix-functions/iswcntrl.texi: Update.
59105         * doc/posix-functions/iswdigit.texi: Update.
59106         * doc/posix-functions/iswgraph.texi: Update.
59107         * doc/posix-functions/iswlower.texi: Update.
59108         * doc/posix-functions/iswprint.texi: Update.
59109         * doc/posix-functions/iswpunct.texi: Update.
59110         * doc/posix-functions/iswspace.texi: Update.
59111         * doc/posix-functions/iswupper.texi: Update.
59112         * doc/posix-functions/iswxdigit.texi: Update.
59113         * doc/posix-functions/towlower.texi: Update.
59114         * doc/posix-functions/towupper.texi: Update.
59115         * NEWS: Mention the change.
59116         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
59117         * modules/mbchar (Dependencies): Likewise.
59118         * modules/mbswidth (Dependencies): Likewise.
59119         * modules/quotearg (Dependencies): Likewise.
59120         * modules/regex (Dependencies): Likewise.
59121         * modules/wcscasecmp (Dependencies): Likewise.
59122         * modules/wcsncasecmp (Dependencies): Likewise.
59123         * modules/wcwidth (Dependencies): Likewise.
59125 2011-02-06  Bruno Haible  <bruno@clisp.org>
59127         New module 'wcswidth'.
59128         * modules/wcswidth: New file.
59129         * lib/wchar.in.h (wcswidth): New declaration.
59130         * lib/wcswidth.c: New file.
59131         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
59132         * m4/wcswidth.m4: New file.
59133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
59134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
59135         REPLACE_WCSWIDTH.
59136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
59137         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
59138         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
59139         * doc/posix-functions/wcswidth.texi: Mention the new module.
59141 2011-02-06  Bruno Haible  <bruno@clisp.org>
59143         New module 'wcstok'.
59144         * modules/wcstok: New file.
59145         * lib/wchar.in.h (wcstok): New declaration.
59146         * lib/wcstok.c: New file.
59147         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
59148         * m4/wcstok.m4: New file.
59149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
59150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
59151         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
59152         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
59153         * doc/posix-functions/wcstok.texi: Mention the new module.
59155 2011-02-06  Bruno Haible  <bruno@clisp.org>
59157         New module 'wcsstr'.
59158         * modules/wcsstr: New file.
59159         * lib/wchar.in.h (wcsstr): New declaration.
59160         * lib/wcsstr.c: New file.
59161         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
59162         * m4/wcsstr.m4: New file.
59163         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
59164         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
59165         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
59166         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
59167         * doc/posix-functions/wcsstr.texi: Mention the new module.
59169 2011-02-06  Bruno Haible  <bruno@clisp.org>
59171         New module 'wcspbrk'.
59172         * modules/wcspbrk: New file.
59173         * lib/wchar.in.h (wcspbrk): New declaration.
59174         * lib/wcspbrk.c: New file.
59175         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
59176         * m4/wcspbrk.m4: New file.
59177         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
59178         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
59179         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
59180         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
59181         * doc/posix-functions/wcspbrk.texi: Mention the new module.
59183 2011-02-06  Bruno Haible  <bruno@clisp.org>
59185         New module 'wcsspn'.
59186         * modules/wcsspn: New file.
59187         * lib/wchar.in.h (wcsspn): New declaration.
59188         * lib/wcsspn.c: New file.
59189         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
59190         * m4/wcsspn.m4: New file.
59191         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
59192         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
59193         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
59194         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
59195         * doc/posix-functions/wcsspn.texi: Mention the new module.
59197 2011-02-06  Bruno Haible  <bruno@clisp.org>
59199         New module 'wcscspn'.
59200         * modules/wcscspn: New file.
59201         * lib/wchar.in.h (wcscspn): New declaration.
59202         * lib/wcscspn.c: New file.
59203         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
59204         * m4/wcscspn.m4: New file.
59205         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
59206         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
59207         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
59208         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
59209         * doc/posix-functions/wcscspn.texi: Mention the new module.
59211 2011-02-06  Bruno Haible  <bruno@clisp.org>
59213         New module 'wcsrchr'.
59214         * modules/wcsrchr: New file.
59215         * lib/wchar.in.h (wcsrchr): New declaration.
59216         * lib/wcsrchr.c: New file.
59217         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
59218         * m4/wcsrchr.m4: New file.
59219         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
59220         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
59221         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
59222         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
59223         * doc/posix-functions/wcsrchr.texi: Mention the new module.
59225 2011-02-06  Bruno Haible  <bruno@clisp.org>
59227         New module 'wcschr'.
59228         * modules/wcschr: New file.
59229         * lib/wchar.in.h (wcschr): New declaration.
59230         * lib/wcschr.c: New file.
59231         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
59232         * m4/wcschr.m4: New file.
59233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
59234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
59235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
59236         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
59237         * doc/posix-functions/wcschr.texi: Mention the new module.
59239 2011-02-06  Bruno Haible  <bruno@clisp.org>
59241         New module 'wcsdup'.
59242         * modules/wcsdup: New file.
59243         * lib/wchar.in.h (wcsdup): New declaration.
59244         * lib/wcsdup.c: New file.
59245         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
59246         * m4/wcsdup.m4: New file.
59247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
59248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
59249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
59250         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
59251         * doc/posix-functions/wcsdup.texi: Mention the new module.
59253 2011-02-06  Bruno Haible  <bruno@clisp.org>
59255         New module 'wcsxfrm'.
59256         * modules/wcsxfrm: New file.
59257         * lib/wchar.in.h (wcsxfrm): New declaration.
59258         * lib/wcsxfrm.c: New file.
59259         * lib/wcsxfrm-impl.h: New file.
59260         * m4/wcsxfrm.m4: New file.
59261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
59262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
59263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
59264         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
59265         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
59267 2011-02-06  Bruno Haible  <bruno@clisp.org>
59269         New module 'wcscoll'.
59270         * modules/wcscoll: New file.
59271         * lib/wchar.in.h (wcscoll): New declaration.
59272         * lib/wcscoll.c: New file.
59273         * lib/wcscoll-impl.h: New file.
59274         * m4/wcscoll.m4: New file.
59275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
59276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
59277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
59278         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
59279         * doc/posix-functions/wcscoll.texi: Mention the new module.
59281 2011-02-06  Bruno Haible  <bruno@clisp.org>
59283         New module 'wcsncasecmp'.
59284         * modules/wcsncasecmp: New file.
59285         * lib/wchar.in.h (wcsncasecmp): New declaration.
59286         * lib/wcsncasecmp.c: New file.
59287         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
59288         * m4/wcsncasecmp.m4: New file.
59289         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
59290         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
59291         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
59292         HAVE_WCSNCASECMP.
59293         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
59294         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
59296 2011-02-06  Bruno Haible  <bruno@clisp.org>
59298         New module 'wcscasecmp'.
59299         * modules/wcscasecmp: New file.
59300         * lib/wchar.in.h (wcscasecmp): New declaration.
59301         * lib/wcscasecmp.c: New file.
59302         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
59303         * m4/wcscasecmp.m4: New file.
59304         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
59305         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
59306         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
59307         HAVE_WCSCASECMP.
59308         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
59309         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
59311 2011-02-05  Bruno Haible  <bruno@clisp.org>
59313         New module 'wcsncmp'.
59314         * modules/wcsncmp: New file.
59315         * lib/wchar.in.h (wcsncmp): New declaration.
59316         * lib/wcsncmp.c: New file.
59317         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
59318         * m4/wcsncmp.m4: New file.
59319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
59320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
59321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
59322         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
59323         * doc/posix-functions/wcsncmp.texi: Mention the new module.
59325 2011-02-05  Bruno Haible  <bruno@clisp.org>
59327         New module 'wcscmp'.
59328         * modules/wcscmp: New file.
59329         * lib/wchar.in.h (wcscmp): New declaration.
59330         * lib/wcscmp.c: New file.
59331         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
59332         * m4/wcscmp.m4: New file.
59333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
59334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
59335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
59336         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
59337         * doc/posix-functions/wcscmp.texi: Mention the new module.
59339 2011-02-05  Bruno Haible  <bruno@clisp.org>
59341         New module 'wcsncat'.
59342         * modules/wcsncat: New file.
59343         * lib/wchar.in.h (wcsncat): New declaration.
59344         * lib/wcsncat.c: New file.
59345         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
59346         * m4/wcsncat.m4: New file.
59347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
59348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
59349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
59350         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
59351         * doc/posix-functions/wcsncat.texi: Mention the new module.
59353 2011-02-05  Bruno Haible  <bruno@clisp.org>
59355         New module 'wcscat'.
59356         * modules/wcscat: New file.
59357         * lib/wchar.in.h (wcscat): New declaration.
59358         * lib/wcscat.c: New file.
59359         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
59360         * m4/wcscat.m4: New file.
59361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
59362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
59363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
59364         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
59365         * doc/posix-functions/wcscat.texi: Mention the new module.
59367 2011-02-05  Bruno Haible  <bruno@clisp.org>
59369         New module 'wcpncpy'.
59370         * modules/wcpncpy: New file.
59371         * lib/wchar.in.h (wcpncpy): New declaration.
59372         * lib/wcpncpy.c: New file.
59373         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
59374         * m4/wcpncpy.m4: New file.
59375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
59376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
59377         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
59378         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
59379         * doc/posix-functions/wcpncpy.texi: Mention the new module.
59381 2011-02-05  Bruno Haible  <bruno@clisp.org>
59383         New module 'wcsncpy'.
59384         * modules/wcsncpy: New file.
59385         * lib/wchar.in.h (wcsncpy): New declaration.
59386         * lib/wcsncpy.c: New file.
59387         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
59388         * m4/wcsncpy.m4: New file.
59389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
59390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
59391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
59392         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
59393         * doc/posix-functions/wcsncpy.texi: Mention the new module.
59395 2011-02-05  Bruno Haible  <bruno@clisp.org>
59397         New module 'wcpcpy'.
59398         * modules/wcpcpy: New file.
59399         * lib/wchar.in.h (wcpcpy): New declaration.
59400         * lib/wcpcpy.c: New file.
59401         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
59402         * m4/wcpcpy.m4: New file.
59403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
59404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
59405         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
59406         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
59407         * doc/posix-functions/wcpcpy.texi: Mention the new module.
59409 2011-02-05  Bruno Haible  <bruno@clisp.org>
59411         New module 'wcscpy'.
59412         * modules/wcscpy: New file.
59413         * lib/wchar.in.h (wcscpy): New declaration.
59414         * lib/wcscpy.c: New file.
59415         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
59416         * m4/wcscpy.m4: New file.
59417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
59418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
59419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
59420         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
59421         * doc/posix-functions/wcscpy.texi: Mention the new module.
59423 2011-02-05  Bruno Haible  <bruno@clisp.org>
59425         New module 'wcsnlen'.
59426         * modules/wcsnlen: New file.
59427         * lib/wchar.in.h (wcsnlen): New declaration.
59428         * lib/wcsnlen.c: New file.
59429         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
59430         * m4/wcsnlen.m4: New file.
59431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
59432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
59433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
59434         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
59435         * doc/posix-functions/wcsnlen.texi: Mention the new module.
59437 2011-02-05  Bruno Haible  <bruno@clisp.org>
59439         New module 'wcslen'.
59440         * modules/wcslen: New file.
59441         * lib/wchar.in.h (wcslen): New declaration.
59442         * lib/wcslen.c: New file.
59443         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
59444         * m4/wcslen.m4: New file.
59445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
59446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
59447         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
59448         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
59449         * doc/posix-functions/wcslen.texi: Mention the new module.
59451 2011-02-05  Bruno Haible  <bruno@clisp.org>
59453         New module 'wmemset'.
59454         * modules/wmemset: New file.
59455         * lib/wchar.in.h (wmemset): New declaration.
59456         * lib/wmemset.c: New file.
59457         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
59458         * m4/wmemset.m4: New file.
59459         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
59460         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
59461         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
59462         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
59463         * doc/posix-functions/wmemset.texi: Mention the new module.
59465 2011-02-05  Bruno Haible  <bruno@clisp.org>
59467         New module 'wmemmove'.
59468         * modules/wmemmove: New file.
59469         * lib/wchar.in.h (wmemmove): New declaration.
59470         * lib/wmemmove.c: New file.
59471         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
59472         * m4/wmemmove.m4: New file.
59473         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
59474         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
59475         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
59476         HAVE_WMEMMOVE.
59477         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
59478         * doc/posix-functions/wmemmove.texi: Mention the new module.
59480 2011-02-05  Bruno Haible  <bruno@clisp.org>
59482         New module 'wmemcpy'.
59483         * modules/wmemcpy: New file.
59484         * lib/wchar.in.h (wmemcpy): New declaration.
59485         * lib/wmemcpy.c: New file.
59486         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
59487         * m4/wmemcpy.m4: New file.
59488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
59489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
59490         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
59491         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
59492         * doc/posix-functions/wmemcpy.texi: Mention the new module.
59494 2011-02-05  Bruno Haible  <bruno@clisp.org>
59496         New module 'wmemcmp'.
59497         * modules/wmemcmp: New file.
59498         * lib/wchar.in.h (wmemcmp): New declaration.
59499         * lib/wmemcmp.c: New file.
59500         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
59501         * m4/wmemcmp.m4: New file.
59502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
59503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
59504         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
59505         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
59506         * doc/posix-functions/wmemcmp.texi: Mention the new module.
59508 2011-02-07  Jim Meyering  <meyering@redhat.com>
59510         di-set, ino-map: new modules, from coreutils
59511         * lib/di-set.c: New file.
59512         * lib/di-set.h: Likewise.
59513         * lib/ino-map.c: Likewise.
59514         * lib/ino-map.h: Likewise.
59515         * modules/di-set: Likewise.
59516         * modules/di-set-tests: Likewise.
59517         * modules/ino-map: Likewise.
59518         * modules/ino-map-tests: Likewise.
59519         * tests/test-di-set.c: Likewise.
59520         * tests/test-ino-map.c: Likewise.
59522 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
59524         getloadavg: merge minor changes from Emacs
59526         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
59527         (getloadavg): Use memset, not bzero.
59529         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
59530         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
59531         clash (bug#86).
59533 2010-11-14  Bruno Haible  <bruno@clisp.org>
59535         Allow multiple gnulib generated replacements to coexist.
59536         * lib/getopt.in.h (struct option): Avoid identical redefinition.
59537         * lib/inttypes.in.h (imaxdiv_t): Likewise.
59538         * lib/langinfo.in.h (nl_item): Likewise.
59539         * lib/math.in.h (_NaN, NAN): Likewise.
59540         * lib/netdb.in.h (struct addrinfo): Likewise.
59541         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
59542         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
59543         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
59544         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
59545         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
59546         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
59547         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
59548         pthread_mutexattr_init, pthread_mutexattr_settype,
59549         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
59550         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
59551         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
59552         pthread_spin_trylock, pthread_spin_unlock): Likewise.
59553         * lib/sched.in.h (struct sched_param): Likewise.
59554         * lib/se-selinux.in.h (security_class_t, security_context_t,
59555         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
59556         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
59557         lsetfilecon, fsetfilecon, security_check_context,
59558         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
59559         Likewise.
59560         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
59561         Likewise.
59562         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
59563         _gl_function_taking_int_returning_void_t, union sigval,
59564         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
59565         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
59566         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
59567         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
59568         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
59569         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
59570         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
59571         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
59572         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
59573         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
59574         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
59575         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
59576         socklen_t, rpl_fd_isset): Likewise.
59577         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
59578         * lib/sys_time.in.h (struct timeval): Likewise.
59579         * lib/sys_times.in.h (struct tms): Likewise.
59580         * lib/sys_utsname.in.h (struct utsname):
59581         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
59582         * lib/unistd.in.h (getpagesize): Likewise.
59583         * lib/wchar.in.h (mbstate_t): Likewise.
59584         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59585         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
59586         towlower, towupper): Likewise.
59587         Reported by Sam Steingold <sds@gnu.org>.
59589 2011-02-05  Eric Blake  <eblake@redhat.com>
59591         unsetenv: work around Haiku issues
59592         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
59593         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
59595 2010-12-30  Bruce Korb  <bkorb@gnu.org>
59597         libposix: avoid calling error() within libposix
59598         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
59599         is defined.
59601 2011-02-05  Eric Blake  <eblake@redhat.com>
59603         strerror_r-posix: port to cygwin
59604         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
59605         implementation.
59606         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
59607         * tests/test-strerror_r.c (main): Fix test.
59608         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
59609         issue.
59611 2011-02-05  Bruno Haible  <bruno@clisp.org>
59613         New module 'wmemchr'.
59614         * modules/wmemchr: New file.
59615         * lib/wchar.in.h (wmemchr): New declaration.
59616         * lib/wmemchr.c: New file.
59617         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
59618         * m4/wmemchr.m4: New file.
59619         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
59620         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
59621         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
59622         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
59623         * doc/posix-functions/wmemchr.texi: Mention the new module.
59625 2011-02-04  Eric Blake  <eblake@redhat.com>
59627         fdopendir: detect FreeBSD bug
59628         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
59629         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
59631 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59633         stdbool: do not define HAVE_STDBOOL_H
59634         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
59635         AC_HEADER_STDBOOL.  All uses changed.  Do not define
59636         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
59637         imported from the latest Autoconf git.  It was motivated by Emacs,
59638         which uses gnulib but does not need HAVE_STDBOOL_H.
59640 2011-02-04  Bruno Haible  <bruno@clisp.org>
59642         wcsnrtombs: Prepare for new module wwcsnrtombs.
59643         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
59644         * lib/wcsnrtombs.c: Include it.
59645         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
59647         wcsrtombs: Prepare for new module wwcsrtombs.
59648         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
59649         * lib/wcsrtombs.c: Include it.
59650         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
59652         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
59653         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
59654         * lib/mbsnrtowcs.c: Include it.
59655         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
59657         mbsrtowcs: Prepare for new module mbsrtowwcs.
59658         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
59659         * lib/mbsrtowcs.c: Include it.
59660         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
59662 2011-02-04  Bruno Haible  <bruno@clisp.org>
59664         vasnprintf: Reduce use of malloc for small format strings.
59665         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
59666         (arguments): Add room for the first 7 arguments.
59667         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
59668         (char_directives, u8_directives, u16_directives, u32_directives): Add
59669         room for the first 7 directives.
59670         * lib/printf-parse.c: Include <string.h>.
59671         (PRINTF_PARSE): Change memory handling code so that it uses the first
59672         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
59673         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
59674         Reported by Pádraig Brady <P@draigbrady.com>.
59676 2011-01-31  Eric Blake  <eblake@redhat.com>
59678         dup2: work around Haiku bug
59679         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
59680         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
59681         * doc/posix-functions/dup2.texi (dup2): Document the bug.
59682         * tests/test-dup2.c (main): Enhance test.
59684 2011-01-31  Simon Josefsson  <simon@josefsson.org>
59686         doc: off_t is not available in eglibc 2.11.2 stdio.h.
59687         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
59688         declared by eglibc 2.11.2.
59689         * lib/stdio.in.h: Likewise.
59691 2011-01-31  Eric Blake  <eblake@redhat.com>
59693         ignore-value: add missing test dependency
59694         * tests/test-ignore-value.c: Revert previous change; stdio.h
59695         provides off_t.
59696         * modules/ignore-value-tests (Depends-on): Add missing dependency.
59698 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
59700         mktime: clarify long_int width checking
59701         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
59702         the top level, to make it clearer that the assumption about
59703         long_int width is being checked.  See
59704         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
59706 2011-01-30  Simon Josefsson  <simon@josefsson.org>
59708         ignore-value: Fix self-test.
59709         * tests/test-ignore-value.c: Include sys/types.h for off_t.
59711 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59713         TYPE_MAXIMUM: avoid theoretically undefined behavior
59714         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
59715         negative number, which the C Standard says has undefined behavior.
59716         In practice this is not a problem, but might as well do it by the book.
59717         Reported by Rich Felker and Eric Blake; see
59718         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
59719         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
59720         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59721         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59722         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
59723         * m4/stdint.m4 (gl_STDINT_H): Likewise.
59724         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
59726         mktime: #undef mktime before #defining it
59727         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
59729         mktime: systematically normalize tm_isdst comparisons
59730         * lib/mktime.c (isdst_differ): New function.
59731         (__mktime_internal): Use it systematically for all isdst comparisons.
59732         This completes the fix for libc BZ #6723, and removes the need for
59733         normalizing tm_isdst.  See
59734         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
59735         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
59737         mktime: fix some integer overflow issues and sidestep the rest
59739         This was prompted by a bug report by Benjamin Lindner for MinGW
59740         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
59741         His bug is due to signed integer overflow (0 - INT_MIN), and I
59742         I scanned through mktime.c looking for other integer overflow
59743         problems, fixing all the bugs I found.
59745         Although the C Standard says the resulting code is still not safe
59746         in the presence of integer overflow, in practice it should be good
59747         enough for all real-world two's-complement implementations, except
59748         for debugging environments that deliberately trap on integer
59749         overflow (e.g., gcc -ftrapv).
59751         * lib/mktime.c (WRAPV): New macro.
59752         (SHR): Also check that long_int and time_t shift right in the
59753         usual way, before using the fast-but-unportable method.
59754         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
59755         used.  The code already assumed two's complement, so there's
59756         no need to test for alternatives.  All uses removed.
59757         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
59758         the C standard.  Problem reported by Rich Felker in
59759         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
59760         (twos_complement_arithmetic): Also check long_int and time_t.
59761         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
59762         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
59763         (__mktime_internal): Avoid integer overflow with unary subtraction
59764         in two instances where -1 - X is an adequate replacement for -X,
59765         since the calculations are approximate.
59767 2011-01-29  Eric Blake  <eblake@redhat.com>
59769         mktime: avoid infinite loop
59770         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
59771         type; behavior is still undefined but portable to all known targets.
59772         Reported by Rich Felker.
59774 2011-01-29  Simon Josefsson  <simon@josefsson.org>
59776         rename, unlink, same-inode: Relicense.
59777         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
59778         * modules/unlink (License): Likewise.
59779         * modules/same-inode (License): Likewise.
59781 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59783         mktime: avoid problems on NetBSD 5 / i386
59784         * lib/mktime.c (long_int): New type.  This works around a problem
59785         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
59786         but time_t is 64 bits, and where I expect the existing code is
59787         wrong in some cases.
59788         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
59789         (ydhms_diff): Bring back the compile-time check for wide-enough
59790         year and yday.
59792         mktime: fix misspelling in comment
59793         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
59794         This merges all recent glibc changes of importance.
59796 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59798         move-if-change: cope with concurrent mv of identical file.
59799         * build-aux/move-if-change (CMPPROG): Accept environment
59800         variable as an override for `cmp'.
59801         (usage): Document CMPPROG.
59802         Adjust comparison to drop stdout.  Cope with failure of mv if
59803         the target file exists and is identical to the source, for
59804         parallel builds.
59805         Report from H.J. Lu against binutils in PR binutils/12283.
59807 2011-01-28  Bruce Korb  <bkorb@gnu.org>
59809         * users.txt: Mention sharutils.
59811 2011-01-28  Simon Josefsson  <simon@josefsson.org>
59813         * users.txt: Mention OATH Toolkit.
59815 2011-01-27  Bruno Haible  <bruno@clisp.org>
59817         Prepare for supporting FreeBSD 10.
59818         * build-aux/config.libpath: Remove handling of freebsd1*.
59820 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
59822         Prepare for supporting FreeBSD 10.
59823         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
59824         match FreeBSD 10.0.
59826 2011-01-27  Bruno Haible  <bruno@clisp.org>
59828         vma-iter, get-rusage-as: Add OpenBSD support.
59829         * modules/vma-iter (configure.ac): Test for mquery.
59830         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
59831         * lib/vma-iter.c: Include <sys/mman.h>.
59832         (vma_iterate): Add an implementation based on mquery().
59833         * lib/resource-ext.h (get_rusage_as): Update comments.
59834         * lib/get-rusage-as.c: Likewise.
59835         * lib/get-rusage-data.c: Likewise.
59837 2011-01-26  Karl Berry  <karl@gnu.org>
59839         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
59840         variables to make it easier to override the makeinfo program used.
59842 2011-01-26  Eric Blake  <eblake@redhat.com>
59844         fcntl: work around Haiku F_DUPFD bugs
59845         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
59846         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
59847         cloexec bit on duplication.
59848         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
59850 2011-01-26  Bruno Haible  <bruno@clisp.org>
59852         Enable memory leak tests on AIX.
59853         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
59854         * tests/test-fprintf-posix3.c (main): Likewise.
59856 2011-01-26  Bruno Haible  <bruno@clisp.org>
59858         Tests for module 'get-rusage-data'.
59859         * modules/get-rusage-data-tests: New file.
59860         * tests/test-get-rusage-data.c: New file.
59862         New module 'get-rusage-data'.
59863         * lib/resource-ext.h (get_rusage_data): New declaration.
59864         * lib/get-rusage-data.c: New file.
59865         * modules/get-rusage-data: New file.
59867 2011-01-25  Bruno Haible  <bruno@clisp.org>
59869         get-rusage-as: Allow for easier testing.
59870         * lib/resource-ext.h (get_rusage_as): Add comment.
59871         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
59872         (main): New function for interactive testing.
59874 2011-01-25  Bruno Haible  <bruno@clisp.org>
59876         vma-iter: Treat Haiku like BeOS.
59877         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
59878         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
59880 2011-01-25  Eric Blake  <eblake@redhat.com>
59882         c-stack: fix regression on cygwin when libsigsegv is present
59883         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
59885 2011-01-24  Bruno Haible  <bruno@clisp.org>
59887         vma-iter: Avoid empty intervals.
59888         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
59889         on an empty interval.
59891 2011-01-24  Jim Meyering  <meyering@redhat.com>
59893         u64: remove unnecessary #include
59894         * lib/u64.h: Don't include <stddef.h>.  It was not used.
59896 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59898         Allow the user to avoid the HAVE_RAW_DECL_* macros.
59899         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
59901 2011-01-23  Bruno Haible  <bruno@clisp.org>
59903         New module 'vma-iter'.
59904         * lib/vma-iter.h: New file.
59905         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
59906         * modules/vma-iter: New file.
59907         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
59908         for get_rusage_as_via_iterator.
59909         (vma_iterate_callback): New function.
59910         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
59911         * modules/get-rusage-as (Depends-on): Add vma-iter.
59913 2011-01-23  Bruno Haible  <bruno@clisp.org>
59915         uninorm: Tweak includes.
59916         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
59917         Reported by Jim Meyering.
59919 2011-01-23  Bruno Haible  <bruno@clisp.org>
59921         get-rusage-as: Improve on NetBSD.
59922         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
59923         /proc, like on FreeBSD.
59925 2011-01-23  Jim Meyering  <meyering@redhat.com>
59927         xreadlink.h: remove unnecessary #include
59928         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
59930         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
59931         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
59933 2011-01-23  Bruno Haible  <bruno@clisp.org>
59935         get-rusage-as: Fix bug.
59936         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
59937         original limit when aborting the first loop.
59939 2011-01-23  Bruno Haible  <bruno@clisp.org>
59941         wctype: Ensure valid C syntax.
59942         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
59943         unconditionally, instead of gl_NEXT_HEADERS conditionally.
59945 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59947         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
59948         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
59949         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
59950         as they are needed only for configure's test case.
59951         This removes two unnecessary symbols from config.h.
59953         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
59954         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
59955         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
59956         AC_CHECK_HEADERS_ONCE on a header that we also invoke
59957         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
59958         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
59959         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
59960         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
59961         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
59962         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
59963         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
59964         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59965         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
59966         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
59967         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
59968         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
59969         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
59970         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
59972 2011-01-21  Eric Blake  <eblake@redhat.com>
59974         maintainer-makefile: work with older git for submodule check
59975         * top/maint.mk (public-submodule-commit): Rewrite to avoid
59976         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
59977         Reported by Matthias Bolte.
59979         bootstrap: minor portability fixes
59980         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
59981         (usage): Omit leading capital and trailing . on help phrases, per
59982         GNU Coding Standards.
59983         (check_versions, top level): Prefix messages with script name.
59985 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
59987         bootstrap: support --no-git option
59988         * build-aux/bootstrap: Add --no-git option, to be used when
59989         --gnulib-srcdir points to the exact desired checkout.
59991 2011-01-21  Eric Blake  <eblake@redhat.com>
59993         strerror_r-posix: work with glibc 2.13
59994         * lib/strerror_r.c (strerror_r): Fix return type.
59996 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59997             Bruno Haible  <bruno@clisp.org>
59999         uN_strstr: New unit tests.
60000         * modules/unistr/u8-strstr-tests: New file.
60001         * modules/unistr/u16-strstr-tests: New file.
60002         * modules/unistr/u32-strstr-tests: New file.
60003         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
60004         * tests/unistr/test-u8-strstr.c: New file.
60005         * tests/unistr/test-u16-strstr.c: New file.
60006         * tests/unistr/test-u32-strstr.c: New file.
60008 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60009             Bruno Haible  <bruno@clisp.org>
60011         Make uN_strstr functions O(n) worst-case.
60012         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
60013         16-bit and 32-bit unit cases, use the unibyte algorithm from
60014         lib/mbsstr.c.
60015         * lib/unistr/u8-strstr.c: Include <string.h>.
60016         (UNIT_IS_UINT8_T): New macro.
60017         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
60018         (U_STRLEN, U_STRNLEN): New macros.
60019         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
60020         (U_STRLEN, U_STRNLEN): New macros.
60021         * modules/unistr/u8-strstr (Depends-on): Add strstr.
60022         (configure.ac): Update required libunistring version.
60023         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
60024         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
60025         malloca.
60026         (configure.ac): Update required libunistring version.
60027         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
60028         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
60029         malloca.
60030         (configure.ac): Update required libunistring version.
60032 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60033             Bruno Haible  <bruno@clisp.org>
60035         Prepare for faster uN_strstr functions.
60036         * lib/str-kmp.h: Support definable UNITs.
60037         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
60038         needle_len argument.
60039         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
60040         * lib/mbscasestr.c (mbscasestr): Likewise.
60042 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60044         malloca-tests: make faster by unsetting MALLOC_PERTURB_
60045         * tests/test-malloca.c (main): Unset the environment variable
60046         to greatly speed up the test.
60047         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
60048         * modules/malloca-tests: Depend on unsetenv.
60050 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60052         ignore-value: remove stdint dependency
60053         * lib/ignore-value.h: Remove <stdint.h>
60054         * modules/ignore-value: Remove stdint dependency.
60056 2011-01-21  Jim Meyering  <meyering@redhat.com>
60058         maint.mk: adjust variable name to be consistent with other gl_ vars
60059         * top/maint.mk (gl_public_submodule_commit): Rename the variable
60060         to be lower case.
60062 2011-01-20  Jim Meyering  <meyering@redhat.com>
60064         maint.mk: make "check" depend on public-submodule-commit by default
60065         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
60067 2011-01-20  Bruno Haible  <bruno@clisp.org>
60069         mbfile, mbiter: Complete change from 2008-12-21.
60070         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
60071         * m4/mbiter.m4 (gl_MBITER): Likewise.
60073 2011-01-20  Jim Meyering  <meyering@redhat.com>
60075         init.sh: insert space between each function name and "()"
60076         * tests/init.sh: Make it a little easier to see that a function's
60077         name is "warn_", and not "warn" when looking at the first part of
60078         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
60080 2011-01-20  Jim Meyering  <meyering@redhat.com>
60082         mountlist: clean up code formatting
60083         * lib/mountlist.c (read_file_system_list): Split a long line,
60084         correct bracing style, use NULL in place of "(struct statfs *)0",
60085         don't parenthesize return value, add spaces around "=" and after
60086         ";-in-for-stmt".
60088 2011-01-14  Markus Duft  <mduft@gentoo.org>
60090         mountlist: add support for Interix
60091         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
60092         Apply statvfs to all entries of /dev/fs.
60093         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
60094         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
60096 2011-01-20  Jim Meyering  <meyering@redhat.com>
60098         maint.mk: improve the public-submodule-commit rule
60099         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
60100         to suppress printing of its commands... unless V=1.
60101         Add git submodule's --quiet option to suppress printing of e.g.,
60102         "Entering gnulib" output.
60103         "cd" into $(srcdir) before running git submodule.
60105 2011-01-20  Bruno Haible  <bruno@clisp.org>
60107         include_next: Fix bug introduced on 2011-01-18.
60108         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
60109         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
60110         ac_cv_header_... variable if the second argument is not 'check'.
60111         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
60112         gl_NEXT_HEADERS_INTERNAL.
60114 2011-01-20  Bruno Haible  <bruno@clisp.org>
60116         Allow the user to avoid the GNULIB_TEST_* macros.
60117         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
60118         Suggested by Paul Eggert.
60120 2011-01-14  Jim Meyering  <meyering@redhat.com>
60122         bootstrap: avoid failure when there is no .gitmodules file
60123         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
60124         has been assigned to, even when its value is the empty string.
60125         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
60126         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
60127         Reported by John W. Eaton <jwe@gnu.org>.
60129 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60131         assume <ctype.h>, ..., <time.h> exist
60132         For years gnulib has been assuming the existence of the headers
60133         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
60134         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
60135         them, since they don't appear to be needed.
60136         * README (Portability guidelines): Document this.
60137         * lib/flock.c: Assume <fcntl.h> exists.
60138         * lib/regex_internal.h: Assume <locale.h> exists.
60139         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
60140         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
60141         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
60142         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
60143         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
60144         * m4/regex.m4 (gl_REGEX): Likewise.
60145         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
60146         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
60147         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
60148         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
60149         * tests/test-argp.c: Likewise.
60150         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
60152         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
60153         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
60154         AA_APPLE_UNIVERSAL_BUILD.  See
60155         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
60156         * NEWS: Document this.
60158 2011-01-19  Eric Blake  <eblake@redhat.com>
60160         c-stack: assume stack overflow if SA_SIGINFO unsupported
60161         * lib/c-stack.c (SIGACTION_WORKS): Rename...
60162         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
60163         sigaction will work.
60164         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
60165         behavior match Linux.
60166         * tests/test-c-stack.c (main): Prefer NULL for pointers.
60168         stdbool-tests: accommodate Haiku
60169         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
60171         binary-io: fix O_TEXT on Haiku
60172         * modules/binary-io (Depends-on): Add fcntl-h.
60173         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
60174         than blindly undefining O_TEXT.
60175         Reported by Scott McCreary.
60177 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60179         include_next: do not check for standard headers like stddef.h
60181         I found this problem when modifying Emacs to use gnulib.
60182         I noticed that it added HAVE_STDDEF_H to config.h, even though
60183         gnulib always assumes <stddef.h> exists as per README and this
60184         symbol is unnecessary.
60185         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
60186         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
60187         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
60188         faster for headers like stddef.h that are known to exist.
60189         (gl_CHECK_NEXT_HEADERS): Use it.
60190         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
60191         rather than gl_CHECK_NEXT_HEADERS.
60192         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
60193         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
60195 2011-01-18  Eric Blake  <eblake@redhat.com>
60197         ansi-c++-opt: skip C++ dependency style if C++ is unused
60198         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
60199         tests when we know C++ compilation is not desired.
60200         Reported by Scott McCreary.
60202 2011-01-18  Bruno Haible  <bruno@clisp.org>
60204         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
60205         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
60206         (main): Perform test also when getrlimit and setrlimit don't exist or
60207         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
60208         limiting the address space size using setrlimit, compare the address
60209         space size before and after the test.
60210         * tests/test-dprintf-posix2.c: Likewise.
60211         * tests/test-fprintf-posix3.sh: Update skip messages.
60212         * tests/test-dprintf-posix2.sh: Likewise.
60213         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
60214         * modules/dprintf-posix-tests (Depends-on): Likewise.
60215         Reported by Bruce Korb <bkorb@gnu.org> and
60216         Gary V. Vaughan <gary@gnu.org>.
60218 2011-01-18  Bruno Haible  <bruno@clisp.org>
60220         get-rusage-as: Improvement for Cygwin.
60221         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
60222         areas that are merely reserved.
60224 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60226         strftime: remove dependencies on multibyte modules
60228         strftime depended on mbrlen, mbsinit, and wchar, but these modules
60229         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
60230         only if __osf__ is defined, and I suspect OSF doesn't need these
60231         other modules.  If my guess is wrong, we'll need to come up with a
60232         variant of strftime that doesn't need the multibyte modules.
60234         I discovered this problem when attempting modify Emacs to use the
60235         strftime module.  With the previous gnulib, this caused Emacs to
60236         need 31 new files, ranging from lib/config.charset to
60237         m4/wint_t.m4.  This was overkill and I expect would be offputting
60238         to the Emacs maintainers.  After this change, only 6 new files are
60239         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
60240         stdbool.m4, and tm_gmtoff.m4.
60242         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
60243         Suggested by Bruno Haible in
60244         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
60245         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
60246         and do not check for wchar.h.
60247         * modules/strftime (Files): Remove m4/mbstate_t.m4.
60248         (Depends-on): Remove mbrlen, mbsinit, wchar.
60250 2011-01-18  Bruno Haible  <bruno@clisp.org>
60252         Tests for module 'get-rusage-as'.
60253         * modules/get-rusage-as-tests: New file.
60254         * tests/test-get-rusage-as.c: New file.
60256         New module 'get-rusage-as'.
60257         * modules/get-rusage-as: New file.
60258         * lib/resource-ext.h: New file.
60259         * lib/get-rusage-as.c: New file.
60261 2011-01-17  Eric Blake  <eblake@redhat.com>
60263         sigaction: relax license from LGPLv3+ to LGPLv2+
60264         * modules/sigaction (License): Relax to LGPLv2+.
60266 2011-01-14  Bruno Haible  <bruno@clisp.org>
60268         filemode: Make function declarations usable in C++ mode.
60269         * lib/filemode.h: Enclose function declarations in extern "C" block.
60270         Reported by John W. Eaton <jwe@gnu.org>.
60272 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
60274         save-cwd: no longer include "xgetcwd.h"
60275         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
60276         This avoids a compilation failure in projects that use save-cwd
60277         without also using the xgetcwd module.
60279 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60281         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
60282         This is so that a program like Emacs, which needs only dtoastr,
60283         does not have to bother with distributing and compiling ftoastr
60284         and ldtoastr.
60285         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
60286         * modules/dtoastr, modules/ldtoastr: New files.
60287         * modules/ftoastr: Now works just for 'float'.
60288         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
60289         (Makefile.am): Remove ftoastr.h (not needed and no effect),
60290         dtoastr.c, ldtoastr.c.
60292 2011-01-11  Jim Meyering  <meyering@redhat.com>
60294         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
60295         There is no need to work around the lack of the fchdir function,
60296         since gnulib can now provide a replacement when required.
60297         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
60298         * modules/save-cwd (Depends-on): Add fchdir.
60300 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60302         openat, save-cwd: avoid xmalloc
60304         This removes a direct (but undocumented) dependency of openat on
60305         xalloc, along with an indirect dependency via save-cwd.  It also
60306         removes a dependency of save-cwd on xgetcwd, and thereby
60307         indirectly on xalloc.  This change causes the openat substitute
60308         to fall back on save_cwd when memory is tight, and for save_cwd to
60309         fail instead of dying when memory is tight, but that's good enough.
60310         Problem and initial idea for fix reported by Bastien Roucaries in
60311         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
60313         * lib/openat-proc.c: Include stdlib.h (for malloc), not
60314         xalloc.h (for xmalloc).
60315         (openat_proc_name): Use malloc, not xmalloc.
60316         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
60317         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
60319         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
60320         This avoids heap allocation for file names whose lengths are in
60321         the range 512..1023, with the upper bound increasing to at most
60322         4031 depending on the platform's PATH_MAX.  (We do not want
60323         pathmax.h here as it might supply a non-constant PATH_MAX.)
60324         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
60325         Perhaps they should be moved to malloca.h?
60326         (OPENAT_BUFFER_SIZE): Use them.
60328 2011-01-10  Bruno Haible  <bruno@clisp.org>
60330         doc: Update users.txt.
60331         * users.txt: Add recutils.
60333 2011-01-09  Karl Berry  <karl@gnu.org>
60335         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
60337         * doc/configmake.texi: New file.
60338         * doc/gnulib.texi: Include it.
60339         * modules/configmake: Move documentation from here.
60341 2011-01-09  Bruno Haible  <bruno@clisp.org>
60343         Update to Unicode 6.0.0.
60344         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
60345         (get_lbp): Update for Unicode 6.0.0.
60346         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
60347         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
60348         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
60349         U+11001, U+11038..U+11046. Remove U+06DE.
60350         (uc_width): Fix bounds of planes.
60351         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60352         lib/uniwidth/width.c.
60353         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
60354         trailing whitespace removed.
60355         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
60356         without comments, but with the original copyright notice.
60357         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
60358         * lib/unicase/ignorable.h: Likewise.
60359         * lib/unicase/tocasefold.h: Likewise.
60360         * lib/unicase/tolower.h: Likewise.
60361         * lib/unicase/totitle.h: Likewise.
60362         * lib/unicase/toupper.h: Likewise.
60363         * lib/unictype/bidi_of.h: Likewise.
60364         * lib/unictype/blocks.h: Likewise.
60365         * lib/unictype/categ_C.h: Likewise.
60366         * lib/unictype/categ_Cn.h: Likewise.
60367         * lib/unictype/categ_L.h: Likewise.
60368         * lib/unictype/categ_Ll.h: Likewise.
60369         * lib/unictype/categ_Lm.h: Likewise.
60370         * lib/unictype/categ_Lo.h: Likewise.
60371         * lib/unictype/categ_Lu.h: Likewise.
60372         * lib/unictype/categ_M.h: Likewise.
60373         * lib/unictype/categ_Mc.h: Likewise.
60374         * lib/unictype/categ_Me.h: Likewise.
60375         * lib/unictype/categ_Mn.h: Likewise.
60376         * lib/unictype/categ_N.h: Likewise.
60377         * lib/unictype/categ_Nd.h: Likewise.
60378         * lib/unictype/categ_No.h: Likewise.
60379         * lib/unictype/categ_P.h: Likewise.
60380         * lib/unictype/categ_Po.h: Likewise.
60381         * lib/unictype/categ_S.h: Likewise.
60382         * lib/unictype/categ_Sc.h: Likewise.
60383         * lib/unictype/categ_Sk.h: Likewise.
60384         * lib/unictype/categ_Sm.h: Likewise.
60385         * lib/unictype/categ_So.h: Likewise.
60386         * lib/unictype/categ_of.h: Likewise.
60387         * lib/unictype/combining.h: Likewise.
60388         * lib/unictype/ctype_alnum.h: Likewise.
60389         * lib/unictype/ctype_alpha.h: Likewise.
60390         * lib/unictype/ctype_graph.h: Likewise.
60391         * lib/unictype/ctype_lower.h: Likewise.
60392         * lib/unictype/ctype_print.h: Likewise.
60393         * lib/unictype/ctype_punct.h: Likewise.
60394         * lib/unictype/ctype_upper.h: Likewise.
60395         * lib/unictype/decdigit.h: Likewise.
60396         * lib/unictype/digit.h: Likewise.
60397         * lib/unictype/numeric.h: Likewise.
60398         * lib/unictype/pr_alphabetic.h: Likewise.
60399         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60400         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60401         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60402         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60403         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60404         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60405         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60406         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60407         * lib/unictype/pr_case_ignorable.h: Likewise.
60408         * lib/unictype/pr_cased.h: Likewise.
60409         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
60410         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
60411         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
60412         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
60413         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
60414         * lib/unictype/pr_combining.h: Likewise.
60415         * lib/unictype/pr_composite.h: Likewise.
60416         * lib/unictype/pr_currency_symbol.h: Likewise.
60417         * lib/unictype/pr_decimal_digit.h: Likewise.
60418         * lib/unictype/pr_deprecated.h: Likewise.
60419         * lib/unictype/pr_format_control.h: Likewise.
60420         * lib/unictype/pr_grapheme_base.h: Likewise.
60421         * lib/unictype/pr_grapheme_extend.h: Likewise.
60422         * lib/unictype/pr_grapheme_link.h: Likewise.
60423         * lib/unictype/pr_id_continue.h: Likewise.
60424         * lib/unictype/pr_id_start.h: Likewise.
60425         * lib/unictype/pr_ideographic.h: Likewise.
60426         * lib/unictype/pr_lowercase.h: Likewise.
60427         * lib/unictype/pr_math.h: Likewise.
60428         * lib/unictype/pr_numeric.h: Likewise.
60429         * lib/unictype/pr_other_alphabetic.h: Likewise.
60430         * lib/unictype/pr_other_id_continue.h: Likewise.
60431         * lib/unictype/pr_other_math.h: Likewise.
60432         * lib/unictype/pr_punctuation.h: Likewise.
60433         * lib/unictype/pr_sentence_terminal.h: Likewise.
60434         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60435         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60436         * lib/unictype/pr_unified_ideograph.h: Likewise.
60437         * lib/unictype/pr_uppercase.h: Likewise.
60438         * lib/unictype/pr_xid_continue.h: Likewise.
60439         * lib/unictype/pr_xid_start.h: Likewise.
60440         * lib/unictype/scripts.h: Likewise.
60441         * lib/unictype/scripts_byname.gperf: Likewise.
60442         * lib/unictype/sy_java_ident.h: Likewise.
60443         * lib/unigbrk/gbrkprop.h: Likewise.
60444         * lib/unilbrk/lbrkprop1.h: Likewise.
60445         * lib/unilbrk/lbrkprop2.h: Likewise.
60446         * lib/uninorm/decomposition-table2.h: Likewise.
60447         * lib/uniwbrk/wbrkprop.h: Likewise.
60448         * tests/unicase/test-cased.c: Likewise.
60449         * tests/unicase/test-ignorable.c: Likewise.
60450         * tests/unicase/test-uc_tolower.c: Likewise.
60451         * tests/unicase/test-uc_totitle.c: Likewise.
60452         * tests/unicase/test-uc_toupper.c: Likewise.
60453         * tests/unictype/test-categ_C.c: Likewise.
60454         * tests/unictype/test-categ_Cn.c: Likewise.
60455         * tests/unictype/test-categ_L.c: Likewise.
60456         * tests/unictype/test-categ_Ll.c: Likewise.
60457         * tests/unictype/test-categ_Lm.c: Likewise.
60458         * tests/unictype/test-categ_Lo.c: Likewise.
60459         * tests/unictype/test-categ_Lu.c: Likewise.
60460         * tests/unictype/test-categ_M.c: Likewise.
60461         * tests/unictype/test-categ_Mc.c: Likewise.
60462         * tests/unictype/test-categ_Me.c: Likewise.
60463         * tests/unictype/test-categ_Mn.c: Likewise.
60464         * tests/unictype/test-categ_N.c: Likewise.
60465         * tests/unictype/test-categ_Nd.c: Likewise.
60466         * tests/unictype/test-categ_No.c: Likewise.
60467         * tests/unictype/test-categ_P.c: Likewise.
60468         * tests/unictype/test-categ_Po.c: Likewise.
60469         * tests/unictype/test-categ_S.c: Likewise.
60470         * tests/unictype/test-categ_Sc.c: Likewise.
60471         * tests/unictype/test-categ_Sk.c: Likewise.
60472         * tests/unictype/test-categ_Sm.c: Likewise.
60473         * tests/unictype/test-categ_So.c: Likewise.
60474         * tests/unictype/test-ctype_alnum.c: Likewise.
60475         * tests/unictype/test-ctype_alpha.c: Likewise.
60476         * tests/unictype/test-ctype_graph.c: Likewise.
60477         * tests/unictype/test-ctype_lower.c: Likewise.
60478         * tests/unictype/test-ctype_print.c: Likewise.
60479         * tests/unictype/test-ctype_punct.c: Likewise.
60480         * tests/unictype/test-ctype_upper.c: Likewise.
60481         * tests/unictype/test-decdigit.h: Likewise.
60482         * tests/unictype/test-digit.h: Likewise.
60483         * tests/unictype/test-numeric.h: Likewise.
60484         * tests/unictype/test-pr_alphabetic.c: Likewise.
60485         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60486         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60487         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60488         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60489         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60490         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60491         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60492         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60493         * tests/unictype/test-pr_case_ignorable.c: Likewise.
60494         * tests/unictype/test-pr_cased.c: Likewise.
60495         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
60496         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
60497         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
60498         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
60499         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
60500         * tests/unictype/test-pr_combining.c: Likewise.
60501         * tests/unictype/test-pr_composite.c: Likewise.
60502         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60503         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60504         * tests/unictype/test-pr_deprecated.c: Likewise.
60505         * tests/unictype/test-pr_format_control.c: Likewise.
60506         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60507         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60508         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60509         * tests/unictype/test-pr_id_continue.c: Likewise.
60510         * tests/unictype/test-pr_id_start.c: Likewise.
60511         * tests/unictype/test-pr_ideographic.c: Likewise.
60512         * tests/unictype/test-pr_lowercase.c: Likewise.
60513         * tests/unictype/test-pr_math.c: Likewise.
60514         * tests/unictype/test-pr_numeric.c: Likewise.
60515         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60516         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60517         * tests/unictype/test-pr_other_math.c: Likewise.
60518         * tests/unictype/test-pr_punctuation.c: Likewise.
60519         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60520         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60521         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60522         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60523         * tests/unictype/test-pr_uppercase.c: Likewise.
60524         * tests/unictype/test-pr_xid_continue.c: Likewise.
60525         * tests/unictype/test-pr_xid_start.c: Likewise.
60526         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60527         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60528         changes.
60529         * lib/unictype/categ_Cc.h: Likewise.
60530         * lib/unictype/categ_Cf.h: Likewise.
60531         * lib/unictype/categ_Co.h: Likewise.
60532         * lib/unictype/categ_Cs.h: Likewise.
60533         * lib/unictype/categ_Lt.h: Likewise.
60534         * lib/unictype/categ_Nl.h: Likewise.
60535         * lib/unictype/categ_Pc.h: Likewise.
60536         * lib/unictype/categ_Pd.h: Likewise.
60537         * lib/unictype/categ_Pe.h: Likewise.
60538         * lib/unictype/categ_Pf.h: Likewise.
60539         * lib/unictype/categ_Pi.h: Likewise.
60540         * lib/unictype/categ_Ps.h: Likewise.
60541         * lib/unictype/categ_Z.h: Likewise.
60542         * lib/unictype/categ_Zl.h: Likewise.
60543         * lib/unictype/categ_Zp.h: Likewise.
60544         * lib/unictype/categ_Zs.h: Likewise.
60545         * lib/unictype/ctype_blank.h: Likewise.
60546         * lib/unictype/ctype_cntrl.h: Likewise.
60547         * lib/unictype/ctype_digit.h: Likewise.
60548         * lib/unictype/ctype_space.h: Likewise.
60549         * lib/unictype/ctype_xdigit.h: Likewise.
60550         * lib/unictype/mirror.h: Likewise.
60551         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60552         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60553         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60554         * lib/unictype/pr_bidi_control.h: Likewise.
60555         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60556         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60557         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60558         * lib/unictype/pr_bidi_pdf.h: Likewise.
60559         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60560         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60561         * lib/unictype/pr_dash.h: Likewise.
60562         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60563         * lib/unictype/pr_diacritic.h: Likewise.
60564         * lib/unictype/pr_extender.h: Likewise.
60565         * lib/unictype/pr_hex_digit.h: Likewise.
60566         * lib/unictype/pr_hyphen.h: Likewise.
60567         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60568         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60569         * lib/unictype/pr_ignorable_control.h: Likewise.
60570         * lib/unictype/pr_iso_control.h: Likewise.
60571         * lib/unictype/pr_join_control.h: Likewise.
60572         * lib/unictype/pr_left_of_pair.h: Likewise.
60573         * lib/unictype/pr_line_separator.h: Likewise.
60574         * lib/unictype/pr_logical_order_exception.h: Likewise.
60575         * lib/unictype/pr_non_break.h: Likewise.
60576         * lib/unictype/pr_not_a_character.h: Likewise.
60577         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60578         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60579         * lib/unictype/pr_other_id_start.h: Likewise.
60580         * lib/unictype/pr_other_lowercase.h: Likewise.
60581         * lib/unictype/pr_other_uppercase.h: Likewise.
60582         * lib/unictype/pr_paired_punctuation.h: Likewise.
60583         * lib/unictype/pr_paragraph_separator.h: Likewise.
60584         * lib/unictype/pr_pattern_syntax.h: Likewise.
60585         * lib/unictype/pr_pattern_white_space.h: Likewise.
60586         * lib/unictype/pr_private_use.h: Likewise.
60587         * lib/unictype/pr_quotation_mark.h: Likewise.
60588         * lib/unictype/pr_radical.h: Likewise.
60589         * lib/unictype/pr_soft_dotted.h: Likewise.
60590         * lib/unictype/pr_space.h: Likewise.
60591         * lib/unictype/pr_titlecase.h: Likewise.
60592         * lib/unictype/pr_variation_selector.h: Likewise.
60593         * lib/unictype/pr_white_space.h: Likewise.
60594         * lib/unictype/pr_zero_width.h: Likewise.
60595         * lib/unictype/sy_c_ident.h: Likewise.
60596         * lib/unictype/sy_c_whitespace.h: Likewise.
60597         * lib/unictype/sy_java_whitespace.h: Likewise.
60598         * lib/uninorm/composition-table.gperf: Likewise.
60599         * lib/uninorm/decomposition-table1.h: Likewise.
60600         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
60601         LB8.
60602         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60603         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60604         * modules/unictype/*: Bump version number of expected libunistring
60605         version.
60607 2011-01-09  Bruno Haible  <bruno@clisp.org>
60609         Update to Unicode 5.2.0.
60610         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
60611         trailing whitespace removed.
60613 2011-01-09  Bruno Haible  <bruno@clisp.org>
60615         New Unicode character properties, from Unicode 5.2.0.
60616         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
60617         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
60618         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
60619         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
60620         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
60621         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
60622         uc_is_property_cased, uc_is_property_case_ignorable,
60623         uc_is_property_changes_when_lowercased,
60624         uc_is_property_changes_when_uppercased,
60625         uc_is_property_changes_when_titlecased,
60626         uc_is_property_changes_when_casefolded,
60627         uc_is_property_changes_when_casemapped): New declarations.
60628         * lib/unictype/pr_byname.gperf: Add the new properties.
60629         * modules/unictype/property-byname (Depends-on): Depend on the new
60630         properties modules.
60631         * modules/unictype/property-all (Depends-on): Likewise.
60632         * MODULES.html.sh (Unicode string functions): Add
60633         unictype/property-case-ignorable, unictype/property-cased,
60634         unictype/property-changes-when-casefolded,
60635         unictype/property-changes-when-casemapped,
60636         unictype/property-changes-when-lowercased,
60637         unictype/property-changes-when-titlecased,
60638         unictype/property-changes-when-uppercased.
60640         New module 'unictype/property-changes-when-casemapped'.
60641         * modules/unictype/property-changes-when-casemapped: New file.
60642         * lib/unictype/pr_changes_when_casemapped.c: New file.
60643         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
60644         generated by gen-uni-tables.
60645         * modules/unictype/property-changes-when-casemapped-tests: New file.
60646         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
60647         automatically generated by gen-uni-tables.
60649         New module 'unictype/property-changes-when-casefolded'.
60650         * modules/unictype/property-changes-when-casefolded: New file.
60651         * lib/unictype/pr_changes_when_casefolded.c: New file.
60652         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
60653         generated by gen-uni-tables.
60654         * modules/unictype/property-changes-when-casefolded-tests: New file.
60655         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
60656         automatically generated by gen-uni-tables.
60658         New module 'unictype/property-changes-when-titlecased'.
60659         * modules/unictype/property-changes-when-titlecased: New file.
60660         * lib/unictype/pr_changes_when_titlecased.c: New file.
60661         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
60662         generated by gen-uni-tables.
60663         * modules/unictype/property-changes-when-titlecased-tests: New file.
60664         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
60665         automatically generated by gen-uni-tables.
60667         New module 'unictype/property-changes-when-uppercased'.
60668         * modules/unictype/property-changes-when-uppercased: New file.
60669         * lib/unictype/pr_changes_when_uppercased.c: New file.
60670         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
60671         generated by gen-uni-tables.
60672         * modules/unictype/property-changes-when-uppercased-tests: New file.
60673         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
60674         automatically generated by gen-uni-tables.
60676         New module 'unictype/property-changes-when-lowercased'.
60677         * modules/unictype/property-changes-when-lowercased: New file.
60678         * lib/unictype/pr_changes_when_lowercased.c: New file.
60679         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
60680         generated by gen-uni-tables.
60681         * modules/unictype/property-changes-when-lowercased-tests: New file.
60682         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
60683         automatically generated by gen-uni-tables.
60685         New module 'unictype/property-case-ignorable'.
60686         * modules/unictype/property-case-ignorable: New file.
60687         * lib/unictype/pr_case_ignorable.c: New file.
60688         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
60689         by gen-uni-tables.
60690         * modules/unictype/property-case-ignorable-tests: New file.
60691         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
60692         generated by gen-uni-tables.
60694         New module 'unictype/property-cased'.
60695         * modules/unictype/property-cased: New file.
60696         * lib/unictype/pr_cased.c: New file.
60697         * lib/unictype/pr_cased.h: New file, automatically generated by
60698         gen-uni-tables.
60699         * modules/unictype/property-cased-tests: New file.
60700         * tests/unictype/test-pr_cased.c: New file, automatically generated by
60701         gen-uni-tables.
60703 2011-01-09  Bruno Haible  <bruno@clisp.org>
60705         Update to Unicode 5.2.0.
60706         * lib/gen-uni-tables.c (output_predicate, output_category,
60707         output_combclass, output_bidi_category, output_decimal_digit_test,
60708         output_decimal_digit, output_digit_test, output_digit,
60709         output_numeric_test, output_numeric, output_mirror, output_scripts,
60710         output_scripts_byname, output_blocks, output_ident_category): Fix
60711         comment header.
60712         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
60713         get_wbp.
60714         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
60715         items.
60716         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
60717         Changes_When_Lowercased, Changes_When_Uppercased,
60718         Changes_When_Titlecased, Changes_When_Casefolded,
60719         Changes_When_Casemapped.
60720         (is_property_alphabetic, is_property_default_ignorable_code_point):
60721         Update for Unicode 5.2.0.
60722         (is_property_cased, is_property_case_ignorable,
60723         is_property_changes_when_lowercased,
60724         is_property_changes_when_uppercased,
60725         is_property_changes_when_titlecased,
60726         is_property_changes_when_casefolded,
60727         is_property_changes_when_casemapped): New functions.
60728         (output_properties): Output also the properties cased, case_ignorable,
60729         changes_when_lowercased, changes_when_uppercased,
60730         changes_when_titlecased, changes_when_casefolded,
60731         changes_when_casemapped.
60732         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
60733         Unicode TR#11 revision 17 -> 19.
60734         (LBP_CP): New enumeration value.
60735         (LBP_*): Adjust values accordingly.
60736         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60737         TR#14 revision 22 -> 24.
60738         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
60739         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
60740         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60741         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
60742         is_WBP_MIDLETTER.
60743         (output_composition_tables): Allow for 24 bits instead of 16 bits in
60744         the code1 and code2 of each composition rule.
60745         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
60746         * lib/unicase/ignorable.h: Likewise.
60747         * lib/unicase/tocasefold.h: Likewise.
60748         * lib/unicase/tolower.h: Likewise.
60749         * lib/unicase/totitle.h: Likewise.
60750         * lib/unicase/toupper.h: Likewise.
60751         * lib/unictype/bidi_of.h: Likewise.
60752         * lib/unictype/blocks.h: Likewise.
60753         * lib/unictype/categ_C.h: Likewise.
60754         * lib/unictype/categ_Cf.h: Likewise.
60755         * lib/unictype/categ_Cn.h: Likewise.
60756         * lib/unictype/categ_L.h: Likewise.
60757         * lib/unictype/categ_Ll.h: Likewise.
60758         * lib/unictype/categ_Lm.h: Likewise.
60759         * lib/unictype/categ_Lo.h: Likewise.
60760         * lib/unictype/categ_Lu.h: Likewise.
60761         * lib/unictype/categ_M.h: Likewise.
60762         * lib/unictype/categ_Mc.h: Likewise.
60763         * lib/unictype/categ_Mn.h: Likewise.
60764         * lib/unictype/categ_N.h: Likewise.
60765         * lib/unictype/categ_Nd.h: Likewise.
60766         * lib/unictype/categ_Nl.h: Likewise.
60767         * lib/unictype/categ_No.h: Likewise.
60768         * lib/unictype/categ_P.h: Likewise.
60769         * lib/unictype/categ_Pd.h: Likewise.
60770         * lib/unictype/categ_Po.h: Likewise.
60771         * lib/unictype/categ_S.h: Likewise.
60772         * lib/unictype/categ_Sc.h: Likewise.
60773         * lib/unictype/categ_So.h: Likewise.
60774         * lib/unictype/categ_of.h: Likewise.
60775         * lib/unictype/combining.h: Likewise.
60776         * lib/unictype/ctype_alnum.h: Likewise.
60777         * lib/unictype/ctype_alpha.h: Likewise.
60778         * lib/unictype/ctype_graph.h: Likewise.
60779         * lib/unictype/ctype_lower.h: Likewise.
60780         * lib/unictype/ctype_print.h: Likewise.
60781         * lib/unictype/ctype_punct.h: Likewise.
60782         * lib/unictype/ctype_upper.h: Likewise.
60783         * lib/unictype/decdigit.h: Likewise.
60784         * lib/unictype/digit.h: Likewise.
60785         * lib/unictype/numeric.h: Likewise.
60786         * lib/unictype/pr_alphabetic.h: Likewise.
60787         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60788         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60789         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60790         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60791         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60792         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60793         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60794         * lib/unictype/pr_combining.h: Likewise.
60795         * lib/unictype/pr_composite.h: Likewise.
60796         * lib/unictype/pr_currency_symbol.h: Likewise.
60797         * lib/unictype/pr_dash.h: Likewise.
60798         * lib/unictype/pr_decimal_digit.h: Likewise.
60799         * lib/unictype/pr_deprecated.h: Likewise.
60800         * lib/unictype/pr_diacritic.h: Likewise.
60801         * lib/unictype/pr_extender.h: Likewise.
60802         * lib/unictype/pr_grapheme_base.h: Likewise.
60803         * lib/unictype/pr_grapheme_extend.h: Likewise.
60804         * lib/unictype/pr_grapheme_link.h: Likewise.
60805         * lib/unictype/pr_id_continue.h: Likewise.
60806         * lib/unictype/pr_id_start.h: Likewise.
60807         * lib/unictype/pr_ideographic.h: Likewise.
60808         * lib/unictype/pr_ignorable_control.h: Likewise.
60809         * lib/unictype/pr_logical_order_exception.h: Likewise.
60810         * lib/unictype/pr_lowercase.h: Likewise.
60811         * lib/unictype/pr_numeric.h: Likewise.
60812         * lib/unictype/pr_other_alphabetic.h: Likewise.
60813         * lib/unictype/pr_punctuation.h: Likewise.
60814         * lib/unictype/pr_sentence_terminal.h: Likewise.
60815         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60816         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60817         * lib/unictype/pr_unified_ideograph.h: Likewise.
60818         * lib/unictype/pr_uppercase.h: Likewise.
60819         * lib/unictype/pr_xid_continue.h: Likewise.
60820         * lib/unictype/pr_xid_start.h: Likewise.
60821         * lib/unictype/pr_zero_width.h: Likewise.
60822         * lib/unictype/scripts.h: Likewise.
60823         * lib/unictype/scripts_byname.gperf: Likewise.
60824         * lib/unictype/sy_java_ident.h: Likewise.
60825         * lib/unigbrk/gbrkprop.h: Likewise.
60826         * lib/unilbrk/lbrkprop1.h: Likewise.
60827         * lib/unilbrk/lbrkprop2.h: Likewise.
60828         * lib/unilbrk/lbrktables.h: Likewise.
60829         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
60830         LBP_CP. Implement rule LB30.
60831         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
60832         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
60833         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
60834         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
60835         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
60836         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
60837         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
60838         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
60839         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
60840         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
60841         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
60842         bits instead of 16 bits in the code1 and code2 of each composition
60843         rule.
60844         (uc_composition): Update for Unicode 5.2.0.
60845         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
60846         * lib/uninorm/decomposition-table2.h: Likewise.
60847         * lib/uniwbrk/wbrkprop.h: Likewise.
60848         * tests/unicase/test-cased.c: Likewise.
60849         * tests/unicase/test-ignorable.c: Likewise.
60850         * tests/unicase/test-uc_tolower.c: Likewise.
60851         * tests/unicase/test-uc_totitle.c: Likewise.
60852         * tests/unicase/test-uc_toupper.c: Likewise.
60853         * tests/unictype/test-categ_C.c: Likewise.
60854         * tests/unictype/test-categ_Cf.c: Likewise.
60855         * tests/unictype/test-categ_Cn.c: Likewise.
60856         * tests/unictype/test-categ_L.c: Likewise.
60857         * tests/unictype/test-categ_Ll.c: Likewise.
60858         * tests/unictype/test-categ_Lm.c: Likewise.
60859         * tests/unictype/test-categ_Lo.c: Likewise.
60860         * tests/unictype/test-categ_Lu.c: Likewise.
60861         * tests/unictype/test-categ_M.c: Likewise.
60862         * tests/unictype/test-categ_Mc.c: Likewise.
60863         * tests/unictype/test-categ_Mn.c: Likewise.
60864         * tests/unictype/test-categ_N.c: Likewise.
60865         * tests/unictype/test-categ_Nd.c: Likewise.
60866         * tests/unictype/test-categ_Nl.c: Likewise.
60867         * tests/unictype/test-categ_No.c: Likewise.
60868         * tests/unictype/test-categ_P.c: Likewise.
60869         * tests/unictype/test-categ_Pd.c: Likewise.
60870         * tests/unictype/test-categ_Po.c: Likewise.
60871         * tests/unictype/test-categ_S.c: Likewise.
60872         * tests/unictype/test-categ_Sc.c: Likewise.
60873         * tests/unictype/test-categ_So.c: Likewise.
60874         * tests/unictype/test-ctype_alnum.c: Likewise.
60875         * tests/unictype/test-ctype_alpha.c: Likewise.
60876         * tests/unictype/test-ctype_graph.c: Likewise.
60877         * tests/unictype/test-ctype_lower.c: Likewise.
60878         * tests/unictype/test-ctype_print.c: Likewise.
60879         * tests/unictype/test-ctype_punct.c: Likewise.
60880         * tests/unictype/test-ctype_upper.c: Likewise.
60881         * tests/unictype/test-decdigit.h: Likewise.
60882         * tests/unictype/test-digit.h: Likewise.
60883         * tests/unictype/test-numeric.h: Likewise.
60884         * tests/unictype/test-pr_alphabetic.c: Likewise.
60885         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60886         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60887         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60888         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60889         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60890         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60891         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60892         * tests/unictype/test-pr_combining.c: Likewise.
60893         * tests/unictype/test-pr_composite.c: Likewise.
60894         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60895         * tests/unictype/test-pr_dash.c: Likewise.
60896         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60897         * tests/unictype/test-pr_deprecated.c: Likewise.
60898         * tests/unictype/test-pr_diacritic.c: Likewise.
60899         * tests/unictype/test-pr_extender.c: Likewise.
60900         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60901         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60902         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60903         * tests/unictype/test-pr_id_continue.c: Likewise.
60904         * tests/unictype/test-pr_id_start.c: Likewise.
60905         * tests/unictype/test-pr_ideographic.c: Likewise.
60906         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60907         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60908         * tests/unictype/test-pr_lowercase.c: Likewise.
60909         * tests/unictype/test-pr_numeric.c: Likewise.
60910         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60911         * tests/unictype/test-pr_punctuation.c: Likewise.
60912         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60913         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60914         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60915         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60916         * tests/unictype/test-pr_uppercase.c: Likewise.
60917         * tests/unictype/test-pr_xid_continue.c: Likewise.
60918         * tests/unictype/test-pr_xid_start.c: Likewise.
60919         * tests/unictype/test-pr_zero_width.c: Likewise.
60920         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60921         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
60922         changed behaviour: line breaking is now disallowed between a letter
60923         or '=' and '('.
60924         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60925         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60926         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60927         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
60928         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60929         lib/uniwidth/width.c.
60930         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
60931         without comments, but with the original copyright notice.
60932         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60933         changes.
60934         * lib/unictype/categ_Cc.h: Likewise.
60935         * lib/unictype/categ_Co.h: Likewise.
60936         * lib/unictype/categ_Cs.h: Likewise.
60937         * lib/unictype/categ_Lt.h: Likewise.
60938         * lib/unictype/categ_Me.h: Likewise.
60939         * lib/unictype/categ_Pc.h: Likewise.
60940         * lib/unictype/categ_Pe.h: Likewise.
60941         * lib/unictype/categ_Pf.h: Likewise.
60942         * lib/unictype/categ_Pi.h: Likewise.
60943         * lib/unictype/categ_Ps.h: Likewise.
60944         * lib/unictype/categ_Sk.h: Likewise.
60945         * lib/unictype/categ_Sm.h: Likewise.
60946         * lib/unictype/categ_Z.h: Likewise.
60947         * lib/unictype/categ_Zl.h: Likewise.
60948         * lib/unictype/categ_Zp.h: Likewise.
60949         * lib/unictype/categ_Zs.h: Likewise.
60950         * lib/unictype/ctype_blank.h: Likewise.
60951         * lib/unictype/ctype_cntrl.h: Likewise.
60952         * lib/unictype/ctype_digit.h: Likewise.
60953         * lib/unictype/ctype_space.h: Likewise.
60954         * lib/unictype/ctype_xdigit.h: Likewise.
60955         * lib/unictype/mirror.h: Likewise.
60956         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60957         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60958         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60959         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60960         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60961         * lib/unictype/pr_bidi_control.h: Likewise.
60962         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60963         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60964         * lib/unictype/pr_bidi_pdf.h: Likewise.
60965         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60966         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60967         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60968         * lib/unictype/pr_format_control.h: Likewise.
60969         * lib/unictype/pr_hex_digit.h: Likewise.
60970         * lib/unictype/pr_hyphen.h: Likewise.
60971         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60972         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60973         * lib/unictype/pr_iso_control.h: Likewise.
60974         * lib/unictype/pr_join_control.h: Likewise.
60975         * lib/unictype/pr_left_of_pair.h: Likewise.
60976         * lib/unictype/pr_line_separator.h: Likewise.
60977         * lib/unictype/pr_math.h: Likewise.
60978         * lib/unictype/pr_non_break.h: Likewise.
60979         * lib/unictype/pr_not_a_character.h: Likewise.
60980         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60981         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60982         * lib/unictype/pr_other_id_continue.h: Likewise.
60983         * lib/unictype/pr_other_id_start.h: Likewise.
60984         * lib/unictype/pr_other_lowercase.h: Likewise.
60985         * lib/unictype/pr_other_math.h: Likewise.
60986         * lib/unictype/pr_other_uppercase.h: Likewise.
60987         * lib/unictype/pr_paired_punctuation.h: Likewise.
60988         * lib/unictype/pr_paragraph_separator.h: Likewise.
60989         * lib/unictype/pr_pattern_syntax.h: Likewise.
60990         * lib/unictype/pr_pattern_white_space.h: Likewise.
60991         * lib/unictype/pr_private_use.h: Likewise.
60992         * lib/unictype/pr_quotation_mark.h: Likewise.
60993         * lib/unictype/pr_radical.h: Likewise.
60994         * lib/unictype/pr_soft_dotted.h: Likewise.
60995         * lib/unictype/pr_space.h: Likewise.
60996         * lib/unictype/pr_titlecase.h: Likewise.
60997         * lib/unictype/pr_variation_selector.h: Likewise.
60998         * lib/unictype/pr_white_space.h: Likewise.
60999         * lib/unictype/sy_c_ident.h: Likewise.
61000         * lib/unictype/sy_c_whitespace.h: Likewise.
61001         * lib/unictype/sy_java_whitespace.h: Likewise.
61002         * modules/uni*/*: Bump version number of expected libunistring version.
61003         Reported by Simon Josefsson.
61005 2011-01-09  Karl Heuer  <kwzh@gnu.org>
61007         useless-if-before-free: fix typo in --help and make the internal,
61008         automatic version date update process work once again.
61009         --help output contained a NUL character instead of the
61010         backslash-zero that was intended.  Also, the "must lie within
61011         the first 8 lines" line is on line 9, and hence not getting
61012         automatically updated.
61013         * build-aux/useless-if-before-free: Fix the former by adding a
61014         backslash, and the latter by condensing the three lines of what-it-does
61015         to a single line, leaving one line of slack for the future.
61017 2011-01-09  Bruno Haible  <bruno@clisp.org>
61019         uniwidth/width: Fix width of U+1D173..U+1D17A.
61020         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
61021         symbolic_width, output_width_property_test): New functions.
61022         (main): Invoke output_nonspacing_property, output_width_property_test.
61023         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
61024         U+1D173..U+1D17A.
61025         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
61026         1.
61027         * modules/uniwidth/*: Bump version number of expected libunistring
61028         version.
61029         * modules/unilbrk/*: Likewise.
61031 2011-01-08  Bruno Haible  <bruno@clisp.org>
61033         uninorm tests: Preserve copyright of Unicode data file.
61034         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
61035         Mention modifications.
61037 2011-01-08  Bruno Haible  <bruno@clisp.org>
61039         gen-uni-tables: Prepare for Unicode 5.2.0.
61040         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
61041         (debug_output_lbp, output_lbp): Update.
61043 2011-01-08  Bruno Haible  <bruno@clisp.org>
61045         unilbrk: Clarify gen-uni-tables.c code.
61046         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
61047         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
61048         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
61050 2011-01-07  Bruno Haible  <bruno@clisp.org>
61052         strtod: Restore errno when successfully parsing Infinity or NaN.
61053         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
61054         restore the original errno.
61056 2011-01-07  Bruno Haible  <bruno@clisp.org>
61058         remove test: Avoid failure on HP-UX 11.
61059         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
61061 2011-01-07  Bruno Haible  <bruno@clisp.org>
61063         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
61064         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
61065         error code.
61067 2011-01-07  Pádraig Brady  <P@draigBrady.com>
61069         ignore-value: fixup comments, and add Eric Blake
61070         as an author since he rewrote the macros.
61071         * lib/ignore-value.h (ignore_value):  State that
61072         we now support aggregates.  Also specify exactly
61073         when the GCC warn_unused_result feature was added.
61075 2011-01-06  Eric Blake  <eblake@redhat.com>
61077         ignore-value: support aggregate types
61078         * lib/ignore-value.h (ignore_value): Provide separate gcc
61079         definition.
61080         * modules/ignore-value-tests: New test module.
61081         * tests/test-ignore-value.c: New test.
61083         maint.mk: improve sc_prohibit_strcmp regex
61084         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
61085         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
61086         definition of STRNEQ.
61088         signal: work around Haiku issue with SIGBUS
61089         * lib/siglist.h: Add comment.
61090         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
61091         strsignal's favoring of SIGSEGV.
61092         * tests/test-signal.c (main): Avoid test failure.
61093         * doc/posix-headers/signal.texi (signal.h): Document the issue.
61094         Reported by Scott McCreary.
61096         maint.mk: add pre-release check to ensure submodule commits are public
61097         * top/maint.mk (public-submodule-commit): New rule.
61098         (submodule-checks): New variable.
61099         (alpha beta stable): Depend on the variable.
61101 2011-01-05  Pádraig Brady  <P@draigBrady.com>
61102         and Jim Meyering  <meyering@redhat.com>
61104         ignore-value: make ignore_value more generic; deprecate ignore_ptr
61105         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
61106         (ATTRIBUTE_DEPRECATED): Define.
61107         (_ignore_case): New function.
61108         (ignore_value): New macro, to replace the old function.
61109         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
61110         * modules/ignore-value (Depends-on): Add stdint.
61112 2011-01-04  Eric Blake  <eblake@redhat.com>
61114         doc: regenerate INSTALL
61115         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
61116         @firstparagraphindent support, now that autoconf dropped it.
61117         (INSTALL_PRELUDE): Reinstate old macro.
61118         * doc/install.texi: Resync from autoconf.
61119         * doc/INSTALL: Reflect recent autoconf update.
61120         * doc/INSTALL.ISO: Likewise.
61121         * doc/INSTALL.UTF-8: Likewise.
61122         Reported by Karl Berry.
61124 2011-01-04  Bruce Korb  <address@hidden>
61126         git-version-gen: avoid a sub-shell
61127         * build-aux/git-version-gen: Redirect stderr in `...` via
61128         "exec 2>...", rather than via an added sub-shell.
61130 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
61132         git-version-gen: use (...) rather than sh -c '...'
61133         * build-aux/git-version-gen: Rather than hard-coding a shell's name
61134         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
61136 2011-01-03  Jim Meyering  <meyering@redhat.com>
61138         git-version-gen: convert leading TABs to spaces
61139         * build-aux/git-version-gen: Expand leading TABs.
61141         git-version-gen: handle failed "git rev-list"
61142         * build-aux/git-version-gen: Rather than leaking a "fatal" error
61143         from git and proceeding as if it had succeeded but printed no SHA1
61144         checksums, suppress the diagnostic and handle the failure.
61145         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
61147         git-version-gen: include command name in one more diagnostic
61148         * build-aux/git-version-gen: When the required .tarball-version file
61149         was missing or unreadable, you might see the diagnostic from "cat",
61150         but no trace of the name of the invoking script.  Now, you still see
61151         the diagnostic from cat, but also get one from "git-version-gen: ".
61152         Inspired by a patch from Bruce Korb.
61154         update-copyright: adjust test to match changed code
61155         * tests/test-update-copyright.sh: Change test's expected output
61156         to match new actual output.
61158 2011-01-02  Bruno Haible  <bruno@clisp.org>
61160         getlogin_r: Avoid test failure on HP-UX 11.
61161         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
61162         ERANGE when the second argument is zero.
61163         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
61164         portability problem.
61166 2011-01-02  Bruce Korb  <bkorb@gnu.org>
61168         * build-aux/update-copyright: doc Simon's changes
61170 2011-01-02  Simon Josefsson  <simon@josefsson.org>
61172         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
61173         environment variable.
61175 2011-01-02  Bruno Haible  <bruno@clisp.org>
61177         unigbrk: Avoid gcc warnings.
61178         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
61179         unused variable.
61180         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
61181         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
61182         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
61183         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
61184         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
61185         Change type of first argument to 'const char *'.
61186         (main): Remove unused variable.
61187         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
61188         type of first argument to 'const char *'.
61189         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
61190         Likewise.
61191         (main): Change type of variable 's'.
61192         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
61193         to 'int'.
61195 2011-01-02  Bruno Haible  <bruno@clisp.org>
61197         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
61198         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
61199         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
61200         bug.
61201         * lib/pwrite.c: Undo 2010-12-31 patch.
61202         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
61204 2011-01-02  Bruno Haible  <bruno@clisp.org>
61206         pread: Fix test whether it works.
61207         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
61209 2011-01-02  Bruno Haible  <bruno@clisp.org>
61211         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
61212         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
61213         ends in "6". Don't require a specific month name. Try also the locale
61214         names found on HP-UX 11 and Solaris 7.
61216 2011-01-02  Bruno Haible  <bruno@clisp.org>
61218         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
61219         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
61220         C linkage.
61221         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
61223 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61225         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
61226         for consistency, since the "cluster" term is not used elsewhere.
61227         * lib/unigbrk.in.h: Update name.
61228         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
61229         * lib/unigbrk/u16-grapheme-next.c: Update name.
61230         * lib/unigbrk/u16-grapheme-prev.c: Update name.
61231         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
61232         * lib/unigbrk/u32-grapheme-next.c: Update name.
61233         * lib/unigbrk/u32-grapheme-prev.c: Update name.
61234         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
61235         * lib/unigbrk/u8-grapheme-next.c: Update name.
61236         * lib/unigbrk/u8-grapheme-prev.c: Update name.
61237         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
61238         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
61239         Suggested by Bruno Haible.
61241 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61243         Remove module 'u8-grapheme-len' as too redundant with
61244         'u8-grapheme-next'.
61245         * modules/unigbrk/u8-grapheme-len: Delete file.
61246         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
61247         * lib/unigbrk.in.h: Remove prototype for deleted function.
61248         * lib/unigbrk/u8-grapheme-len.c: Delete file.
61249         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
61251         Remove module 'u16-grapheme-len' as too redundant with
61252         'u16-grapheme-next'.
61253         * modules/unigbrk/u16-grapheme-len: Delete file.
61254         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
61255         * lib/unigbrk.in.h: Remove prototype for deleted function.
61256         * lib/unigbrk/u16-grapheme-len.c: Delete file.
61257         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
61259         Remove module 'u32-grapheme-len' as too redundant with
61260         'u32-grapheme-next'.
61261         * modules/unigbrk/u32-grapheme-len: Delete file.
61262         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
61263         * lib/unigbrk.in.h: Remove prototype for deleted function.
61264         * lib/unigbrk/u32-grapheme-len.c: Delete file.
61265         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
61267         Suggested by Bruno Haible.
61269 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61271         * unigbrk.in.h: Fix typo: "ben" => "been".
61272         Reported by Bruno Haible.
61274 2011-01-01  Jim Meyering  <meyering@redhat.com>
61276         maint: update almost all copyright ranges to include 2011
61277         Run the new "make update-copyright" rule.
61279 2011-01-01  Jim Meyering  <meyering@redhat.com>
61281         maint: update-copyright: exempt doc/INSTALL*
61282         * Makefile (update-copyright): Also exclude doc/INSTALL*,
61283         since they are generated.  Suggested by Bruno Haible.
61285 2011-01-01  Jim Meyering  <meyering@redhat.com>
61287         maint: refine the update-copyright rule
61288         * Makefile (update-copyright): Also exclude any file that includes
61289         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
61290         code that merely generates the comment.
61292 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61294         New module 'u8-grapheme-len'.
61295         * modules/unigbrk/u8-grapheme-len: New file.
61296         * modules/unigbrk/u8-grapheme-len-tests: New file.
61297         * lib/unigbrk.in.h: Add prototype for new function.
61298         * lib/unigbrk/u8-grapheme-len.c: New file.
61299         * tests/unigbrk/test-u8-grapheme-len.c: New file.
61301         New module 'u16-grapheme-len'.
61302         * modules/unigbrk/u16-grapheme-len: New file.
61303         * modules/unigbrk/u16-grapheme-len-tests: New file.
61304         * lib/unigbrk.in.h: Add prototype for new function.
61305         * lib/unigbrk/u16-grapheme-len.c: New file.
61306         * tests/unigbrk/test-u16-grapheme-len.c: New file.
61308         New module 'u32-grapheme-len'.
61309         * modules/unigbrk/u32-grapheme-len: New file.
61310         * modules/unigbrk/u32-grapheme-len-tests: New file.
61311         * lib/unigbrk.in.h: Add prototype for new function.
61312         * lib/unigbrk/u32-grapheme-len.c: New file.
61313         * tests/unigbrk/test-u32-grapheme-len.c: New file.
61315         New module 'u8-grapheme-next'.
61316         * modules/unigbrk/u8-grapheme-next: New file.
61317         * modules/unigbrk/u8-grapheme-next-tests: New file.
61318         * lib/unigbrk.in.h: Add prototype for new function.
61319         * lib/unigbrk/u8-grapheme-next.c: New file.
61320         * tests/unigbrk/test-u8-grapheme-next.c: New file.
61322         New module 'u16-grapheme-next'.
61323         * modules/unigbrk/u16-grapheme-next: New file.
61324         * modules/unigbrk/u16-grapheme-next-tests: New file.
61325         * lib/unigbrk.in.h: Add prototype for new function.
61326         * lib/unigbrk/u16-grapheme-next.c: New file.
61327         * tests/unigbrk/test-u16-grapheme-next.c: New file.
61329         New module 'u32-grapheme-next'.
61330         * modules/unigbrk/u32-grapheme-next: New file.
61331         * modules/unigbrk/u32-grapheme-next-tests: New file.
61332         * lib/unigbrk.in.h: Add prototype for new function.
61333         * lib/unigbrk/u32-grapheme-next.c: New file.
61334         * tests/unigbrk/test-u32-grapheme-next.c: New file.
61336         New module 'u8-grapheme-prev'.
61337         * modules/unigbrk/u8-grapheme-prev: New file.
61338         * modules/unigbrk/u8-grapheme-prev-tests: New file.
61339         * lib/unigbrk.in.h: Add prototype for new function.
61340         * lib/unigbrk/u8-grapheme-prev.c: New file.
61341         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
61343         New module 'u16-grapheme-prev'.
61344         * modules/unigbrk/u16-grapheme-prev: New file.
61345         * modules/unigbrk/u16-grapheme-prev-tests: New file.
61346         * lib/unigbrk.in.h: Add prototype for new function.
61347         * lib/unigbrk/u16-grapheme-prev.c: New file.
61348         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
61350         New module 'u32-grapheme-prev'.
61351         * modules/unigbrk/u32-grapheme-prev: New file.
61352         * modules/unigbrk/u32-grapheme-prev-tests: New file.
61353         * lib/unigbrk.in.h: Add prototype for new function.
61354         * lib/unigbrk/u32-grapheme-prev.c: New file.
61355         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
61357         New module 'u8-grapheme-breaks'.
61358         * modules/unigbrk/u8-grapheme-breaks: New file.
61359         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
61360         * lib/unigbrk.in.h: Add prototype for new function.
61361         * lib/unigbrk/u8-grapheme-breaks.c: New file.
61362         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
61364         New module 'u16-grapheme-breaks'.
61365         * modules/unigbrk/u16-grapheme-breaks: New file.
61366         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
61367         * lib/unigbrk.in.h: Add prototype for new function.
61368         * lib/unigbrk/u16-grapheme-breaks.c: New file.
61369         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
61371         New module 'u32-grapheme-breaks'.
61372         * modules/unigbrk/u32-grapheme-breaks: New file.
61373         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
61374         * lib/unigbrk.in.h: Add prototype for new function.
61375         * lib/unigbrk/u32-grapheme-breaks.c: New file.
61376         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
61378         New module 'ulc-grapheme-breaks'.
61379         * modules/unigbrk/ulc-grapheme-breaks: New file.
61380         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
61381         * m4/locale-ar.m4: New file.
61382         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
61383         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
61384         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
61386 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61388         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
61389         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
61390         modified how this file was generated before I initially submitted
61391         the module, but failed to regenerate it.  This meant that several
61392         of the level2 entries were wrong.
61393         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
61394         Remove the division-by-2 that is folded into the table now that
61395         gbrkprop.h has been regenerated properly.  Now -1 entries are
61396         handled correctly.
61398         New module 'unigbrk/uc-gbrk-prop-tests'.
61399         * modules/unigbrk/uc-gbrk-prop-tests: New file.
61400         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
61401         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
61402         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
61404 2011-01-01  Bruno Haible  <bruno@clisp.org>
61406         Avoid use of hexadecimal escapes.
61407         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
61408         instead of hexadecimal escapes.
61410 2011-01-01  Jim Meyering  <meyering@redhat.com>
61412         maint: new rule to update copyright year ranges
61413         * Makefile (update-copyright): New rule.
61415         maint: indent with TABs in Makefile
61416         * Makefile: Expand leading sequences of spaces to TABs
61418         version-etc: update the copyright year it reports
61419         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
61421 2010-12-31  Bruno Haible  <bruno@clisp.org>
61423         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
61424         * lib/isfinite.c (zerof, zerod, zerol): New variables.
61425         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
61426         zero.
61428 2010-12-31  Bruno Haible  <bruno@clisp.org>
61430         pwrite: Work around HP-UX 11.11 bug.
61431         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
61432         works and set REPLACE_PWRITE if not.
61433         * lib/pwrite.c (pwrite): Add an implementation that uses the system
61434         function.
61435         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
61437 2010-12-31  Bruno Haible  <bruno@clisp.org>
61439         pread: Work around HP-UX 11 bugs.
61440         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
61441         and set REPLACE_PREAD if not.
61442         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
61444 2010-12-31  Eric Blake  <eblake@redhat.com>
61446         nl_langinfo: fix YESEXPR on Irix 6.5
61447         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
61448         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
61449         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
61450         it.
61452 2010-12-31  Bruno Haible  <bruno@clisp.org>
61454         iconv: Document HP-UX 11 bug.
61455         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
61457 2010-12-31  Bruno Haible  <bruno@clisp.org>
61459         ldexpl: Fix link error on HP-UX 11.
61460         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
61461         LDEXPL_LIBM, using $ISNANL_LIBM.
61463 2010-12-31  Eric Blake  <eblake@redhat.com>
61465         ftello: avoid compilation failure with SunStudio c89
61466         * lib/ftello.c (ftello): Use lseek, not llseek.
61468         tests: avoid failing coreutils tests on cygwin
61469         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
61470         (create_exe_shims_): Return 0 when skipping.
61472 2010-12-31  Bruno Haible  <bruno@clisp.org>
61474         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
61475         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
61477 2010-12-31  Bruno Haible  <bruno@clisp.org>
61479         waitpid: Fix link error in C++ mode.
61480         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
61482 2010-12-31  Bruno Haible  <bruno@clisp.org>
61484         isnan: Use GCC built-ins when possible.
61485         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
61486         __builtin_isnan.
61487         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
61488         (isnan): Define using GCC built-ins for GCC >= 4.0.
61490 2010-12-31  Bruno Haible  <bruno@clisp.org>
61492         isnand: Fix mistake.
61493         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
61494         __builtin_isnand.
61496 2010-12-31  Bruno Haible  <bruno@clisp.org>
61498         open: Avoid C++ error on HP-UX 11.
61499         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
61501 2010-12-31  Bruno Haible  <bruno@clisp.org>
61503         time_r: Add missing declarations on HP-UX 11.
61504         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
61505         instead of HAVE_LOCALTIME_R.
61506         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
61507         HAVE_LOCALTIME_R always.
61508         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
61509         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
61510         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
61511         HAVE_LOCALTIME_R.
61512         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
61513         * doc/posix-functions/localtime_r.texi: Likewise.
61515 2010-12-29  Eric Blake  <eblake@redhat.com>
61517         mountlist: tweak previous commit
61518         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
61519         Reported by Paul Eggert.
61521         mountlist: fix local drive detection on cygwin
61522         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
61523         that works for cygwin.
61525 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61527         ftoastr, snprintf: ftoastr + snprintf module
61528         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
61529         since the snprintf module now should be good enough here.
61530         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
61531         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
61532         and gl_MODULE_INDICATOR([snprintf]), but the former enables
61533         GNULIB_SNPRINTF only for the test directory, and the latter
61534         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
61535         seems to suffice by itself.
61537 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61539         alloca: one step towards thread-safety
61540         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
61541         need for a static variable.  All callers changed.  This does not
61542         make the alloca replacement thread-safe, but it's one step.
61544         tests: minor indenting change
61545         * tests/init.sh: Sync from coreutils housekeeping patch
61546         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
61547         to keep lines within 80 columns.
61549 2010-12-28  Jim Meyering  <meyering@redhat.com>
61551         regex: don't infloop on persistent failing calloc
61552         * lib/regexec.c (build_trtable): Return failure indication upon
61553         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
61554         In glibc, this was fixed for version 2.13:
61555         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
61557 2010-12-28  Bruno Haible  <bruno@clisp.org>
61558             Paul Eggert <eggert@cs.ucla.edu>
61560         linkat: Make implementation robust against system behaviour variations.
61561         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
61562         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
61563         way, and to -2 if it needs a generic runtime test.
61564         * lib/linkat.c (solaris_optimized_link_immediate,
61565         solaris_optimized_link_follow): New functions.
61566         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
61567         (check_same_link): Use it.
61569 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
61571         New module 'unigbrk/base'.
61572         * modules/unigbrk/base: New file.
61573         * lib/unigbrk.in.h: New file.
61575         New module 'unigbrk/uc-gbrk-prop'.
61576         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
61577         * modules/unigbrk/uc-gbrk-prop: New file.
61578         * lib/unigbrk/gbrkprop.h: New file.
61579         * lib/unigbrk/uc-gbrk-prop.c: New file.
61581         New module 'unigbrk/uc-is-grapheme-break'.
61582         * modules/unigbrk/uc-is-grapheme-break: New file.
61583         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
61584         * lib/unigbrk/uc-is-grapheme-break.c: New file.
61585         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
61586         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
61587         * tests/unigbrk/GraphemeBreakTest.txt: New file.
61589         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
61591 2010-12-27  Bruno Haible  <bruno@clisp.org>
61593         linkat test: Avoid failure on Solaris 11 2010-11.
61594         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
61596 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61598         utimens: work around glibc rounding bug on more platforms
61599         * lib/utimens.c (fdutimens): Work around rounding bug even if
61600         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
61601         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
61603 2010-12-27  Bruno Haible  <bruno@clisp.org>
61605         select tests: Improve comments.
61606         * tests/test-select.c (do_select): Add comments.
61608 2010-12-27  Bruno Haible  <bruno@clisp.org>
61610         select tests: Safer way of handling timeout.
61611         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
61612         at every invocation.
61614 2010-12-27  Bruno Haible  <bruno@clisp.org>
61616         select tests: Use 'bool' where appropriate.
61617         * tests/test-select.c (connect_to_socket): Change argument type to
61618         'bool'.
61620 2010-12-27  Bruno Haible  <bruno@clisp.org>
61622         select tests: Use existing modules.
61623         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
61624         (configure.ac): Don't test for unistd.h.
61625         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
61626         declared in <unistd.h>.
61628 2010-12-27  Bruno Haible  <bruno@clisp.org>
61630         mbrtowc: Work around a Solaris 7 bug.
61631         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
61632         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
61633         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
61634         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
61635         MBRTOWC_NULL_ARG1_BUG.
61636         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
61637         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
61638         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
61639         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
61641 2010-12-27  Jim Meyering  <meyering@redhat.com>
61643         read-file.c: tweak syntax
61644         * lib/read-file.c (fread_file): Remove space after "*" in function
61645         definitions.
61647 2010-12-27  Bruno Haible  <bruno@clisp.org>
61649         times test: Avoid gcc warnings on OSF/1.
61650         * tests/test-times.c (main): Cast printf arguments from clock_t to
61651         'long int'.
61653 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61655         utimens: work around glibc rounding bug on older Linux kernels
61656         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
61657         on Linux with a glibc whose utimes might not work, then work
61658         around a longstanding glibc bug involving rounding rather than
61659         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
61660         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61662 2010-12-26  Bruno Haible  <bruno@clisp.org>
61664         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
61665         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
61666         _GL_CXXALIAS_SYS.
61667         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61669 2010-12-26  Bruno Haible  <bruno@clisp.org>
61671         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
61672         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
61673         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
61674         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
61675         looking for the declaration.
61676         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61677         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
61678         problem.
61679         * doc/posix-functions/inet_pton.texi: Likewise.
61681 2010-12-26  Bruno Haible  <bruno@clisp.org>
61683         arpa_inet: Use the common idioms with C++ support.
61684         * lib/arpa_inet.in.h: Include c++defs.h.
61685         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
61686         support.
61687         * modules/arpa_inet (Depends-on): Add c++defs.
61688         (Makefile.am): Substitute the contents of c++defs.h.
61689         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
61690         * modules/arpa_inet-c++-tests: New file.
61691         * tests/test-arpa_inet-c++.cc: New file.
61693 2010-12-25  Bruno Haible  <bruno@clisp.org>
61695         Fix more C++ link errors on Solaris 8.
61696         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
61697         $(LIB_EACCESS).
61698         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
61699         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
61700         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
61701         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
61702         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
61704 2010-12-25  Bruno Haible  <bruno@clisp.org>
61706         printf-posix: Fix link error when a non-GCC compiler is used.
61707         * lib/stdio.in.h (printf): When not using GCC, override printf
61708         correctly.
61709         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61711 2010-12-25  Bruno Haible  <bruno@clisp.org>
61713         strerror_r-posix: Update doc.
61714         * doc/posix-functions/strerror_r.texi: Update doc about the return
61715         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
61717 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61719         utimens: simplify the logic of the previous change
61720         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
61721         This should not affect whether the test succeeds or fails.
61723         utimens: configure better on hosts with NFS clock skew
61724         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
61725         uses the clock of the local host.  It might use the clock of the
61726         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
61727         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61729 2010-12-25  Bruno Haible  <bruno@clisp.org>
61731         ptsname test: Avoid failure on Solaris.
61732         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
61733         open a pseudo-terminal; don't use BSD-style ptys.
61734         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
61736 2010-12-25  Bruno Haible  <bruno@clisp.org>
61738         ptsname: Avoid ERANGE failure on some systems.
61739         * lib/ptsname.c (buffer): Increase size.
61741 2010-12-25  Bruno Haible  <bruno@clisp.org>
61743         rename, renameat: Avoid test failures at NFS mounted locations.
61744         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
61745         so that subsequent mkdir calls succeed.
61747 2010-12-25  Bruno Haible  <bruno@clisp.org>
61749         iswblank: Fix C++ link error on Solaris 8.
61750         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
61751         _GL_FUNCDECL_SYS.
61753 2010-12-25  Bruno Haible  <bruno@clisp.org>
61755         unistd: Fix C++ link error on Solaris 8.
61756         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
61758 2010-12-25  Bruno Haible  <bruno@clisp.org>
61760         readlink doc: Mention an old glibc bug.
61761         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
61763 2010-12-25  Bruno Haible  <bruno@clisp.org>
61765         fcntl-h: Fix for use of C++ on glibc systems.
61766         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
61767         also on glibc systems in C++ mode.
61768         Reported by Gary V. Vaughan <gary@gnu.org>.
61770 2010-12-25  Bruno Haible  <bruno@clisp.org>
61772         roundl-ieee: Make it work on OSF/1 5.1 with cc.
61773         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
61775 2010-12-25  Bruno Haible  <bruno@clisp.org>
61777         truncl-ieee: Make it work on OSF/1 5.1 with cc.
61778         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
61779         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
61780         test whether truncl works according to ISO C 99 with IEC 60559.
61781         * m4/truncl-ieee.m4: New file.
61782         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
61783         m4/signbit.m4.
61784         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
61786 2010-12-25  Bruno Haible  <bruno@clisp.org>
61788         ceill-ieee: Make it work on OSF/1 5.1 with cc.
61789         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
61790         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
61791         test whether ceill works according to ISO C 99 with IEC 60559.
61792         * m4/ceill-ieee.m4: New file.
61793         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
61794         m4/signbit.m4.
61795         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
61797 2010-12-25  Bruno Haible  <bruno@clisp.org>
61799         Ensure all prerequisites of <wchar.h> are included.
61800         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
61801         before <wchar.h>.
61802         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
61803         gl_MBRLEN_NUL_RETVAL): Likewise.
61804         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
61805         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
61806         AC_FUNC_MBRTOWC): Likewise.
61807         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
61808         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
61809         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
61810         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
61811         Likewise.
61812         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
61813         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
61814         (gl_WCHAR_H): Improve comments.
61815         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61817 2010-12-25  Bruno Haible  <bruno@clisp.org>
61819         strtok_r: Fix C syntax error in autoconf macro.
61820         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
61821         characters in test program.
61823 2010-12-24  Bruno Haible  <bruno@clisp.org>
61825         ceil, trunc, round: Fix gcc warnings.
61826         * lib/ceil.c (MIN): Undefine before redefining.
61827         * lib/trunc.c (MIN): Likewise.
61828         * lib/round.c (MIN): Likewise.
61829         Include <math.h> first.
61831 2010-12-24  Bruno Haible  <bruno@clisp.org>
61833         select tests: Avoid failures on OSF/1 5.1.
61834         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
61835         failure of closing the last socket; it may fail with ECONNRESET.
61837 2010-12-24  Eric Blake  <eblake@redhat.com>
61839         stdint: avoid HP-UX 10.20 preprocessor bug
61840         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
61841         than #if.
61842         * tests/test-floor2.c (main): Likewise.
61843         Reported by Peter O'Gorman.
61845         pipe: make obsoletion transition easier
61846         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
61847         * modules/pipe (Files): Include revived file.
61848         (Include): Drop reference, to mirror getdate's behavior.
61850 2010-12-24  Bruno Haible  <bruno@clisp.org>
61852         sys_socket: Hide mismatch of declarations on NonStop Kernel.
61853         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
61854         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
61855         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61857 2010-12-24  Bruno Haible  <bruno@clisp.org>
61859         gethostname: Ensure declaration on NonStop Kernel.
61860         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
61861         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61863 2010-12-24  Bruno Haible  <bruno@clisp.org>
61865         sys_select: Ensure all necessary types on NonStop Kernel.
61866         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
61867         include <sys/time.h>.
61868         * doc/posix-headers/sys_select.texi: Mention that it's missing on
61869         NonStop Kernel.
61870         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61872 2010-12-24  Bruno Haible  <bruno@clisp.org>
61874         sys_select: Remove unneeded include.
61875         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
61876         have <sys/select.h>.
61878 2010-12-24  Bruno Haible  <bruno@clisp.org>
61880         gethostname: Provide a fallback for HOST_NAME_MAX.
61881         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
61882         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
61883         instead.
61884         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61886 2010-12-24  Bruno Haible  <bruno@clisp.org>
61888         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
61889         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
61890         (SA_RESTART): Likewise.
61891         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61893 2010-12-24  Bruno Haible  <bruno@clisp.org>
61895         signal: Define NSIG.
61896         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
61897         * tests/test-signal.c (nsig): New variable.
61898         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61900 2010-12-24  Bruno Haible  <bruno@clisp.org>
61902         rename, renameat: Avoid test failures on OSF/1 5.1.
61903         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
61904         alternative error codes.
61905         * tests/test-renameat.c (main): Likewise.
61907 2010-12-24  Bruno Haible  <bruno@clisp.org>
61909         *printf: Detect large precisions bug on Solaris 10/SPARC.
61910         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
61911         by Paul Eggert.
61912         * tests/test-snprintf-posix.h (test_function): Add this test code here
61913         too.
61914         * tests/test-sprintf-posix.h (test_function): Likewise.
61915         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61916         * tests/test-vasprintf-posix.c (test_function): Likewise.
61917         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
61918         around by gnulib.
61919         * doc/posix-functions/printf.texi: Likewise.
61920         * doc/posix-functions/snprintf.texi: Likewise.
61921         * doc/posix-functions/sprintf.texi: Likewise.
61922         * doc/posix-functions/vfprintf.texi: Likewise.
61923         * doc/posix-functions/vprintf.texi: Likewise.
61924         * doc/posix-functions/vsnprintf.texi: Likewise.
61925         * doc/posix-functions/vsprintf.texi: Likewise.
61926         * doc/posix-functions/dprintf.texi: Undo last commit.
61927         * doc/posix-functions/vdprintf.texi: Likewise.
61929 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61931         tests: port test-fdutimensat.c to Solaris 8
61932         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
61933         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
61934         On Solaris 8, it fails with errno == ENOSYS, because there is no
61935         futimens (so it can't use the fd), and there is no lutimens (so it
61936         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
61938         vsnprintf: make more consistent with snprintf; doc fixes
61940         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
61941         the byte count return problem was promoted from the snprintf-posix
61942         to the snprintf module.
61943         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
61944         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
61945         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
61946         * tests/test-snprintf.c (main): Check the byte count returned.
61947         * tests/test-vsnprintf.c (main): Likewise.
61949 2010-12-23  Eric Blake  <eblake@redhat.com>
61951         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
61952         * modules/sigpipe (License): Relax license.
61954 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61956         doc: document Solaris printf bug with large float precisions
61957         * doc/posix-functions/dprintf.texi (dprintf):
61958         * doc/posix-functions/fprintf.texi (fprintf):
61959         * doc/posix-functions/printf.texi (printf):
61960         * doc/posix-functions/snprintf.texi (snprintf):
61961         * doc/posix-functions/sprintf.texi (sprintf):
61962         * doc/posix-functions/vdprintf.texi (vdprintf):
61963         * doc/posix-functions/vfprintf.texi (vfprintf):
61964         * doc/posix-functions/vprintf.texi (vprintf):
61965         * doc/posix-functions/vsnprintf.texi (vsnprintf):
61966         * doc/posix-functions/vsprintf.texi (vsprintf):
61967         Mention that these functions mishandle large floating point
61968         precisions on Solaris 10.  The same bug is also present in Solaris
61969         8, and I assume earlier.  This causes "cd gnulib-tests; make
61970         check" to fail on Solaris 8 (and I assume, later) when building
61971         the latest coreutils, in test-vasprintf-posix's call to
61972         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
61973         the wide flavors (e.g., wprintf) so this patch just updates the
61974         documentation for the narrow ones.
61976         test-posixtm.c: add two tests
61977         * tests/test-posixtm.c: Add two tests, to highlight the
61978         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
61979         around this bug; this is merely to document it.
61981 2010-12-22  Bruno Haible  <bruno@clisp.org>
61983         getlogin_r: Work around portability problem on OSF/1.
61984         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
61985         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
61986         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
61987         test for a truncated result.
61988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
61989         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
61990         * modules/getlogin_r (Depends-on): Add memchr.
61991         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
61993 2010-12-22  Bruno Haible  <bruno@clisp.org>
61995         ptsname: Avoid test failure on OSF/1 5.1.
61996         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
61997         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
61998         (same_slave): New function.
61999         (main): Use it to compare ptsname's result with the expected file name.
62001 2010-12-22  Bruno Haible  <bruno@clisp.org>
62003         Port extended stdio modules to HP NonStop Kernel.
62004         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
62005         macros.
62006         * lib/fbufmode.c: Update comments.
62007         * lib/fflush.c: Likewise.
62008         * lib/fpurge.c: Likewise.
62009         * lib/freadable.c: Likewise.
62010         * lib/freadahead.c: Likewise.
62011         * lib/freading.c: Likewise.
62012         * lib/freadptr.c: Likewise.
62013         * lib/freadseek.c: Likewise.
62014         * lib/fseeko.c: Likewise.
62015         * lib/fseterr.c: Likewise.
62016         * lib/fwritable.c: Likewise.
62017         * lib/fwriting.c: Likewise.
62018         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62020 2010-12-22  Bruno Haible  <bruno@clisp.org>
62022         ttyname_r: Work around bug on OSF/1 5.1.
62023         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
62024         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
62025         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
62026         present.
62027         * lib/ttyname_r.c (ttyname_r): Update comments.
62029 2010-12-22  Bruno Haible  <bruno@clisp.org>
62031         round: Implement result sign according to IEEE 754.
62032         * lib/round.c (MIN, MINUS_ZERO): New macros.
62033         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
62034         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
62035         * tests/test-round-ieee.c (main): Likewise.
62036         * tests/test-roundl-ieee.c (main): Likewise.
62038         trunc: Implement result sign according to IEEE 754.
62039         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
62040         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
62041         * tests/test-trunc2.c: Include minus-zero.h.
62042         (MINUS_ZERO): New macro.
62043         (trunc_reference): Keep in sync with lib/trunc.c.
62044         * tests/test-truncf2.c: Include minus-zero.h.
62045         (MINUS_ZERO): New macro.
62046         (truncf_reference): Keep in sync with lib/trunc.c.
62047         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
62048         * tests/test-trunc-ieee.c (main): Likewise.
62049         * tests/test-truncl-ieee.c (main): Likewise.
62051         ceil: Implement result sign according to IEEE 754.
62052         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
62053         (FUNC): Return -0.0 for -1 < x < 0.
62054         * tests/test-ceil2.c: Include minus-zero.h.
62055         (MINUS_ZERO): New macro.
62056         (ceil_reference): Keep in sync with lib/ceil.c.
62057         * tests/test-ceilf2.c: Include minus-zero.h.
62058         (MINUS_ZERO): New macro.
62059         (ceilf_reference): Keep in sync with lib/ceil.c.
62060         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
62061         * tests/test-ceil-ieee.c (main): Likewise.
62062         * tests/test-ceill-ieee.c (main): Likewise.
62064         floor: Implement result sign according to IEEE 754.
62065         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
62066         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
62067         * tests/test-floorf2.c (floorf_reference): Likewise.
62068         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
62069         * tests/test-floor-ieee.c (main): Likewise.
62070         * tests/test-floorl-ieee.c (main): Likewise.
62072 2010-12-22  Bruno Haible  <bruno@clisp.org>
62074         getaddrinfo: Update doc.
62075         * doc/posix-functions/gai_strerror.texi: Return type is also different
62076         on AIX and HP-UX.
62078 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62080         getaddrinfo, inet_ntop: Update doc for Solaris.
62081         * doc/posix-functions/gai_strerror.texi: Return type is also an
62082         issue on Solaris 9 and earlier.
62083         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
62084         on Solaris 10 and earlier.
62086 2010-12-21  Bruno Haible  <bruno@clisp.org>
62088         New module 'roundl-ieee'.
62089         * modules/roundl-ieee: New file.
62090         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
62091         test whether roundl works according to ISO C 99 with IEC 60559.
62092         * m4/roundl-ieee.m4: New file.
62093         * modules/roundl-ieee-tests: New file.
62094         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
62095         * tests/test-roundl.c (main): Remove signbit tests.
62096         * modules/roundl-tests (Depends-on): Remove signbit.
62097         * doc/posix-functions/roundl.texi: Mention the new module.
62099 2010-12-21  Bruno Haible  <bruno@clisp.org>
62101         New module 'truncl-ieee'.
62102         * modules/truncl-ieee: New file.
62103         * modules/truncl-ieee-tests: New file.
62104         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
62105         * tests/test-truncl.c (main): Remove signbit tests.
62106         * modules/truncl-tests (Depends-on): Remove signbit.
62107         * doc/posix-functions/truncl.texi: Mention the new module.
62109 2010-12-21  Bruno Haible  <bruno@clisp.org>
62111         New module 'ceill-ieee'.
62112         * modules/ceill-ieee: New file.
62113         * modules/ceill-ieee-tests: New file.
62114         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
62115         * tests/test-ceill.c (main): Remove signbit tests.
62116         * modules/ceill-tests (Depends-on): Remove signbit.
62117         * doc/posix-functions/ceill.texi: Mention the new module.
62119 2010-12-21  Bruno Haible  <bruno@clisp.org>
62121         New module 'floorl-ieee'.
62122         * modules/floorl-ieee: New file.
62123         * modules/floorl-ieee-tests: New file.
62124         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
62125         * tests/test-floorl.c (main): Remove signbit tests.
62126         * modules/floorl-tests (Depends-on): Remove signbit.
62127         * doc/posix-functions/floorl.texi: Mention the new module.
62129 2010-12-21  Bruno Haible  <bruno@clisp.org>
62131         New module 'round-ieee'.
62132         * modules/round-ieee: New file.
62133         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
62134         whether round works according to ISO C 99 with IEC 60559.
62135         * m4/round-ieee.m4: New file.
62136         * modules/round-ieee-tests: New file.
62137         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
62138         * tests/test-round1.c (main): Remove signbit tests.
62139         * modules/round-tests (Depends-on): Remove 'signbit'.
62140         * doc/posix-functions/round.texi: Mention the new module.
62142 2010-12-21  Bruno Haible  <bruno@clisp.org>
62144         New module 'trunc-ieee'.
62145         * modules/trunc-ieee: New file.
62146         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
62147         whether trunc works according to ISO C 99 with IEC 60559.
62148         * m4/trunc-ieee.m4: New file.
62149         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
62150         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
62151         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
62152         * modules/trunc-ieee-tests: New file.
62153         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
62154         * tests/test-trunc1.c (main): Remove signbit tests.
62155         * modules/trunc-tests (Depends-on): Remove 'signbit'.
62156         * doc/posix-functions/trunc.texi: Mention the new module.
62158 2010-12-21  Bruno Haible  <bruno@clisp.org>
62160         New module 'ceil-ieee'.
62161         * modules/ceil-ieee: New file.
62162         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
62163         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
62164         ISO C 99 with IEC 60559.
62165         * m4/ceil-ieee.m4: New file.
62166         * modules/ceil (Files): Add lib/ceil.c.
62167         (Depends-on): Add 'float'.
62168         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62169         * lib/math.in.h (ceil): New declaration.
62170         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
62171         REPLACE_CEIL.
62172         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
62173         * modules/ceil-ieee-tests: New file.
62174         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
62175         * tests/test-math-c++.cc: Check the signature of 'ceil'.
62176         * doc/posix-functions/ceil.texi: Mention the new module.
62178 2010-12-21  Bruno Haible  <bruno@clisp.org>
62180         New module 'floor-ieee'.
62181         * modules/floor-ieee: New file.
62182         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
62183         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
62184         ISO C 99 with IEC 60559.
62185         * m4/floor-ieee.m4: New file.
62186         * modules/floor (Files): Add lib/floor.c.
62187         (Depends-on): Add 'float'.
62188         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62189         * lib/math.in.h (floor): New declaration.
62190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
62191         REPLACE_FLOOR.
62192         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
62193         * modules/floor-ieee-tests: New file.
62194         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
62195         * tests/test-math-c++.cc: Check the signature of 'floor'.
62196         * doc/posix-functions/floor.texi: Mention the new module.
62198 2010-12-21  Bruno Haible  <bruno@clisp.org>
62200         New module 'roundf-ieee'.
62201         * modules/roundf-ieee: New file.
62202         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
62203         test whether roundf works according to ISO C 99 with IEC 60559.
62204         * m4/roundf-ieee.m4: New file.
62205         * modules/roundf-ieee-tests: New file.
62206         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
62207         * tests/test-roundf1.c (main): Remove signbit tests.
62208         * modules/roundf-tests (Depends-on): Remove 'signbit'.
62209         * doc/posix-functions/roundf.texi: Mention the new module.
62211 2010-12-21  Bruno Haible  <bruno@clisp.org>
62213         New module 'truncf-ieee'.
62214         * modules/truncf-ieee: New file.
62215         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
62216         test whether truncf works according to ISO C 99 with IEC 60559.
62217         * m4/truncf-ieee.m4: New file.
62218         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
62219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
62220         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
62221         * modules/truncf-ieee-tests: New file.
62222         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
62223         * tests/test-truncf1.c (main): Remove signbit tests.
62224         * modules/truncf-tests (Depends-on): Remove 'signbit'.
62225         * doc/posix-functions/truncf.texi: Mention the new module.
62227 2010-12-21  Bruno Haible  <bruno@clisp.org>
62229         New module 'ceilf-ieee'.
62230         * modules/ceilf-ieee: New file.
62231         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
62232         test whether ceilf works according to ISO C 99 with IEC 60559.
62233         * m4/ceilf-ieee.m4: New file.
62234         * modules/ceilf-ieee-tests: New file.
62235         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
62236         * tests/test-ceilf1.c (main): Remove signbit tests.
62237         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
62238         * doc/posix-functions/ceilf.texi: Mention the new module.
62240 2010-12-21  Bruno Haible  <bruno@clisp.org>
62242         New module 'floorf-ieee'.
62243         * modules/floorf-ieee: New file.
62244         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
62245         test whether floorf works according to ISO C 99 with IEC 60559.
62246         * m4/floorf-ieee.m4: New file.
62247         * modules/floorf-ieee-tests: New file.
62248         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
62249         * tests/test-floorf1.c (main): Remove signbit tests.
62250         * modules/floorf-tests (Depends-on): Remove 'signbit'.
62251         * doc/posix-functions/floorf.texi: Mention the new module.
62253 2010-12-21  Bruno Haible  <bruno@clisp.org>
62255         Support for minus zero in autoconf macros.
62256         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
62257         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
62258         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
62259         * tests/minus-zero.h: Update comments.
62261 2010-12-21  Bruno Haible  <bruno@clisp.org>
62263         Tests for module 'ceil'.
62264         * modules/ceil-tests: New file.
62265         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
62266         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
62268 2010-12-21  Bruno Haible  <bruno@clisp.org>
62270         Tests for module 'floor'.
62271         * modules/floor-tests: New file.
62272         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
62273         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
62275 2010-12-21  Bruno Haible  <bruno@clisp.org>
62277         math: Fix indentation.
62278         * lib/math.in.h (floorf): Fix indentation.
62280 2010-12-21  Bruno Haible  <bruno@clisp.org>
62282         Fix cross-compilation guesses on Solaris.
62283         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
62284         not match "solaris2.10".
62285         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62286         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
62287         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
62289 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62291         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
62292         This fixes a problem observed with the latest coreutils snapshot
62293         that caused a test to fail on Solaris 8.  src/csplit.c's call
62294         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
62295         earlier, instead of returning the number of bytes that would have
62296         been generated; this causes csplit to incorrectly report memory
62297         exhaustion.
62298         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
62299         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
62300         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
62301         comments to match.
62302         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
62303         Fix typo in matching older versions of Solaris: "solaris2.10"
62304         is matched by the shell pattern "solaris2.[0-9]*".  This matters
62305         only for guessing while cross-compiling.
62306         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
62308 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
62310         ftoastr: fix comment again
62311         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62312         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
62313         Also, simplify example a bit by using flags = 0.
62315 2010-12-20  Bruno Haible  <bruno@clisp.org>
62317         round*, trunc*: Update documentation regarding glibc.
62318         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
62319         * doc/posix-functions/round.texi: Likewise.
62320         * doc/posix-functions/roundl.texi: Likewise.
62321         * doc/posix-functions/truncf.texi: Likewise.
62322         * doc/posix-functions/trunc.texi: Likewise.
62323         * doc/posix-functions/truncl.texi: Likewise.
62325 2010-12-20  Bruno Haible  <bruno@clisp.org>
62327         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
62328         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
62329         * doc/posix-functions/round.texi: Likewise.
62330         * doc/posix-functions/roundl.texi: Likewise.
62332 2010-12-20  Bruno Haible  <bruno@clisp.org>
62334         ttyname_r: Add missing declaration on HP-UX 11.
62335         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
62336         HAVE_TTYNAME_R.
62337         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
62338         declared. Set HAVE_TTYNAME_R always.
62339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62340         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
62341         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
62342         HAVE_TTYNAME_R.
62343         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
62345 2010-12-20  Bruno Haible  <bruno@clisp.org>
62347         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
62348         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
62349         * doc/posix-functions/getlogin_r.texi: Likewise.
62350         * tests/test-getlogin.c: Include <errno.h>.
62351         (main): Avoid test failure on HP-UX 11.11.
62352         * tests/test-getlogin_r.c (main): Likewise.
62354 2010-12-20  Bruno Haible  <bruno@clisp.org>
62356         getlogin_r: Add missing declaration on HP-UX 11.
62357         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
62358         declared also when it exists as a function.
62359         * doc/posix-functions/getlogin_r.texi: Document this workaround.
62361 2010-12-20  Bruno Haible  <bruno@clisp.org>
62363         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
62364         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
62365         through wcrtomb.
62367 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62369         ftoastr: fix comment
62370         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62371         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
62373 2010-12-19  Bruno Haible  <bruno@clisp.org>
62375         isnan: Ensure it is a macro.
62376         * lib/math.in.h (isnan): Define as a macro if not already a macro.
62377         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
62378         Solaris.
62380 2010-12-19  Bruno Haible  <bruno@clisp.org>
62382         ldexpl test: Fix link error on OSF/1 5.1.
62383         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
62385 2010-12-19  Bruno Haible  <bruno@clisp.org>
62387         wctype: Make it work in C++ mode on OSF/1 5.1.
62388         * lib/wctype.in.h (iswblank): Declare but not define here.
62389         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
62390         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
62391         * modules/wctype (Files): Add lib/iswblank.c.
62393 2010-12-19  Bruno Haible  <bruno@clisp.org>
62395         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
62396         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
62397         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
62399 2010-12-19  Bruno Haible  <bruno@clisp.org>
62401         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
62402         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
62403         _POSIX_PII_SOCKET.
62404         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
62405         * doc/posix-functions/recvfrom.texi: Likewise.
62406         * doc/posix-functions/send.texi: Likewise.
62407         * doc/posix-functions/sendto.texi: Likewise.
62409 2010-12-19  Bruno Haible  <bruno@clisp.org>
62411         tcgetsid: Add missing declaration on OSF/1 5.1.
62412         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
62413         HAVE_TCGETSID.
62414         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
62415         Don't set HAVE_TCGETSID.
62416         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
62417         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
62418         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
62419         HAVE_TCGETSID.
62420         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
62422 2010-12-19  Bruno Haible  <bruno@clisp.org>
62424         stdio: Fix problem with popen() declaration on OSF/1 5.1.
62425         * lib/stdio.in.h: During the include_next statement, let recursive
62426         includes of this file include only the system header file.
62428 2010-12-19  Bruno Haible  <bruno@clisp.org>
62430         iconv_open: Fix regression from 2010-12-04.
62431         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
62432         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
62434 2010-12-19  Bruno Haible  <bruno@clisp.org>
62436         stdbool test: Avoid a gcc warning.
62437         * tests/test-stdbool.c (main): Fail if e1 is false.
62438         Reported by Jim Meyering.
62440 2010-12-19  Jim Meyering  <meyering@redhat.com>
62442         setenv: restore to working order
62443         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
62444         mistakenly removed.
62445         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
62446         HAVE_SETENV.
62447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
62448         HAVE_SETENV.
62450 2010-12-19  Bruno Haible  <bruno@clisp.org>
62452         Document some different function declarations on OSF/1 5.1.
62453         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
62454         * doc/posix-functions/inet_ntop.texi: Likewise.
62455         * doc/posix-functions/gethostname.texi: Likewise.
62456         * lib/unistd.in.h (gethostname): Update comment.
62458 2010-12-19  Bruno Haible  <bruno@clisp.org>
62460         doc: Mention vasprintf-posix module.
62461         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
62462         the 'vasprintf-posix' module.
62463         * doc/glibc-functions/vasprintf.texi: Likewise.
62465 2010-12-19  Bruno Haible  <bruno@clisp.org>
62467         unsetenv: Add missing declaration on OSF/1 5.1.
62468         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
62469         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
62470         Don't set HAVE_UNSETENV. In the test program, set _BSD.
62471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
62472         not HAVE_UNSETENV.
62473         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
62474         HAVE_UNSETENV.
62475         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
62477 2010-12-19  Bruno Haible  <bruno@clisp.org>
62479         setenv: Add missing declaration on OSF/1 5.1.
62480         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
62481         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
62482         declared. Don't set HAVE_SETENV.
62483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
62484         not HAVE_SETENV.
62485         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
62486         HAVE_SETENV.
62487         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
62489 2010-12-19  Bruno Haible  <bruno@clisp.org>
62491         nl_langinfo tests: Avoid gcc warning.
62492         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
62494 2010-12-19  Bruno Haible  <bruno@clisp.org>
62496         mknod: Avoid error in C++ mode on OSF/1 with GCC.
62497         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
62498         _GL_CXXALIAS_SYS.
62500 2010-12-19  Bruno Haible  <bruno@clisp.org>
62502         stdbool: Relax test.
62503         * tests/test-stdbool.c (e): Don't require that casts from a variable's
62504         address to 'bool' work in static initializer, for compilers other than
62505         GCC.
62507 2010-12-19  Bruno Haible  <bruno@clisp.org>
62509         ftello: Add missing declaration on OSF/1 5.1.
62510         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
62511         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
62512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
62513         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
62514         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
62516 2010-12-19  Bruno Haible  <bruno@clisp.org>
62518         fseeko: Add missing declaration on OSF/1 5.1.
62519         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
62520         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
62521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
62522         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
62523         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
62525 2010-12-19  Bruno Haible  <bruno@clisp.org>
62527         fchdir: Add missing declaration on OSF/1 5.1.
62528         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
62529         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
62530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
62531         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
62532         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
62534 2010-12-19  Bruno Haible  <bruno@clisp.org>
62536         relocatable-prog-wrapper: Separate from relocatable-prog.
62537         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
62538         uninstall-relocwrapper rule here.
62539         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
62540         Reported by Ian Beckwith <ianb@erislabs.net>.
62542 2010-12-19  Bruno Haible  <bruno@clisp.org>
62544         unistr/u8-mbsnlen: Add missing dependency.
62545         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
62546         Reported by Ian Beckwith <ianb@erislabs.net>.
62548 2010-12-19  Bruno Haible  <bruno@clisp.org>
62550         iconv: Make it possible again to use this module without 'iconv-h'.
62551         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
62552         if it is not defined.
62553         Reported by Ian Beckwith <ianb@erislabs.net>.
62555 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62557         acl: port to Solaris 8 when copying from tmpfs to ufs
62558         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
62559         error number.  Problem observed on Solaris 8 with latest
62560         coreutils, with "mv A B", where A is on a tmpfs file system and B
62561         is on a ufs file system.  This caused coreutils' mv/part-symlink
62562         test to fail.
62564         tests: set fail=0 at start
62565         * tests/init.sh (setup_): Move fail=0 initialization here ...
62566         (mktempd_): ... from here, so that tests can rely on fail being
62567         set to 0 initially.  This fixes a problem in coreutils; see:
62568         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
62570 2010-12-18  Bruno Haible  <bruno@clisp.org>
62572         memmem-simple: Stylistic changes.
62573         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
62574         Fix preprocessor directive indentation.
62576 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62578         memmem, memmem-simple: reorganize and expand empty needle check
62579         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
62580         functional checks to memmem-simple so that one has a fully functional
62581         memmem by using just this module.
62582         Restrict the performance only check to the memmem module.
62583         Also expand the empty needle check to ensure the correct
62584         pointer is returned, not just a non NULL pointer.
62585         * doc/glibc-functions/memmem.texi: Rearrange the portability
62586         documentation to correlate with the rearranged checks.
62587         Clarify exactly how the memmem and memmem-simple modules
62588         relate to each other.
62590 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62591             Bruno Haible  <bruno@clisp.org>
62593         Improve cross-compilation guesses for uClibc.
62594         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
62595         that uClibc does not have the glibc bug.
62596         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
62597         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
62599 2010-12-14  Eric Blake  <eblake@redhat.com>
62601         configmake: provide fallbacks for oldest supported autotools
62602         * m4/configmake.m4: New file.
62603         * modules/configmake (Files): Ship it.
62604         (configure.ac): Use it to guarantee fallbacks.
62606 2010-12-13  Pádraig Brady  <P@draigBrady.com>
62608         read-file: Improve handling of large files
62609         * lib/read-file.c (fread_file): Minimize realloc()s
62610         for regular files, and better manage sizes around SIZE_MAX.
62612 2010-12-13  Eric Blake  <eblake@redhat.com>
62614         cloexec, fcntl: relax license
62615         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
62616         consent from all contributors.
62617         * modules/fcntl (License): Likewise.
62619 2010-12-10  Bruno Haible  <bruno@clisp.org>
62621         Tests for module 'pipe-posix'.
62622         * modules/pipe-posix-tests: New file.
62623         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
62625 2010-12-10  Bruno Haible  <bruno@clisp.org>
62627         pipe-posix: Make it work in C++ mode.
62628         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
62629         (pipe): Use common idiom, not a macro definition.
62630         * lib/pipe.c: New file.
62631         * m4/pipe.m4: New file.
62632         * modules/pipe-posix (Description): Enhance.
62633         (Files): Add lib/pipe.c, m4/pipe.m4.
62634         (configure.ac): Invoke gl_FUNC_PIPE.
62635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
62636         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
62637         * tests/test-unistd-c++.cc: Check the signature of pipe.
62639 2010-12-10  Bruno Haible  <bruno@clisp.org>
62641         Rename module 'pipe' to 'spawn-pipe'.
62642         * modules/spawn-pipe: New file, renamed from modules/pipe.
62643         (Files, configure.ac, Makefile.am): Update.
62644         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
62645         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
62646         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
62647         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
62648         "spawn-pipe.h" instead of "pipe.h".
62649         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
62650         to gl_SPAWN_PIPE.
62651         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
62652         (Files, Makefile.am): Update.
62653         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
62654         Update.
62655         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
62656         Include "spawn-pipe.h" instead of "pipe.h".
62657         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
62658         * lib/javacomp.c: Likewise.
62659         * lib/javaversion.c: Likewise.
62660         * lib/pipe-filter-gi.c: Likewise.
62661         * lib/pipe-filter-ii.c: Likewise.
62662         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
62663         * modules/javacomp (Depends-on): Likewise.
62664         * modules/javaversion (Depends-on): Likewise.
62665         * modules/pipe-filter-gi (Depends-on): Likewise.
62666         * modules/pipe-filter-ii (Depends-on): Likewise.
62667         * MODULES.html.sh (Executing programs): Update.
62668         * NEWS: Mention the change.
62670 2010-12-10  Eric Blake  <eblake@redhat.com>
62672         pipe-posix: new module
62673         * modules/pipe-posix: New file.
62674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
62675         (gl_UNISTD_H): Check for declaration.
62676         * modules/unistd (Makefile.am): Substitute it.
62677         * lib/unistd.in.h (pipe): Provide it for mingw.
62678         * doc/posix-functions/pipe.texi (pipe): Update documentation.
62679         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
62681 2010-12-07  Bruno Haible  <bruno@clisp.org>
62683         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
62684         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
62685         u8_strcmp_gnu.
62686         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
62688 2010-12-06  Bruno Haible  <bruno@clisp.org>
62690         Update internal documentation.
62691         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
62693 2010-12-04  Bruno Haible  <bruno@clisp.org>
62695         Put more information about failed tests into the test return codes.
62696         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
62697         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
62698         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62699         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62700         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
62701         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62702         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62703         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
62704         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
62705         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62706         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
62707         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62708         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
62709         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62710         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
62711         returns a bit mask.
62712         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
62713         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
62714         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
62715         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
62716         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
62717         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
62718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62719         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62720         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
62721         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
62722         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62723         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
62724         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
62725         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
62726         * m4/link.m4 (gl_FUNC_LINK): Likewise.
62727         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62728         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
62729         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
62730         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62731         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
62732         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62733         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
62734         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
62735         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
62736         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62737         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62738         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
62739         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
62740         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
62741         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
62742         gl_PRINTF_PRECISION): Likewise.
62743         * m4/regex.m4 (gl_REGEX): Likewise.
62744         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
62745         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
62746         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
62747         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62748         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62749         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
62750         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
62751         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
62752         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
62753         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62754         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62755         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62756         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
62757         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62758         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62759         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62760         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
62761         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62762         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62763         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
62764         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
62765         enumerated value.
62766         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
62768 2010-12-04  Bruno Haible  <bruno@clisp.org>
62770         Update for Solaris 11 2010-11.
62771         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
62772         Express, released in November 2010.
62774 2010-12-04  Bruno Haible  <bruno@clisp.org>
62776         nproc: Relax license.
62777         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
62778         and Paul Eggert.
62779         Requested by Ludovic Courtès <ludo@gnu.org>.
62781 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62783         utimecmp: fine-grained src to nearby coarse-grained dest
62785         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
62786         and the source is on a file system with higher-resolution time
62787         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
62788         not work, and the time stamps are close together, the algorithm to
62789         determine the exact resolution from the read-back mtime was buggy:
62790         it had a "!=" where it should have had an "==".  This bug has been
62791         in the code ever since it was introduced to gnulib.
62792         Problem reported by Dan Jacobson in
62793         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
62795 2010-11-30  Bruno Haible  <bruno@clisp.org>
62797         strerror_r-posix: Fix autoconf test.
62798         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
62800 2010-11-28  Bruno Haible  <bruno@clisp.org>
62801             Paul Eggert  <eggert@cs.ucla.edu>
62803         Tests for module 'getdomainname'.
62804         * modules/getdomainname-tests: New file.
62805         * tests/test-getdomainname.c: New file, based on
62806         tests/test-gethostname.c.
62808 2010-11-28  Bruno Haible  <bruno@clisp.org>
62809             Paul Eggert  <eggert@cs.ucla.edu>
62811         getdomainname: Use the system function when possible.
62812         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
62813         (getdomainname): Replace if needed. Provide the declaration if it is
62814         missing. Don't use _GL_CXXALIAS_SYS_CAST.
62815         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
62816         (getdomainname): When the system has getdomainname, call the system
62817         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
62818         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
62819         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
62820         found in libnsl. Look for the declaration also in <netdb.h>. Replace
62821         the function if its second argument is of type 'int' or if it is found
62822         in libnsl.
62823         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
62824         <sys/systeminfo.h> and sysinfo().
62825         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
62826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62827         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
62828         HAVE_GETDOMAINNAME.
62829         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
62830         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
62831         * doc/glibc-functions/getdomainname.texi: Document the problems with
62832         the getdomainname declaration.
62834 2010-11-28  Bruno Haible  <bruno@clisp.org>
62836         sys_socket: Ensure ss_family field on AIX.
62837         * lib/sys_socket.in.h (ss_family): New macro definition.
62838         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
62839         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
62840         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
62841         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62842         * modules/sys_socket (Makefile.am): Substitute
62843         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62844         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
62846 2010-11-27  Bruno Haible  <bruno@clisp.org>
62848         readline: Improve configure output.
62849         * m4/readline.m4 (gl_FUNC_READLINE): Make the
62850         "checking for readline..." result understandable.
62852 2010-11-27  Bruno Haible  <bruno@clisp.org>
62854         *printf-posix: Detect a bug on Solaris 10/x86.
62855         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
62856         for floating-point output.
62857         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
62858         directive.
62859         * tests/test-snprintf-posix.h (test_function): Likewise.
62860         * tests/test-sprintf-posix.h (test_function): Likewise.
62861         * tests/test-vasprintf-posix.c (test_function): Likewise.
62862         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
62863         * doc/posix-functions/printf.texi: Likewise.
62864         * doc/posix-functions/snprintf.texi: Likewise.
62865         * doc/posix-functions/sprintf.texi: Likewise.
62866         * doc/posix-functions/vfprintf.texi: Likewise.
62867         * doc/posix-functions/vprintf.texi: Likewise.
62868         * doc/posix-functions/vsnprintf.texi: Likewise.
62869         * doc/posix-functions/vsprintf.texi: Likewise.
62870         * doc/glibc-functions/obstack_printf.texi: Likewise.
62871         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
62873 2010-11-27  Bruno Haible  <bruno@clisp.org>
62875         Fix link error when module libunistring-optional is in use.
62876         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
62877         * modules/striconveha-tests (Makefile.am): Likewise.
62879 2010-11-27  Bruno Haible  <bruno@clisp.org>
62881         regex: Mention link dependencies.
62882         * modules/regex (Link): New section.
62883         * modules/rpmatch (Link): Likewise.
62884         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
62886 2010-11-27  Bruno Haible  <bruno@clisp.org>
62888         ftoastr: Fix compilation error on Solaris.
62889         * lib/ftoastr.c: Include <config.h>.
62891 2010-11-27  Bruno Haible  <bruno@clisp.org>
62893         getloadavg: Update documentation.
62894         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
62896 2010-11-27  Bruno Haible  <bruno@clisp.org>
62898         sys_socket: Fix test whether the functions are declared.
62899         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
62900         not <sys/select.h>.
62902 2010-11-27  Bruno Haible  <bruno@clisp.org>
62904         getpass: Make sure to get system declaration on some platforms.
62905         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
62906         gl_USE_SYSTEM_EXTENSIONS.
62907         * modules/getpass (Depends-on): Add extensions.
62909 2010-11-26  Bruno Haible  <bruno@clisp.org>
62911         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
62912         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
62913         'iconv' module is present.
62914         (ICONV_CONST): New macro.
62915         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
62916         ICONV_CONST.
62917         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
62918         set ICONV_CONST.
62919         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
62920         here.
62921         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
62922         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
62923         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
62924         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
62925         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
62926         present.
62928 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62930         ftoastr: comment fix
62931         * lib/ftoastr.c: "little" -> "little or no" in comment
62933 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
62935         stdint: port to GCC 4.3 + OSX + Octave
62936         On this platform, stdint.h is buggy and defines int64_t to long
62937         long int.  The replacement defined it to long int, causing
62938         problems with C++ style name mangling.  Instead, trust the system
62939         definition if INT64_MAX is defined, and likewise for the unsigned
62940         variant.   Problem reported by Jarno Rajahalme in
62941         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
62942         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
62943         and don't mess with int64_t and INT64_MAX in this case.
62944         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
62946 2010-11-24  Bruno Haible  <bruno@clisp.org>
62948         doc: Corrections regarding MacOS X 10.4 and 10.5.
62949         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
62950         MacOS X.
62951         Reported by Simon Josefsson.
62953 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
62955         Uninstall ".bin" files installed by relocwrapper.
62956         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
62957         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
62958         unless it is already there.
62960 2010-11-21  Bruno Haible  <bruno@clisp.org>
62962         Update for NetBSD 5.0.
62963         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62964         NetBSD; the test fails on NetBSD 5.0.
62965         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62966         about NetBSD.
62968 2010-11-21  Bruno Haible  <bruno@clisp.org>
62970         Update for HP-UX 11.23 and HP-UX 11.31.
62971         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
62972         HP-UX.
62974 2010-11-21  Bruno Haible  <bruno@clisp.org>
62976         Update for MacOS X 10.5.
62977         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62978         MacOS X; the test fails on MacOS X 10.5.8.
62979         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62980         about MacOS X.
62982 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
62984         bootstrap: add bootstrap_sync option.
62985         See discussion at
62986         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
62987         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
62988         * build-aux/bootstrap: Accept --bootstrap-sync to update
62989         bootstrap if it is not identical to the local gnulib's
62990         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
62991         enable this by default.  Accept --no-bootstrap-sync to disable
62992         it.
62994 2010-11-20  Bruno Haible  <bruno@clisp.org>
62996         Ensure that <features.h> is included before __GLIBC__ is tested.
62997         * lib/printf-parse.h: Include <features.h>.
62998         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
62999         Reported by Mike Frysinger <vapier@gentoo.org>.
63001         Ensure that <features.h> is included before __GLIBC__ is tested.
63002         * lib/wchar.in.h: Include <features.h>.
63003         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
63004         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
63005         Reported by Mike Frysinger <vapier@gentoo.org>.
63007         Ensure that <features.h> is included before __GLIBC__ is tested.
63008         * lib/arpa_inet.in.h: Include <features.h>.
63009         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
63010         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
63011         Reported by Mike Frysinger <vapier@gentoo.org>.
63013         Ensure that <features.h> is included before __GLIBC__ is tested.
63014         * build-aux/link-warning.h: Include <features.h>.
63015         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
63016         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
63017         Reported by Mike Frysinger <vapier@gentoo.org>.
63019         Ensure that <features.h> is included before __GLIBC__ is tested.
63020         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
63021         Reported by Mike Frysinger <vapier@gentoo.org>.
63023 2010-11-20  Bruno Haible  <bruno@clisp.org>
63025         memmem: Fix autoconf test.
63026         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
63028 2010-11-20  Bruno Haible  <bruno@clisp.org>
63030         Port to uClibc.
63031         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
63032         * lib/fcntl.in.h: Likewise.
63033         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
63034         * lib/mbrtowc.c (mbrtowc): Likewise.
63035         * lib/relocatable.c (find_shared_library_fullname): Likewise.
63036         * lib/strerror_r.c: Likewise.
63037         * lib/unistr/u8-strnlen.c: Likewise.
63038         * lib/vasnprintf.c (decimal_point_char): Likewise.
63039         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
63040         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
63041         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63042         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
63043         * tests/test-sigaction.c (handler, main): Likewise.
63044         * lib/freading.h: Treat uClibc like a non-glibc platform.
63045         * lib/freading.c: Likewise.
63046         * lib/gettext.h: Likewise.
63047         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
63048         Likewise.
63049         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
63050         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63051         * lib/propername.c (proper_name_utf8): Likewise.
63052         * lib/spawn.in.h: Likewise.
63053         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
63054         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
63055         mem_cd_iconveh_internal): Likewise.
63056         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
63057         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
63058         strstr, strcasestr): Likewise.
63059         * lib/unicodeio.c (unicode_to_mb): Likewise.
63060         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
63061         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
63062         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
63063         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
63064         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
63065         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
63066         * lib/unistr/u8-stpncpy.c: Likewise.
63067         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63068         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
63069         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63070         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63071         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
63072         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
63073         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
63074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
63075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
63076         Likewise.
63077         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63078         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63079         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63080         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63081         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63082         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63083         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63084         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
63085         * tests/test-getopt.h (OPTIND_MIN): Likewise.
63086         * tests/test-striconveha.c (main): Likewise.
63087         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63088         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
63089         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
63090         * doc/posix-functions/getline.texi: Likewise.
63091         Reported by Mike Frysinger <vapier@gentoo.org>.
63093 2010-11-20  Bruno Haible  <bruno@clisp.org>
63095         nproc: Fix condition.
63096         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
63097         HAVE_PTHREAD_AFFINITY_NP.
63099 2010-11-20  Bruno Haible  <bruno@clisp.org>
63101         Fix a comment.
63102         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
63104 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
63106         ftoastr: don't assume snprintf
63107         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
63108         Implement a subset of snprintf here, by using sprintf safely.
63109         * modules/ftoastr (Depends-on): Remove snprintf.
63111 2010-11-19  Jim Meyering  <meyering@redhat.com>
63113         test-rename.h: fix compilation failure
63114         * tests/test-rename.h (test_rename): Add omitted "}".
63116 2010-11-17  Jim Meyering  <meyering@redhat.com>
63118         maint.mk: add a URL discussing the no-@acronym policy
63119         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
63121 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
63123         ftoastr: depend on snprintf, improve comments
63124         * lib/ftoastr.c: Also mention Loitsch's draft.
63125         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
63126         needed in the current implementation, but it might simplify
63127         speeding up the code later.
63128         * modules/ftoastr: Depend on snprintf; this improves portability.
63129         Suggested by Bruno Haible in the same email.
63131         ftoastr: port to hosts lacking strtof and strtold
63132         Problem reported by Bruno Haible in
63133         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
63134         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
63135         environment and strtold (and presumably strtof) are not available.
63136         * modules/ftoastr (Files): Add m4/c-strtod.m4.
63137         (configure.ac): Require gl_C99_STRTOLD.
63139 2010-11-18  Bruno Haible  <bruno@clisp.org>
63141         c-strtold: Avoid link error on AIX 7.
63142         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
63143         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
63144         (gl_C_STRTOLD): Test whether strtold_l exists.
63145         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63147 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63149         intprops: new macro INT_BITS_STRLEN_BOUND
63150         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
63151         ftoastr.h.  This exposes an internal of intprops.h that was formerly
63152         not exposed.  Also, it uses a slightly tighter bound than before;
63153         though this makes no practical difference, we might as well be as
63154         tight as we easily can.
63156         ftoastr: new module, for lossless conversion of floats to short strings
63157         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
63158         * modules/ftoastr: New files.
63160 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63162         bootstrap: port to Solaris sed
63163         * build-aux/bootstrap (get_version): Port to Solaris sed.
63164         See Ralf Wildenhues's note in
63165         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
63167 2010-11-14  Jim Meyering  <meyering@redhat.com>
63169         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
63170         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
63171         and move definition closer to sole use.
63173 2010-11-13  Jim Meyering  <meyering@redhat.com>
63175         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
63176         Now we require at least autoconf-2.59, which means the work-around
63177         is no longer needed.
63178         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
63179         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63180         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63181         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63182         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63184 2010-11-13  Bruno Haible  <bruno@clisp.org>
63186         rename, renameat: Avoid test failures at NFS mounted locations.
63187         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
63188         functions.
63189         (test_rename): Use assert_nonexistent.
63190         * tests/test-rename.c: Include <dirent.h>.
63191         * tests/test-renameat.c: Likewise.
63192         Reported by Gary V. Vaughan <gary@gnu.org>.
63194         rename, renameat: Document Linux bug with NFS
63195         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
63196         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
63197         * doc/posix-functions/renameat.texi: Likewise.
63198         Suggested by Eric Blake.
63200 2010-11-13  Bruno Haible  <bruno@clisp.org>
63202         rename test: Add comments.
63203         * tests/test-rename.h (test_rename): Add structure and comments.
63205 2010-11-13  Eric Blake  <eblake@redhat.com>
63207         maintainer-makefile: cover a few more files
63208         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
63209         scripts generated within C files, for libvirt.
63211 2010-11-13  Bruno Haible  <bruno@clisp.org>
63213         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
63214         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
63215         character, return the number of bytes that belong together, not always
63216         1.
63217         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
63218         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
63219         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
63220         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
63221         number of bytes of an invalid character.
63222         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
63223         (main): Invoke it.
63224         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
63225         results.
63226         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
63227         malformed byte sequences.
63228         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
63229         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
63230         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
63231         Reported by Ben Pfaff and Paolo Bonzini.
63233 2010-11-13  Bruno Haible  <bruno@clisp.org>
63235         openat: Work around glibc bug with fchownat() and empty file names.
63236         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
63237         (gl_FUNC_FCHOWNAT): Invoke it.
63238         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
63239         * doc/posix-functions/fchownat.texi: Document the glibc bug.
63240         Reported by Gary V. Vaughan <gary@gnu.org>.
63242 2010-11-13  Bruno Haible  <bruno@clisp.org>
63244         openat: Ensure autoconf macro ordering.
63245         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
63246         gl_USE_SYSTEM_EXTENSIONS.
63247         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
63249 2010-11-13  Bruno Haible  <bruno@clisp.org>
63251         Update comments.
63252         * lib/unistr/u8-check.c: Update file name in comments.
63253         * lib/unistr/u8-mblen.c: Likewise.
63254         * lib/unistr/u8-prev.c: Likewise.
63255         * lib/unistr/u8-strmblen.c: Likewise.
63256         * lib/unistr/u8-strmbtouc.c: Likewise.
63258 2010-11-13  Jim Meyering  <meyering@redhat.com>
63260         tests: avoid test failure on Solaris 10 due to lack of PATH export
63261         * tests/test-update-copyright.sh: Don't forget to export PATH.
63263         init.sh: ensure that IFS is defined, just in case...
63264         * tests/init.sh (setup_): Ensure that IFS is defined,
63265         so that saving and restoring it works as expected.  This
63266         appears to be useful at least for an old version of dash
63267         from a long time ago (RH 6).  See here for details:
63268         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
63270         maint.mk: tighten "test a == b" check
63271         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
63272         test to files that contain something like #!/bin/sh.
63273         Without this, coreutils would get two false positives in
63274         the comments of C source files.
63276 2010-11-12  Eric Blake  <eblake@redhat.com>
63278         bootstrap: fix typo in previous attempt
63279         * build-aux/bootstrap (buildreq): Correct the grouping.
63280         Reported by Paul Eggert.
63282         maintainer-makefile: prohibit test x == x
63283         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
63284         Based on a report by Matthias Bolte.
63286         bootstrap: allow FreeBSD gzip
63287         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
63288         which has no '.' and goes to stderr.
63289         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
63290         Reported by Matthias Bolte.
63292         maintainer-makefile: check for i18n setup
63293         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
63294         will likely work.
63296 2010-11-12  Bruno Haible  <bruno@clisp.org>
63298         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
63299         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
63300         * lib/nanosleep.c (nanosleep): Likewise.
63302 2010-11-11  Bruno Haible  <bruno@clisp.org>
63304         fcntl-h: Fix for use of C++ on glibc systems.
63305         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63306         also on glibc systems in C++ mode.
63307         Reported by Gary V. Vaughan <gary@gnu.org>.
63309 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63311         mknod: avoid false failure with dash
63312         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
63314 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63316         unlink: Fix "is it should" typo in diagnostic.
63317         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
63318         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
63320 2010-11-11  Bruno Haible  <bruno@clisp.org>
63322         Tests for module 'strerror_r-posix'.
63323         * modules/strerror_r-posix-tests: New file.
63324         * tests/test-strerror_r.c: New file.
63325         * tests/test-string-c++.cc: Check the signature of strerror_r.
63327         New module 'strerror_r-posix'.
63328         * lib/string.in.h (strerror_r): New declaration.
63329         * lib/strerror_r.c: New file.
63330         * m4/strerror_r.m4: New file.
63331         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
63332         of strerror_r.
63333         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
63334         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63335         * modules/strerror_r-posix: New file.
63336         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
63337         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63338         * doc/posix-functions/strerror_r.texi: Mention the new module and the
63339         portability problems.
63341 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
63343         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
63344         line is also considered for output. Quoted function name in shell
63345         command, so temporary files for functions like MyClass::operator()
63346         are removed correctly without errors.
63348 2010-11-09  Bruno Haible  <bruno@clisp.org>
63350         * doc/posix-functions/strerror.texi: List more failing platforms.
63352         * doc/posix-functions/strerror.texi: Add a comment.
63354 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63356         fdopendir: fix bug on MacOS X when low on file descriptors
63358         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
63359         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
63360         All callers changed.
63361         (fdopendir): Invoke save_cwd at the top level, not after using
63362         multiple dup() calls to use up file descriptors.  Then retry
63363         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
63364         less than the maximum number of open file descriptors, because
63365         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
63366         on Mac OS X 10.6.4 for tar 1.24
63367         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
63368         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
63369         and for tar 1.25
63370         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
63372 2010-11-07  Bruno Haible  <bruno@clisp.org>
63374         vasnprintf: Support I flag on glibc systems.
63375         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
63376         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
63377         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
63378         snprintf function.
63379         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
63380         glibc systems.
63381         * tests/test-vasnprintf-posix3.c: New file.
63382         * modules/vasnprintf-posix-tests (Files): Add it.
63383         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
63385 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63387         [html] Fix copy/paste bug: Use unique name for compiler warnings.
63388         * MODULES.html.sh: For compiler warnings, use name
63389         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
63391 2010-11-05  Eric Blake  <eblake@redhat.com>
63393         ceil, floor: avoid spurious failure with icc
63394         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
63395         [denormals-as-zero] when optimizing without -mieee-fp option.
63396         * tests/test-floorf2.c (floorf_reference): Likewise.
63397         * tests/test-ceilf1.c (dummy): New function.
63398         (main): Use it to outsmart icc's optimization.
63399         * tests/test-floorf1.c (dummy, main): Likewise.
63401         tests: require working signbit
63402         * modules/ceilf-tests (Depends-on): Add signbit.
63403         * modules/ceill-tests (Depends-on): Likewise.
63404         * modules/floorf-tests (Depends-on): Likewise.
63405         * modules/floorl-tests (Depends-on): Likewise.
63406         * modules/round-tests (Depends-on): Likewise.
63407         * modules/roundf-tests (Depends-on): Likewise.
63408         * modules/roundl-tests (Depends-on): Likewise.
63409         * modules/trunc-tests (Depends-on): Likewise.
63410         * modules/truncf-tests (Depends-on): Likewise.
63411         * modules/truncl-tests (Depends-on): Likewise.
63413         strtod: work around icc bug
63414         * lib/strtod.c (minus_zero): Define to working value.
63415         (strtod): Use it to avoid icc bug.
63417         copysign: enhance tests
63418         * modules/copysign-tests (Files): Add minus-zero.h.
63419         * tests/test-copysign.c (main): Also test zeros.
63421 2010-11-04  Eric Blake  <eblake@redhat.com>
63423         ceil, floor, round, trunc: enhance tests of -0
63424         * tests/test-ceilf1.c (main): Ensure correct sign of result.
63425         * tests/test-ceill.c (main): Likewise.
63426         * tests/test-floorf1.c (main): Likewise.
63427         * tests/test-floorl.c (main): Likewise.
63428         * tests/test-round1.c (main): Likewise.
63429         * tests/test-roundf1.c (main): Likewise.
63430         * tests/test-roundl.c (main): Likewise.
63431         * tests/test-trunc1.c (main): Likewise.
63432         * tests/test-truncf1.c (main): Likewise.
63433         * tests/test-truncl.c (main): Likewise.
63435 2010-11-04  Eric Blake  <eblake@redhat.com>
63437         frexp, tests: work around ICC bug with -zero
63438         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
63439         works with more compilers.
63440         * tests/minus-zero.h: New file.
63441         * modules/ceilf-tests (Files): Include it.
63442         * modules/ceill-tests (Files): Likewise.
63443         * modules/floorf-tests (Files): Likewise.
63444         * modules/floorl-tests (Files): Likewise.
63445         * modules/frexp-nolibm-tests (Files): Likewise.
63446         * modules/frexp-tests (Files): Likewise.
63447         * modules/frexpl-nolibm-tests (Files): Likewise.
63448         * modules/frexpl-tests (Files): Likewise.
63449         * modules/isnan-tests (Files): Likewise.
63450         * modules/isnand-nolibm-tests (Files): Likewise.
63451         * modules/isnand-tests (Files): Likewise.
63452         * modules/isnanf-nolibm-tests (Files): Likewise.
63453         * modules/isnanf-tests (Files): Likewise.
63454         * modules/isnanl-nolibm-tests (Files): Likewise.
63455         * modules/isnanl-tests (Files): Likewise.
63456         * modules/round-tests (Files): Likewise.
63457         * modules/roundf-tests (Files): Likewise.
63458         * modules/roundl-tests (Files): Likewise.
63459         * modules/ldexpl-tests (Files): Likewise.
63460         * modules/signbit-tests (Files): Likewise.
63461         * modules/snprintf-posix-tests (Files): Likewise.
63462         * modules/sprintf-posix-tests (Files): Likewise.
63463         * modules/strtod-tests (Files): Likewise.
63464         * modules/trunc-tests (Files): Likewise.
63465         * modules/truncf-tests (Files): Likewise.
63466         * modules/truncl-tests (Files): Likewise.
63467         * modules/vsnprintf-posix-tests (Files): Likewise.
63468         * modules/vsprintf-posix-tests (Files): Likewise.
63469         * modules/vasnprintf-posix-tests (Files): Likewise.
63470         * modules/vasprintf-posix-tests (Files): Likewise.
63471         * tests/test-ceilf1.c (main): Use it.
63472         * tests/test-ceill.c (main): Likewise.
63473         * tests/test-floorf1.c (main): Likewise.
63474         * tests/test-floorl.c (main): Likewise.
63475         * tests/test-frexp.c (main): Likewise.
63476         * tests/test-frexpl.c (main): Likewise.
63477         * tests/test-isnan.c (main): Likewise.
63478         * tests/test-isnand.h (main): Likewise.
63479         * tests/test-isnanf.h (main): Likewise.
63480         * tests/test-isnanl.h (main): Likewise.
63481         * tests/test-ldexpl.c (main): Likewise.
63482         * tests/test-round.c (main): Likewise.
63483         * tests/test-roundf.c (main): Likewise.
63484         * tests/test-roundl.c (main): Likewise.
63485         * tests/test-signbit.c (test_signbitf, test_signbitd)
63486         (test_signbitl): Likewise.
63487         * tests/test-snprintf-posix.h (test_function): Likewise.
63488         * tests/test-sprintf-posix.h (test_function): Likewise.
63489         * tests/test-strtod.c (main): Likewise.
63490         * tests/test-trunc1.c (main): Likewise.
63491         * tests/test-truncf1.c (main): Likewise.
63492         * tests/test-truncl.c (main): Likewise.
63494         isnanl: work around icc bug
63495         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
63497 2010-11-03  Eric Blake  <eblake@redhat.com>
63499         tests: fix compiler warnings
63500         * tests/test-getopt.h (test_getopt): Fix condition.
63501         * tests/test-getopt_long.h (test_getopt_long): Likewise.
63502         * tests/test-pipe2.c (main): Likewise.
63503         * tests/test-quotearg-simple.c (main): Avoid icc warning.
63505         utimens: fix broken m4 test
63506         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
63508 2010-10-28  Bruno Haible  <bruno@clisp.org>
63510         posix_spawn*, getdtablesize: Relax license.
63511         * modules/posix_spawn (License): Change to LGPLv2+.
63512         * modules/posix_spawnp (License): Likewise.
63513         * modules/posix_spawn-internal (License): Likewise.
63514         * modules/posix_spawnattr_init (License): Likewise.
63515         * modules/posix_spawnattr_getflags (License): Likewise.
63516         * modules/posix_spawnattr_setflags (License): Likewise.
63517         * modules/posix_spawnattr_getpgroup (License): Likewise.
63518         * modules/posix_spawnattr_setpgroup (License): Likewise.
63519         * modules/posix_spawnattr_getschedparam (License): Likewise.
63520         * modules/posix_spawnattr_setschedparam (License): Likewise.
63521         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
63522         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
63523         * modules/posix_spawnattr_getsigdefault (License): Likewise.
63524         * modules/posix_spawnattr_setsigdefault (License): Likewise.
63525         * modules/posix_spawnattr_getsigmask (License): Likewise.
63526         * modules/posix_spawnattr_setsigmask (License): Likewise.
63527         * modules/posix_spawnattr_destroy (License): Likewise.
63528         * modules/posix_spawn_file_actions_init (License): Likewise.
63529         * modules/posix_spawn_file_actions_addclose (License): Likewise.
63530         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
63531         * modules/posix_spawn_file_actions_addopen (License): Likewise.
63532         * modules/posix_spawn_file_actions_destroy (License): Likewise.
63533         * modules/getdtablesize (License): Likewise.
63534         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
63536 2010-10-26  Bruno Haible  <bruno@clisp.org>
63538         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
63539         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
63540         Cygwin and mingw.
63541         Suggested by Eric Blake.
63543 2010-10-26  Bruno Haible  <bruno@clisp.org>
63545         stdio: Work around compilation error due to renameat() on Solaris 10.
63546         * lib/stdio.in.h: Include <unistd.h> on Solaris.
63547         * lib/renameat.c: Don't include <unistd.h> here.
63548         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
63549         Reported by Paul Eggert and Eric Blake.
63551 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63553         renameat: port to Solaris 10, which declares renameat in unistd.h
63555         * lib/renameat.c: Include unistd.h before stdio.h, because
63556         Solaris 10 declares renameat in unistd.h.  Problem encountered
63557         when building GNU tar 1.24 on Solaris 10.
63559 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63561         fdopendir: fix C89 compilation
63562         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
63563         compilers.
63565 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
63567         inttostr: simplify by removing unnecessary redundancy
63568         * lib/anytostr.c: Don't include verify.h.
63569         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
63570         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
63571         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
63572         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
63573         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
63574         Likewise.
63575         * modules/inttostr (Depends-on): Remove 'verify'.
63577 2010-10-23  Bruno Haible  <bruno@clisp.org>
63579         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
63580         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
63581         Reported by Eric Blake.
63583 2010-10-23  Bruno Haible  <bruno@clisp.org>
63585         Tests: Fix LOCALE_JA on MirBSD 10.
63586         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
63587         to an UTF-8 locale.
63588         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
63589         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63590         Reported by Eric Blake.
63592 2010-10-21  Bruno Haible  <bruno@clisp.org>
63594         nl_langinfo test: Avoid test failure on NetBSD 5.
63595         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
63596         Reported by Eric Blake.
63598 2010-10-21  Eric Blake  <eblake@redhat.com>
63600         c-stack: work around libsigsegv 2.8 bug
63601         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
63602         overflow on at least PowerPC64.
63604 2010-10-17  Bruno Haible  <bruno@clisp.org>
63606         userspec: Drop redundant file.
63607         * modules/userspec (Files): Remove lib/inttostr.h.
63609 2010-10-17  Bruno Haible  <bruno@clisp.org>
63611         nl_langinfo tests: Silence some warnings.
63612         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
63613         Reported by Jim Meyering.
63615 2010-10-17  Bruno Haible  <bruno@clisp.org>
63617         Make use of GCC's attribute __alloc_size__.
63618         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
63619         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
63620         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
63621         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
63622         __alloc_size__.
63623         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
63624         Suggested by Jim Meyering.
63626 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
63628         bootstrap: anchor .gitignore entries.
63629         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
63630         with...
63631         (insert_vc_ignore): ... this new function, which prepends `/' to
63632         all .gitignore entries before passing them to
63633         insert_sorted_if_absent.
63635 2010-10-16  Bruno Haible  <bruno@clisp.org>
63637         nextafter: Fix configure check.
63638         * modules/nextafter (configure.ac): Correct expected prototype.
63640 2010-10-16  Bruno Haible  <bruno@clisp.org>
63642         termios: Update documentation.
63643         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
63645 2010-10-16  Bruno Haible  <bruno@clisp.org>
63647         tests: Make them compile with TinyCC.
63648         * tests/test-strstr.c (main): Remove parentheses around array
63649         initializer.
63651 2010-10-15  Eric Blake  <eblake@redhat.com>
63653         ignore-value: make header idempotent
63654         * lib/ignore-value.h: Add double-inclusion guards.
63655         Reported by Stefan Berger.
63657 2010-10-15  Jim Meyering  <meyering@redhat.com>
63659         GNUmakefile: handle "stable" target, not "major"
63660         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
63661         lists in maint.mk and announce-gen.  Without this, "make stable"
63662         would fail to ensure that $(VERSION) is up to date.
63664 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
63666         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
63667         & co.
63669 2010-10-14  Bruno Haible  <bruno@clisp.org>
63671         vasnprintf: Don't set errno to 0.
63672         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
63673         block that sets it to 0.
63674         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
63676 2010-10-14  Bruno Haible  <bruno@clisp.org>
63678         socketlib: Fix.
63679         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
63680         gl_PREREQ_SYS_H_WINSOCK2.
63681         Reported by Ian Beckwith <ianb@erislabs.net>.
63683 2010-10-13  Jim Meyering  <meyering@redhat.com>
63685         test-select-stdin.c: avoid warn_unused_result warnings
63686         * tests/test-select-stdin.c: Include "macros.h".
63687         ASSERT that read and fflush succeed.
63689 2010-10-13  Jim Meyering  <meyering@redhat.com>
63691         git-version-gen: do require git-VC'd files in cwd
63692         * build-aux/git-version-gen: Reject a git version string
63693         if there are no commits associated with the current directory.
63694         This avoids an unlikely false-positive (unrelated dir whose parent
63695         repository also contains a tag matching v*), as pointed out
63696         by Giuseppe Scrivano in
63697         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
63699 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63701         argv-iter: omit nonconforming declaration
63702         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
63703         enum arg_iter_err declaration, which doesn't conform to C99.
63704         Solaris 10 cc warns about this.
63706 2010-10-13  Eric Blake  <eblake@redhat.com>
63708         termios: fix compilation on mingw
63709         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
63710         (gl_TERMIOS_H): Adjust it on mingw.
63711         * modules/termios (Makefile.am): Substitute new key.
63712         * lib/termios.in.h (includes): Make include_next conditional.
63713         * doc/posix-headers/termios.texi (termios.h): Update
63714         documentation.
63715         Reported by Daniel P. Berrange.
63717 2010-10-13  Jim Meyering  <meyering@redhat.com>
63719         git-version-gen: don't require that .git/ be in the current dir
63720         * build-aux/git-version-gen: Adjust this script so that it works
63721         when run from any working directory beneath the top-level .git/-
63722         containing directory.  Inspired by a patch from Giuseppe Scrivano,
63723         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
63725         test-select: avoid warn_unused_result warnings
63726         * tests/test-select.c: Include "macros.h".
63727         ASSERT that each call to read, write, and pipe succeeds.
63728         While not technically required, also check each "close".
63729         * modules/select-tests (Files): Add tests/macros.h.
63731         test-symlinkat: remove declaration of unused local
63732         * tests/test-symlinkat.c (main): Remove unused local, "buf".
63734         test-inttostr: avoid shadowing warnings
63735         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
63736         and use malloc rather than the stack for the same reason as
63737         mentioned in the comment justifying the other allocation.
63739 2010-10-11  Bruno Haible  <bruno@clisp.org>
63741         stdlib: Allow multiple gnulib generated replacements to coexist.
63742         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
63743         Reported by Sam Steingold <sds@gnu.org>.
63745 2010-10-11  Jim Meyering  <meyering@redhat.com>
63747         fix a documentation typo
63748         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
63750 2010-10-11  Eric Blake  <eblake@redhat.com>
63752         futimens: work around Solaris 11 bug
63753         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
63754         * tests/test-futimens.h (test_futimens): Enhance, rather than
63755         weaken test.
63756         * doc/posix-functions/futimens.texi (futimens): Document the bug.
63758 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63760         Indentation.
63761         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
63762         higher-level operators more to the left.
63764 2010-10-11  Jim Meyering  <meyering@redhat.com>
63766         test-futimens: avoid unwarranted test failure on Solaris 5.11
63767         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
63768         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
63769         because it tries to dereference the NULL name argument.
63771 2010-10-11  Bruno Haible  <bruno@clisp.org>
63773         Indentation.
63774         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
63775         indentation.
63777 2010-10-11  Jim Meyering  <meyering@redhat.com>
63779         spawn.in.h: make indentation consistent with parentheses
63780         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
63781         Make indentation consistent with parentheses.
63783 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
63785         Fix mismatched parens in previous commit
63786         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
63787         parens.
63789 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63791         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
63793         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
63794         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
63795         * lib/malloca.c: Include "verify.h".
63796         (verify1): Remove, replacing with a verify call.
63797         * lib/relocwrapper.c (verify1): Likewise.
63798         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
63799         Likewise.
63800         * modules/malloca (Depends-on): Add 'verify'.
63801         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
63802         * modules/vasnprintf (Depends-on): Add 'verify'.
63803         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63804         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63805         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63806         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63807         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63808         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63809         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63811         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
63813         Formerly the style was sometimes 2*X - 1, because the C standard
63814         was wrongly thought to disallow ?: in integral constant expressions.
63815         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
63816         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
63817         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
63818         * lib/stdint.in.h (_verify_intmax_size): Likewise.
63819         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
63820         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
63821         verify that time_t cannot be floating.
63823 2010-10-08  Eric Blake  <eblake@redhat.com>
63825         time: enforce recent POSIX ruling that time_t is integral
63826         * lib/time.in.h (__time_t_must_be_integral): Detect any
63827         problematic systems, allowing the rest of gnulib to assume POSIX.
63829 2010-10-08  Jim Meyering  <meyering@redhat.com>
63831         fdopendir: fix a bug on systems lacking openat and /proc support
63832         OpenBSD 4.7 is one such system.  The most noticeable effect was
63833         failure of any application making nontrivial use of fts: rm, du,
63834         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
63835           ./rm: traversal failed: `a': Bad file descriptor
63836         Debugging that, you see that even though FD 6 was closed just
63837         prior to the opendir call in fd_clone_opendir, its resulting
63838         dir->dd_fd was 8, rather than the expected value of 6:
63840         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
63841         93                close (fd);
63842         (gdb) n
63843         94                dir = fd_clone_opendir (dupfd);
63844         (gdb) n
63845         95                saved_errno = errno;
63846         (gdb) p dir->dd_fd
63847         $11 = 8
63849         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
63850         The problem is that on OpenBSD, fd_clone_opendir has to resort
63851         to using the old-style save/restore CWD mechanism, due to its
63852         lack of openat/proc support, and *that* would steal the FD (6)
63853         that opendir was supposed to use.
63855         The fix is to squirrel away the desired FD so that save_cwd uses a
63856         different one, and then free the dest FD right before calling opendir.
63857         That guarantees opendir will use the required file descriptor.
63859         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
63861 2010-10-08  Bruno Haible  <bruno@clisp.org>
63863         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
63864         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
63866 2010-10-08  Bruno Haible  <bruno@clisp.org>
63868         nanosleep: Make replacement POSIX compliant.
63869         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
63870         is out of range.
63871         Reported by Jim Meyering.
63873 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63875         bootstrap: add hook for altering gnulib.mk, for Bison
63876         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
63877         the Bison bootstrapping process can rewrite file names and variables
63878         in this file before later parts of 'bootstrap' use the file.
63879         Bison wants to include lib/gnulib.mk from the top-level makefile,
63880         so it needs the file names in this file to be relative to the top
63881         level, not relative to lib; plus it needs variable names to be
63882         rewritten.
63883         (slurp): Use the new function.
63885         bootstrap: reformat for readability
63886         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
63888 2010-10-08  Eric Blake  <eblake@redhat.com>
63890         docs: update cygwin progress
63891         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
63892         1.7.7.
63893         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
63894         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
63895         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
63896         * doc/posix-functions/carg.texi (carg): Likewise.
63897         * doc/posix-functions/cargf.texi (cargf): Likewise.
63898         * doc/posix-functions/casin.texi (casin): Likewise.
63899         * doc/posix-functions/casinf.texi (casinf): Likewise.
63900         * doc/posix-functions/casinh.texi (casinh): Likewise.
63901         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
63902         * doc/posix-functions/catan.texi (catan): Likewise.
63903         * doc/posix-functions/catanf.texi (catanf): Likewise.
63904         * doc/posix-functions/catanh.texi (catanh): Likewise.
63905         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
63906         * doc/posix-functions/ccos.texi (ccos): Likewise.
63907         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
63908         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
63909         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
63910         * doc/posix-functions/cexp.texi (cexp): Likewise.
63911         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
63912         * doc/posix-functions/cimag.texi (cimag): Likewise.
63913         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
63914         * doc/posix-functions/clog.texi (clog): Likewise.
63915         * doc/posix-functions/clogf.texi (clogf): Likewise.
63916         * doc/posix-functions/conj.texi (conj): Likewise.
63917         * doc/posix-functions/conjf.texi (conjf): Likewise.
63918         * doc/posix-functions/cpow.texi (cpow): Likewise.
63919         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
63920         * doc/posix-functions/cproj.texi (cproj): Likewise.
63921         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
63922         * doc/posix-functions/creal.texi (creal): Likewise.
63923         * doc/posix-functions/crealf.texi (crealf): Likewise.
63924         * doc/posix-functions/csin.texi (csin): Likewise.
63925         * doc/posix-functions/csinf.texi (csinf): Likewise.
63926         * doc/posix-functions/csinh.texi (csinh): Likewise.
63927         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
63928         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
63929         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
63930         * doc/posix-functions/ctan.texi (ctan): Likewise.
63931         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
63932         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
63933         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
63934         * doc/posix-headers/complex.texi (complex.h): Likewise.
63936 2010-10-07  Jim Meyering  <meyering@redhat.com>
63938         parse-datetime: avoid compilation failure on OpenBSD 4.7
63939         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
63940         This works around a compilation failure on OpenBSD 4.7:
63941         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
63943 2010-10-07  Eric Blake  <eblake@redhat.com>
63945         docs: update cygwin progress
63946         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
63947         1.7.6.
63948         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
63949         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
63950         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
63951         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
63952         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
63953         Likewise.
63954         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
63955         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
63956         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
63957         Likewise.
63958         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
63959         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
63960         Likewise.
63961         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
63962         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
63963         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
63964         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
63965         Likewise.
63966         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
63967         Likewise.
63968         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
63970         docs: update parse-datetime history
63971         * doc/parse-datetime.texi (Authors of parse_datetime): Better
63972         documentation of this function's history and alternatives.
63974         cygwin: use more robust version check
63975         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
63976         exclude an eventual cygwin 1.9.1.
63977         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63979         (gl_FUNC_STRCASESTR): Likewise.
63980         Reported by Bruno Haible.
63982 2010-10-06  Bruno Haible  <bruno@clisp.org>
63984         string, sys_select: Avoid #including large headers unless necessary.
63985         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
63986         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
63987         OSF/1, BeOS, Haiku.
63988         Reported by Jim Meyering.
63990 2010-10-05  Eric Blake  <eblake@redhat.com>
63992         memmem, strstr, strcasestr: fix bug with long periodic needle
63993         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
63994         periodic needle having false positive.
63995         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
63996         and cygwin 1.7.7.
63997         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
63998         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63999         (gl_FUNC_STRCASESTR): Likewise.
64000         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64001         * tests/test-memmem.c (main): Expose the bug.
64002         * tests/test-strcasestr.c (main): Likewise.
64003         * tests/test-strstr.c (main): Likewise.
64004         * tests/test-c-strcasestr.c (main): Likewise.
64005         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
64006         * doc/posix-functions/strstr.texi (strstr): Likewise.
64007         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64008         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
64010 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64012         parse-datetime: do some more renaming
64013         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
64014         parse_datetime, not get_date.  Mention the renaming.
64015         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
64016         in comments.
64017         * m4/bison.m4: Likewise.
64019 2010-10-05  Eric Blake  <eblake@redhat.com>
64021         parse-datetime: better name than get_date
64022         * NEWS: Reword the deprecation notice.
64023         * modules/get_date: Rename to modules/parse-datetime.
64024         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
64025         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
64026         * lib/get_date.y: Rename to lib/parse-datetime.y.
64027         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
64028         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
64029         * doc/getdate.texi: Provide fallback wrapper.
64030         * lib/getdate.h: Move guts, and wrap...
64031         * lib/parse-datetime.h: ...new file.
64032         * lib/parse-datetime.y (get_date): Rename...
64033         (parse_datetime): ...to this.
64034         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
64035         (gl_PARSE_DATETIME): ...to this.
64036         * doc/posix-functions/getdate.texi (get_date): Provide fallback
64037         documentation.
64038         * modules/getdate (Files): Provide fallback docs and header.
64039         (Notice, Depends-on): Update references.
64040         * tests/test-parse-datetime.c: Likewise.
64041         * DEPENDENCIES: Likewise.
64042         * MODULES.html.sh (Date and time <time.h>): Likewise.
64043         * doc/parse-datetime.texi (Date input formats)
64044         (Authors of parse_datetime): Likewise.
64045         * modules/parse-datetime (Files, configure.ac, Makefile.am)
64046         (Include): Likewise.
64047         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
64048         * gnulib-tool: Likewise.
64049         * m4/bison.m4 (gl_BISON): Likewise.
64050         Suggested by Bruno Haible.
64052 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64054         more ports to Solaris tr, which needs [] around ranges
64055         * gnulib-tool: Solaris tr needs [] around ranges.
64056         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64057         * tests/test-pipe-filter-gi1.c (main): Likewise.
64058         * tests/test-pipe-filter-ii1.c (main): Likewise.
64060 2010-10-05  Eric Blake  <eblake@redhat.com>
64062         bootstrap: fix Solaris regression
64063         * build-aux/bootstrap (check_versions): Solaris tr still needs []
64064         around ranges.
64065         Reported by Pádraig Brady.
64067         bootstrap: work with pkg-config
64068         * build-aux/bootstrap (check_versions): Also transliterate - in
64069         prerequisite name.
64070         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
64071         prerequisites that were already found, to avoid confusion.
64072         Reported by Justin Clift.
64074         faccessat: remove unused wrappers
64075         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
64076         presence of these wrappers dragged in -lgen on Solaris.
64077         Reported by Clemens Brogi; fix suggested by Paul Eggert.
64079 2010-10-05  Jim Meyering  <meyering@redhat.com>
64081         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
64082         * Makefile (sc_pragma_columns): New syntax-check rule.
64084 2010-10-04  Bruno Haible  <bruno@clisp.org>
64086         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
64087         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
64088         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
64089         Reported by Bruce Korb and Eric Blake.
64091 2010-10-04  Bruno Haible  <bruno@clisp.org>
64093         threadlib: Make option --with-libpth-prefix work.
64094         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
64095         use $LIBPTH, not just -lpth.
64097 2010-10-04  Bruno Haible  <bruno@clisp.org>
64099         Avoid line length limitation from HP NonStop system header files.
64100         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
64101         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
64102         * lib/ctype.in.h: Likewise.
64103         * lib/dirent.in.h: Likewise.
64104         * lib/errno.in.h: Likewise.
64105         * lib/fcntl.in.h: Likewise.
64106         * lib/float.in.h: Likewise.
64107         * lib/getopt.in.h: Likewise.
64108         * lib/iconv.in.h: Likewise.
64109         * lib/inttypes.in.h: Likewise.
64110         * lib/langinfo.in.h: Likewise.
64111         * lib/locale.in.h: Likewise.
64112         * lib/math.in.h: Likewise.
64113         * lib/netdb.in.h: Likewise.
64114         * lib/netinet_in.in.h: Likewise.
64115         * lib/poll.in.h: Likewise.
64116         * lib/pthread.in.h: Likewise.
64117         * lib/pty.in.h: Likewise.
64118         * lib/sched.in.h: Likewise.
64119         * lib/se-selinux.in.h: Likewise.
64120         * lib/search.in.h: Likewise.
64121         * lib/signal.in.h: Likewise.
64122         * lib/spawn.in.h: Likewise.
64123         * lib/stdarg.in.h: Likewise.
64124         * lib/stddef.in.h: Likewise.
64125         * lib/stdint.in.h: Likewise.
64126         * lib/stdio.in.h: Likewise.
64127         * lib/stdlib.in.h: Likewise.
64128         * lib/string.in.h: Likewise.
64129         * lib/strings.in.h: Likewise.
64130         * lib/sys_file.in.h: Likewise.
64131         * lib/sys_ioctl.in.h: Likewise.
64132         * lib/sys_select.in.h: Likewise.
64133         * lib/sys_socket.in.h: Likewise.
64134         * lib/sys_stat.in.h: Likewise.
64135         * lib/sys_time.in.h: Likewise.
64136         * lib/sys_times.in.h: Likewise.
64137         * lib/sys_utsname.in.h: Likewise.
64138         * lib/sys_wait.in.h: Likewise.
64139         * lib/sysexits.in.h: Likewise.
64140         * lib/termios.in.h: Likewise.
64141         * lib/time.in.h: Likewise.
64142         * lib/unistd.in.h: Likewise.
64143         * lib/wchar.in.h: Likewise.
64144         * lib/wctype.in.h: Likewise.
64145         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
64146         * modules/ctype (Makefile.am): Likewise.
64147         * modules/dirent (Makefile.am): Likewise.
64148         * modules/errno (Makefile.am): Likewise.
64149         * modules/fcntl-h (Makefile.am): Likewise.
64150         * modules/float (Makefile.am): Likewise.
64151         * modules/getopt-posix (Makefile.am): Likewise.
64152         * modules/iconv-h (Makefile.am): Likewise.
64153         * modules/inttypes (Makefile.am): Likewise.
64154         * modules/langinfo (Makefile.am): Likewise.
64155         * modules/locale (Makefile.am): Likewise.
64156         * modules/math (Makefile.am): Likewise.
64157         * modules/netdb (Makefile.am): Likewise.
64158         * modules/netinet_in (Makefile.am): Likewise.
64159         * modules/poll-h (Makefile.am): Likewise.
64160         * modules/pthread (Makefile.am): Likewise.
64161         * modules/pty (Makefile.am): Likewise.
64162         * modules/sched (Makefile.am): Likewise.
64163         * modules/search (Makefile.am): Likewise.
64164         * modules/selinux-h (Makefile.am): Likewise.
64165         * modules/signal (Makefile.am): Likewise.
64166         * modules/spawn (Makefile.am): Likewise.
64167         * modules/stdarg (Makefile.am): Likewise.
64168         * modules/stddef (Makefile.am): Likewise.
64169         * modules/stdint (Makefile.am): Likewise.
64170         * modules/stdio (Makefile.am): Likewise.
64171         * modules/stdlib (Makefile.am): Likewise.
64172         * modules/string (Makefile.am): Likewise.
64173         * modules/strings (Makefile.am): Likewise.
64174         * modules/sys_file (Makefile.am): Likewise.
64175         * modules/sys_ioctl (Makefile.am): Likewise.
64176         * modules/sys_select (Makefile.am): Likewise.
64177         * modules/sys_socket (Makefile.am): Likewise.
64178         * modules/sys_stat (Makefile.am): Likewise.
64179         * modules/sys_time (Makefile.am): Likewise.
64180         * modules/sys_times (Makefile.am): Likewise.
64181         * modules/sys_utsname (Makefile.am): Likewise.
64182         * modules/sys_wait (Makefile.am): Likewise.
64183         * modules/sysexits (Makefile.am): Likewise.
64184         * modules/termios (Makefile.am): Likewise.
64185         * modules/time (Makefile.am): Likewise.
64186         * modules/unistd (Makefile.am): Likewise.
64187         * modules/wchar (Makefile.am): Likewise.
64188         * modules/wctype (Makefile.am): Likewise.
64190 2010-10-04  Bruno Haible  <bruno@clisp.org>
64192         read-file tests: Avoid a test failure on NonStop Kernel.
64193         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
64194         a regular file.
64195         Reported by Joachim Schmitz <schmitz@hp.com>.
64197 2010-10-03  Bruno Haible  <bruno@clisp.org>
64199         gnulib-tool: Fixes for --create-testdir with --libtool.
64200         * gnulib-tool (func_get_automake_snippet): Don't augment
64201         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
64202         an executable.
64203         (func_create_testdir): Handle module 'alloca' like func_import.
64204         Reported by Bruce Korb <bruce.korb@gmail.com>.
64206 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64208         Avoid some lines longer than 80 characters.
64209         * lib/stdint.in.h: Break long comment lines.
64210         * lib/math.in.h: Likewise.
64211         (_GL_NUM_UINT_WORDS): New macro, for readability.
64212         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
64213         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
64214         * lib/stdlib.in.h: Likewise.
64215         * lib/spawn.in.h: Likewise.
64216         * lib/sys_socket.in.h: Update an URL.
64217         * lib/sys_stat.in.h: Break long line.
64219 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
64221         Improve pmccabe2html.
64222         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
64223         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
64224         when the sources change. Remove the line in the HTML about "Used
64225         ranges" (which implied that there might be other unused ranges),
64226         rename "Resume" to "Summary" (easier to understand for more users).
64227         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
64228         styles, and some unnecessary blank lines.
64230 2010-10-03  Bruno Haible  <bruno@clisp.org>
64231             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
64233         acl: Add support for ACLs on NonStop Kernel.
64234         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
64235         Check whether the function aclsort() exists.
64236         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
64237         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
64238         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64239         (acl_nontrivial [HAVE_ACLSORT]: New function.
64240         (file_has_acl): Implement for NonStop Kernel.
64241         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64242         (qset_acl): Implement for NonStop Kernel.
64243         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
64244         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64245         (main): Implement for NonStop Kernel.
64246         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
64247         Kernel. Handle this flavor.
64248         * tests/test-set-mode-acl.sh: Likewise.
64249         * tests/test-copy-acl.sh: Likewise.
64250         * tests/test-copy-file.sh: Likewise.
64252 2010-10-03  Bruno Haible  <bruno@clisp.org>
64254         Info about ACLs on NonStop Kernel.
64255         * doc/acl-resources.txt: Add info about NonStop Kernel.
64256         References by Joachim Schmitz <schmitz@hp.com>.
64258 2010-10-02  Bruno Haible  <bruno@clisp.org>
64260         Define missing EDQUOT on NonStop Kernel.
64261         * lib/errno.in.h (EDQUOT): Assign a value if missing.
64262         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
64263         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
64264         missing.
64265         * doc/posix-headers/errno.texi: Mention the NSK bug.
64266         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
64267         Reported by Joachim Schmitz <schmitz@hp.com>.
64269 2010-10-02  Bruno Haible  <bruno@clisp.org>
64271         Update doc for POSIX:2008.
64272         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
64273         Update URL of POSIX specification.
64275 2010-10-02  Bruno Haible  <bruno@clisp.org>
64277         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
64278         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
64279         from gnulib, not from Automake.
64281 2010-10-02  Bruno Haible  <bruno@clisp.org>
64283         New module 'system-posix'.
64284         * modules/system-posix: New file.
64285         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
64286         module is present.
64287         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64288         GNULIB_SYSTEM_POSIX.
64289         * modules/stdlib (Depends-on): Remove sys_wait.
64290         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
64291         * doc/posix-functions/system.texi: Mention the new module.
64292         * doc/posix-headers/stdlib.texi: Likewise.
64293         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
64294         define test_sys_wait_macros to a no-op.
64295         Reported by Sam Steingold <sds@gnu.org>.
64297 2010-09-30  Bruno Haible  <bruno@clisp.org>
64299         More renaming from 'getdate' to 'get_date'.
64300         * doc/get_date.texi: Renamed from doc/getdate.texi.
64301         * modules/get_date (Files): Update.
64302         * MODULES.html.sh (Date and time <time.h>): Update.
64303         * DEPENDENCIES: Update.
64304         * gnulib-tool: Update comment.
64305         * m4/bison.m4 (gl_BISON): Likewise.
64306         * m4/get_date.m4 (gl_GET_DATE): Likewise.
64308 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
64310         bootstrap: support ACLOCAL_FLAGS during aclocal
64311         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
64312         can add additional -I dir for third-party .m4 files.
64314 2010-09-30  Eric Blake  <eblake@redhat.com>
64316         bootstrap: use glibtoolize on MacOS
64317         * build-aux/bootstrap (check_versions): Convert libtool into
64318         libtoolize.
64319         (tool search): Move libtool check earlier, and look for
64320         glibtoolize for MacOS.
64321         (gnulib_tool_options): Auto-add --libtool when appropriate.
64322         Reported by Justin Clift.
64324         poll: fix typo that broke test on MacOS
64325         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
64326         Reported by Justin Clift.
64328         getdate: rename to get_date
64329         Note: getdate.h is not renamed, to minimize client impact.
64330         * modules/getdate: Mark obsolete.  Move old contents...
64331         * modules/get_date: ...to new module name.
64332         * modules/getdate-tests: Move...
64333         * modules/get_date-tests: ...here.
64334         * m4/getdate.m4: Move...
64335         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
64336         * lib/getdate.y: Move...
64337         * lib/get_date.y: ...here.
64338         * tests/test-getdate.c: Move...
64339         * tests/test-get_date.c: ...here.
64340         * doc/posix-functions/getdate.texi (getdate): Update name.
64341         * NEWS: Mention the change.
64343 2010-09-29  Bruno Haible  <bruno@clisp.org>
64345         Separate the module 'waitpid' from the module 'sys_wait'.
64346         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
64347         present.
64348         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
64349         gl_MODULE_INDICATOR_FOR_TESTS.
64350         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
64351         * modules/sys_wait (Depends-on): Remove waitpid.
64352         (Makefile.am): Substitute GNULIB_WAITPID.
64353         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
64354         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
64355         signature only if the 'waitpid' module is present.
64356         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
64357         * NEWS: Mention the change.
64358         * modules/grantpt (Depends-on): Add waitpid.
64359         * modules/wait-process (Depends-on): Likewise.
64361 2010-09-29  Bruno Haible  <bruno@clisp.org>
64363         More tests for module 'sys_wait'.
64364         * modules/sys_wait-c++-tests: New file.
64365         * tests/test-sys_wait-c++.cc: New file.
64366         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
64367         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64369 2010-09-29  Bruno Haible  <bruno@clisp.org>
64371         New module 'waitpid'.
64372         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
64373         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
64374         Don't include <process.h>.
64375         (waitpid): Declare only, using modern idiom.
64376         * m4/waitpid.m4: New file.
64377         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
64378         * modules/waitpid: New file.
64379         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
64380         (Makefile.am): Update.
64381         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64383 2010-09-28  Bruno Haible  <bruno@clisp.org>
64385         poll: Assume ANSI C.
64386         * lib/poll.c (poll): Use an ANSI C declaration.
64388 2010-09-28  Bruno Haible  <bruno@clisp.org>
64390         poll-h: Create poll.h on all platforms.
64391         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
64392         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
64393         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
64394         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
64395         (gl_REPLACE_POLL_H): Don't set POLL_H.
64396         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
64397         * modules/poll-h (Depends-on): Add include_next.
64398         (Makefile.am): Create poll.h unconditionally. Substitute also
64399         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
64401 2010-09-28  Bruno Haible  <bruno@clisp.org>
64403         Tests for module 'poll-h'.
64404         * modules/poll-h-c++-tests: New file.
64405         * tests/test-poll-h-c++.cc: New file.
64407         Tests for module 'poll-h'.
64408         * modules/poll-h-tests: New file.
64409         * tests/test-poll-h.c: New file.
64411 2010-09-28  Bruno Haible  <bruno@clisp.org>
64413         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
64414         * modules/poll-h (Depends-on): Add 'extensions'.
64416 2010-09-28  Bruno Haible  <bruno@clisp.org>
64418         New module 'poll-h'.
64419         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
64420         (poll): Use modern idiom.
64421         * modules/poll-h: New file.
64422         * modules/poll (Files): Remove lib/poll.in.h.
64423         (Depends-on): Add poll-h.
64424         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
64425         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
64426         * m4/poll_h.m4: New file.
64427         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
64428         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
64429         and invoke gl_REPLACE_POLL_H.
64430         * lib/poll.c: Use common idiom.
64431         * tests/test-poll.c: Likewise.
64432         * doc/posix-headers/poll.texi: Mention the poll-h module.
64433         Suggested by Eric Blake.
64435 2010-09-26  Bruno Haible  <bruno@clisp.org>
64437         sys_wait: Implement WSTOPSIG.
64438         * lib/sys_wait.in.h (WSTOPSIG): New macro.
64439         Reported by Simon Josefsson.
64441 2010-09-26  Simon Josefsson  <simon@josefsson.org>
64443         stdlib, sys_wait: Avoid compilation error on mingw.
64444         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
64446 2010-09-26  Bruno Haible  <bruno@clisp.org>
64448         stdlib tests: Avoid code duplication.
64449         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
64450         * modules/sys_wait-tests (Files): Likewise.
64451         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
64452         * tests/test-stdlib.c: Include test-sys_wait.h.
64453         (main): Invoke test_sys_wait_macros.
64454         * tests/test-sys_wait.c: Include test-sys_wait.h.
64455         (main): Invoke test_sys_wait_macros.
64457 2010-09-25  Simon Josefsson  <simon@josefsson.org>
64459         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
64460         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
64461         sure Windows sockets are working before calling getaddrinfo.
64462         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
64463         * doc/gnulib.texi (Windows sockets): Fix typo.
64465 2010-09-25  Bruno Haible  <bruno@clisp.org>
64467         Tests for module 'regex-quote'.
64468         * modules/regex-quote-tests: New file.
64469         * tests/test-regex-quote.c: New file.
64471         New module 'regex-quote'.
64472         * lib/regex-quote.h: New file.
64473         * lib/regex-quote.c: New file.
64474         * modules/regex-quote: New file.
64475         Suggested by Reuben Thomas <rrt@sc3d.org>.
64477 2010-09-24  Bruno Haible  <bruno@clisp.org>
64479         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
64480         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
64482 2010-09-23  Bruno Haible  <bruno@clisp.org>
64484         setenv: Relax license.
64485         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
64486         Blake.
64487         Requested by Eric Blake.
64489 2010-09-22  Bruno Haible  <bruno@clisp.org>
64491         termios: Relax license.
64492         * modules/termios (License): Change to LGPLv2+.
64493         Requested by Eric Blake.
64495 2010-09-22  Bruno Haible  <bruno@clisp.org>
64497         threadlib: Allow the package to change the default to 'no'.
64498         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
64499         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
64500         Reported by Paul Eggert.
64502 2010-09-22  Pádraig Brady  <P@draigbrady.com>
64503             Bruno Haible  <bruno@clisp.org>
64505         Fix endless loop in mbmemcasecoll.
64506         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
64507         byte.
64508         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
64510 2010-09-22  Bruno Haible  <bruno@clisp.org>
64512         Tests for module 'memcoll'.
64513         * modules/memcoll-tests: New file.
64514         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
64516         memcoll, xmemcoll: Clarify size vs. length.
64517         * modules/memcoll.c (memcoll0): Clarify specification.
64518         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
64519         passed to collate_error.
64521 2010-09-22  Bruno Haible  <bruno@clisp.org>
64523         Tests for module 'memcasecmp'.
64524         * modules/memcasecmp-tests: New file.
64525         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
64527 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64529         * lib/pthread.in.h: Add split double-inclusion guard, and include
64530         system <pthread.h> if there is one.  Use @@-style as in other
64531         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
64532         pthread.h doesn't.
64533         (pthread_mutexattr_destroy, pthread_mutexattr_init):
64534         (pthread_mutexattr_settype, pthread_mutex_trylock):
64535         New static inline functions, if there's no system <pthread.h>.
64536         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
64537         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
64538         Approximate with mutexes if the system lacks spinlocks, as in
64539         MacOS.
64540         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
64541         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
64542         @@-style.  Check for spinlocks separately.
64543         (gl_PTHREAD_DEFAULTS): New macro.
64544         * modules/pthread: Redo to use a more typical style for in.h files.
64546 2010-09-21  Eric Blake  <eblake@redhat.com>
64548         net_if: enhance tests
64549         * tests/test-net_if.c (main): Move signature checks earlier.
64550         Print failures to stderr.
64551         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
64552         Document the bug that we do not yet fix.
64554 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64556         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
64557         about gnulib, not GSS.
64559 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64561         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
64562         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
64563         for Emacs.
64564         * build-aux/pmccabe2html: Make Makefile.am example code more
64565         cut-and-paste friendly.
64567 2010-09-21  Simon Josefsson  <simon@josefsson.org>
64569         * tests/test-net_if.c: New file.
64570         * modules/net_if-tests: New file.
64572 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64574         pthread: add pthread_spin_destroy
64575         * lib/pthread.in.h (pthread_spin_destroy): New function.
64577 2010-09-19  Bruno Haible  <bruno@clisp.org>
64579         gnulib-tool: Fix --help output.
64580         * gnulib-tool (func_usage): Fix help message.
64581         Reported by Reuben Thomas <rrt@sc3d.org>.
64583 2010-09-18  Jim Meyering  <meyering@redhat.com>
64585         maint.mk: avoid unexpanded \n in two diagnostics
64586         * top/maint.mk (sc_prohibit_always_true_header_tests):
64587         Don't use a literal \n in a halt=... assignment.  It would not be
64588         expanded, and the two \n bytes would appear in the diagnostic output
64589         rather than the desired newline.  Use halt=$$(printf ... instead.
64590         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
64592 2010-09-18  Bruno Haible  <bruno@clisp.org>
64594         netinet_in: Doc tweak.
64595         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
64596         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64598 2010-09-18  Jim Meyering  <meyering@redhat.com>
64600         init.sh: correct an outdated comment
64601         * tests/init.sh (create_exe_shims_):  s/function/alias/
64603         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
64604         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
64605         a file named "*.exe" is removed between the glob expansion and the
64606         processing of that oddly named file.
64608 2010-09-17  Eric Blake  <eblake@redhat.com>
64610         mirbsd: add some more support
64611         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
64612         in BSD family.
64613         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
64614         devices as OpenBSD.
64615         * m4/host-os.m4 (mirbsd): Add MirBSD.
64617         tests: fix unportable assumption on sys/wait.h
64618         * tests/test-sys_wait.c (main): Relax test.
64619         * tests/test-stdlib.c (main): Likewise.
64621         init.sh: accommodate directory with no .exes
64622         * tests/init.sh: Accomodate directory containing only scripts.
64624         tests: avoid compiler warning
64625         * tests/test-stdlib.c (main): Use the variable.
64627         fdutimens, fdutimensat: update signature, again
64628         * lib/utimens.h (gl_futimens): Delete, and move signature...
64629         (fdutimens): ...here.
64630         (fdutimensat): Rearrange signature.
64631         (lutimensat): Rename variable for clarity.
64632         * lib/fdutimensat.c (fdutimensat): Update signature.
64633         * lib/utimens.c (fdutimens): Likewise.
64634         (gl_futimens): Delete.
64635         (utimens, lutimens): Update callers.
64636         * lib/futimens.c (futimens): Likewise.
64637         * tests/test-fdutimensat.c: Likewise.
64638         * tests/test-utimens.c: Likewise.
64639         * tests/test-futimens.h: Update comment.
64640         * NEWS: Mention this.
64641         Suggested by Paul Eggert.
64643 2010-09-17  Bruno Haible  <bruno@clisp.org>
64645         Take over the maintenance of some older macros from Autoconf.
64646         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
64647         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
64648         GNU Autoconf.
64649         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
64650         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
64652 2010-09-17  Eric Blake  <eblake@redhat.com>
64654         fdutimensat: drop atflag validation
64655         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
64656         with valid fd, to close a race scenario where futimens is
64657         unsupported and FILE was replaced by a symlink.
64658         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
64659         accordingly.
64660         Suggested by Paul Eggert.
64662 2010-09-16  Bruno Haible  <bruno@clisp.org>
64664         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
64665         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
64667 2010-09-16  Bruno Haible  <bruno@clisp.org>
64669         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
64670         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
64671         login_tty exists.
64672         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64674 2010-09-16  Bruno Haible  <bruno@clisp.org>
64676         login_tty: Make the replacement code work on BSD systems.
64677         * lib/login_tty.c: Include <sys/ioctl.h>.
64678         (login_tty): Use ioctl TIOCSCTTY when available.
64679         * modules/login_tty (Depends-on): Add sys_ioctl.
64680         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64682 2010-09-16  Bruno Haible  <bruno@clisp.org>
64684         login_tty: Stricter unit test.
64685         * modules/login_tty-tests (Depends-on): Add tcgetsid.
64686         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
64687         and tcgetsid() after login_tty.
64688         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64690 2010-09-16  Bruno Haible  <bruno@clisp.org>
64692         New module 'tcgetsid'.
64693         * lib/tcgetsid.c: New file.
64694         * m4/tcgetsid.m4: New file.
64695         * modules/tcgetsid: New file.
64696         * modules/termios (Depends-on): Add c++defs, warn-on-use.
64697         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
64698         GNULIB_TCGETSID, HAVE_TCGETSID.
64699         * lib/termios.in.h: Include <sys/types.h>.
64700         (tcgetsid): New declaration.
64701         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
64702         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
64703         * doc/posix-functions/tcgetsid.texi: Mention the new module.
64704         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
64706 2010-09-16  Bruno Haible  <bruno@clisp.org>
64708         Tests for module 'termios'.
64709         * modules/termios-c++-tests: New file.
64710         * modules/termios-tests: New file.
64711         * tests/test-termios-c++.cc: New file.
64712         * tests/test-termios.c: New file.
64714         New module 'termios'.
64715         * modules/termios: New file.
64716         * lib/termios.in.h: New file.
64717         * m4/termios_h.m4: New file.
64718         * doc/posix-headers/termios.texi: Mention the new module.
64720 2010-09-16  Eric Blake  <eblake@redhat.com>
64722         fdutimensat: add an atflag parameter
64723         * lib/fdutimensat.c (fdutimensat): Add new parameter.
64724         * lib/utimens.h (fdutimensat): Update prototype.
64725         * tests/test-fdutimensat.c: Adjust test to match.
64726         * NEWS: Document the change.
64727         Suggested by Paul Eggert.
64729 2010-09-16  Bruno Haible  <bruno@clisp.org>
64731         Fix typos in comments.
64732         * lib/striconveh.h: Fix typo in comment.
64733         * lib/login_tty.c (login_tty): Likewise.
64735 2010-09-15  Bruno Haible  <bruno@clisp.org>
64737         stdlib: clarify MirBSD WEXITSTATUS bug
64738         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
64739         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64741 2010-09-15  Eric Blake  <eblake@redhat.com>
64743         stdlib: work around MirBSD WEXITSTATUS bug
64744         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
64745         * modules/stdlib (Depends-on): Add sys_wait.
64746         * tests/test-sys_wait.c (main): Enhance test.
64747         * tests/test-stdlib.c (main): Likewise.
64748         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
64750         docs: mention MacOS issue with WEXITSTATUS(constant)
64751         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
64752         issue.
64753         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64755         strnlen: add tests
64756         * modules/strnlen-tests: New file.
64757         * tests/test-strnlen.c: Likewise.
64759 2010-09-14  Bruno Haible  <bruno@clisp.org>
64761         unistr/base: Avoid link errors when module 'libunistring' is also used.
64762         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
64763         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
64764         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
64765         Declare also when HAVE_LIBUNISTRING is set.
64766         Reported by Pádraig Brady <P@draigbrady.com>.
64768 2010-09-14  Eric Blake  <eblake@redhat.com>
64770         test-rawmemchr: make more robust
64771         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
64772         (Depends-on, configure.ac): Add needed prerequisites to use it.
64773         * modules/memchr-tests (Files, Depends-on, configure.ac):
64774         Likewise, to avoid implicit reliance on memchr module prereqs.
64775         * tests/test-memchr.c (main): Ensure proper masking.
64776         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
64777         reads.
64779         memchr: detect glibc Alpha bug
64780         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
64781         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
64782         Alpha.
64783         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
64784         * tests/test-memchr.c (main): Enhance test.
64785         Reported by Nelson H. F. Beebe.
64787 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64789         fts, getcwd, glob: audit for dirfd returning -1
64790         * lib/fts.c (opendir): Remove #define; no longer used.
64791         (opendirat): New arg PDIR_FD.  All callers changed.
64792         (fts_build, _opendir2): Use new opendirat to avoid the need for
64793         dirfd, or for checking whether dirfd returns a negative value.
64794         Don't use opendir; always use openat followed by fdopendir.
64795         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
64796         it.
64797         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
64798         returns -1 here.
64799         * modules/fts (Depends-on): Remove dirfd.
64800         * modules/getcwd (Depends-on): Likewise.
64802 2010-09-13  Eric Blake  <eblake@redhat.com>
64804         float: fix broken MirBSD header
64805         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
64806         * doc/posix-headers/float.texi (float.h): Document it.
64808 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64810         fts: use O_NOFOLLOW to avoid race condition when opening a directory
64811         * lib/fts.c (opendirat): New arg extra_flags.
64812         (__opendir2): Use it to avoid following symlinks when opening
64813         a directory, if symlinks are not supposed to be followed.  See
64814         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
64816         fdopendir: preserve argument fd before returning
64817         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
64818         (fdopendir_with_dup, fd_clone_opendir): New static functions.
64819         (fdopendir): Use them, arranging for FD to be open to the same
64820         directory that it was when it started.  (It might be temporarily
64821         closed while fdopendir is running, so this not thread- or
64822         signal-safe.)  Be careful to do the right thing even when file
64823         descriptors are scarce and dup fails with errno == EMFILE.  See
64824         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
64826 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
64828         regex: Pass the system regex if its only problem is 32-bit regoff_t.
64829         * NEWS: Document change.
64830         * m4/regex.m4: Disable test for regoff_t size.
64832 2010-09-13  Jim Meyering  <meyering@redhat.com>
64834         fts: don't operate on an invalid file descriptor after failed dup
64835         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
64836         negative file descriptor.
64838 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64840         savedir: add streamsavedir, deprecate fdsavedir
64841         * NEWS: Mention deprecation of fdsavedir.
64842         * lib/savedir.c (streamsavedir): New extern function, whose name
64843         ends in "savedir" to be consistent with the others.  This differs
64844         from savedirstream in that it doesn't close its argument.  The
64845         next version of GNU tar will use this instead of fdsavedir, to
64846         avoid some race conditions and conserve file descriptors.
64847         (savedirstream): Reimplement as a wrapper around streamsavedir.
64848         (fdsavedir): Add a comment deprecating this function.  As far as
64849         I know, only GNU tar used it, and GNU tar doesn't need it any more.
64850         * lib/savedir.h (streamsavedir): New decl.
64851         (fdsavedir): Add a comment deprecating this.
64853 2010-09-10  Bruno Haible  <bruno@clisp.org>
64855         langinfo: Fix last commit.
64856         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
64857         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
64858         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64860 2010-09-10  Bruno Haible  <bruno@clisp.org>
64862         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
64863         * lib/progreloc.c (O_EXEC): Define fallback.
64865 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
64867         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
64868         * NEWS: Document recent changes to fcntl-h.
64869         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
64870         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
64871         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
64872         Similarly for O_SEARCH; this last was already true, but not documented.
64873         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
64874         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
64875         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
64876         Likewise.
64877         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
64878         is zero, not whether it is defined.
64879         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
64880         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
64881         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
64883 2010-09-10  Bruno Haible  <bruno@clisp.org>
64885         langinfo, nl_langinfo: Fix for IRIX 5.3.
64886         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
64887         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
64888         HAVE_LANGINFO_YESEXPR.
64889         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
64890         HAVE_LANGINFO_YESEXPR.
64891         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
64892         HAVE_LANGINFO_T_FMT_AMPM is 0.
64893         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
64894         HAVE_LANGINFO_YESEXPR is 0.
64895         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
64896         NOEXPR.
64897         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
64898         * doc/posix-functions/nl_langinfo.texi: Likewise.
64899         Reported by Eric Blake.
64901 2010-09-10  Bruno Haible  <bruno@clisp.org>
64903         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
64904         * doc/glibc-functions/login_tty.texi: Mention the include file problem
64905         on FreeBSD 8.0 and OpenBSD 4.6.
64906         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
64907         * m4/pty_h.m4 (gl_PTY_H): Likewise.
64908         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
64909         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
64910         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
64911         ac_includes_default.
64912         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64914 2010-09-09  Eric Blake  <eblake@redhat.com>
64916         strsignal: work around NetBSD bug
64917         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
64918         * lib/string.in.h (includes): Likewise.
64919         * doc/posix-functions/strsignal.texi (strsignal): Document the
64920         bug.
64921         Reported by Nelson H. F. Beebe.
64923         gnulib-tool: work with NetBSD /bin/sh
64924         * gnulib-tool (func_cache_var, func_cache_lookup_module)
64925         (func_get_description, func_get_comment, func_get_status)
64926         (func_get_notice, func_get_applicability, func_get_filelist)
64927         (func_get_dependencies, func_get_autoconf_early_snippet)
64928         (func_get_autoconf_snippet, func_get_automake_snippet)
64929         (func_get_include_directive, func_get_link_directive)
64930         (func_get_license, func_get_maintainer, func_import): Avoid
64931         shell syntax errors from parsing syntax extensions.
64933 2010-09-09  Bruno Haible  <bruno@clisp.org>
64935         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64936         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
64937         a reliable way to determine whether the 'alias' command works.
64939 2010-09-08  Jim Meyering  <meyering@redhat.com>
64941         init.sh: penalize a set-x-impaired shell; don't disqualify it
64942         * tests/init.sh: Too many shells corrupt application stderr when
64943         you set -x, so we can't afford to disqualify them, since at least
64944         on Irix-6.5, that would disqualify all bourne shells.
64945         Instead, use a two-pass approach.
64946         On the first pass, try to find a shell that meets the stricter
64947         condition that set -x does not corrupt stderr.
64948         If no shell meets the stricter condition, retest each candidate
64949         shell, but without that extra condition.  Finally, when
64950         VERBOSE=yes is requested and set -x might cause trouble, simply
64951         issue a warning and refrain from enabling debug output.
64953 2010-09-08  Eric Blake  <eblake@redhat.com>
64955         unsetenv: fix OpenBSD bug
64956         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
64957         * doc/posix-functions/unsetenv.texi (unsetenv): Update
64958         documentation.
64959         Reported by Jim Meyering.
64961         strtod: work around IRIX 6.5 bug
64962         * lib/strtod.c (strtod): Reparse number on shorter string if
64963         exponent parse was invalid.
64964         * tests/test-strtod.c (main): Add check for "0x1p 2".
64965         Reported by Tom G. Christensen.
64967         getopt: optimize previous patch
64968         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
64969         empty variable.  Speed up awk script.
64970         Reported by Paolo Bonzini.
64972 2010-09-08  Jim Meyering  <meyering@redhat.com>
64974         test.sh: disqualify shells for which set -x corrupts stderr
64975         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
64976         and OpenBSD 4.7.  They make it so with "set -x", environment settings
64977         appear in stderr output.  For example, this command:
64978             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
64979         prints "P=1" on those two systems:
64981 2010-09-08  Bruno Haible  <bruno@clisp.org>
64983         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64984         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
64985         commands, because some shells ignore redirections when there is an
64986         error in the command lookup.
64987         Reported by Eric Blake.
64989 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
64991         * lib/regex.h: Fix a mention of `regex_compile' (should be
64992         `re_compile_pattern').
64993         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
64994         (re_set_registers): Correct name of parameter in comment.
64996         * doc/regex.texi: Add documentation for missing syntax flags.
64997         Remove commented-out documentation of defunct syntax option
64998         RE_NO_EMPTY_ALTS.
64999         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
65000         Add documentation of re_set_registers.
65001         Document trick to re-use a pattern buffer by setting fastmap manually.
65002         Update documentation of struct re_pattern_buffer per public members.
65003         Uncomment documentation of equivalence class operators and
65004         collating symbol operators, since they are now implemented,
65005         Explain leftmost-longest matching in relation to alternatives.
65006         Tidy documentation of substring matching.
65007         Remove POSIX documentation, which is done better in
65008         glibc, and refer the reader there. Keep BSD API documentation, as
65009         that is not readily available elsewhere.
65011 2010-09-07  Eric Blake  <eblake@redhat.com>
65013         getopt: handle POSIXLY_CORRECT set but not exported
65014         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
65015         export state of POSIXLY_CORRECT, due to bash set -o posix.
65016         Reported by Dustin J. Mitchell.
65018 2010-09-05  Bruno Haible  <bruno@clisp.org>
65020         gnulib-tool: Highlight the changed options.
65021         * gnulib-tool (func_usage): Display the --import, --add-import,
65022         --remove-import explanations in bold font.
65024 2010-09-06  Karl Berry  <karl@gnu.org>
65026         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
65028 2010-09-05  Bruno Haible  <bruno@clisp.org>
65030         uniwidth/width: Update comment.
65031         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
65032         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
65034 2010-09-05  Bruno Haible  <bruno@clisp.org>
65036         isinf, isnan: Relax license.
65037         * modules/isinf (License): Change from GPL to LGPL, with consent from
65038         Ben Pfaff.
65039         * modules/isnan (License): Likewise.
65040         Requested by Ludovic Courtès.
65042 2010-09-04  Bruno Haible  <bruno@clisp.org>
65044         gnulib-tool: Help migration from --import to --add-import or --update.
65045         * gnulib-tool: Emit a verbose error message when --import is used
65046         without any module name.
65048 2010-09-04  Bruno Haible  <bruno@clisp.org>
65050         Update doc about gnulib-tool.
65051         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
65052         'gnulib-tool --update' in more detail.
65053         Reported by Eric Blake.
65055 2010-09-04  Bruno Haible  <bruno@clisp.org>
65057         gnulib-tool: Change --import. New options --add/remove-import.
65058         * gnulib-tool: New options --add-import, --remove-import.
65059         (func_usage): Document them.
65060         (have_associative): Define always.
65061         (func_import): In import mode, don't merge the specified settings with
65062         the cached settings. Implement remove-import mode.
65063         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
65064         Explain when to use them versus --import.
65065         (Simple update): Use --add-import instead of --import.
65066         * NEWS: Mention the change.
65068 2010-09-04  Bruno Haible  <bruno@clisp.org>
65070         * doc/gnulib-tool.texi (Initial import): Update paragraph about
65071         separate gnulib.mk.
65073 2010-09-04  Bruno Haible  <bruno@clisp.org>
65075         gnulib-tool: Don't talk about CVS any more.
65076         * gnulib-tool (func_usage, func_import): Write "version control"
65077         instead of CVS.
65079 2010-09-04  Jim Meyering  <meyering@redhat.com>
65081         maint.mk: avoid obscure sc_copyright_check failure in coreutils
65082         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
65083         false positives (whose names may be ill-chosen) when searching
65084         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
65085         would cause a false-positive.
65087         avoid coreutils "make distcheck" failure
65088         Coreutils tests with an absolute build directory name that contains
65089         a space.  Not quoting this directory name caused a failure.
65090         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
65091         * tests/test-vc-list-files-cvs.sh: Likewise.
65093 2010-09-04  Bruno Haible  <bruno@clisp.org>
65095         gnulib-tool: Avoid error when run in a package without Makefile.am.
65096         * gnulib-tool: When collecting the m4dirs in a package that does not
65097         have a Makefile.am, eliminate those directories that contain no
65098         gnulib-cache.m4. Fix expression that counts these directories.
65100 2010-09-04  Bruno Haible  <bruno@clisp.org>
65102         update-copyright test: Improve output when perl is missing or too old.
65103         * tests/test-update-copyright.sh: Move test of Perl version down after
65104         the test whether Perl exists. Provide an explanation relating Perl's
65105         error message to Automake's SKIP: message.
65107 2010-09-04  Bruno Haible  <bruno@clisp.org>
65109         Don't augment PATH in TESTS_ENVIRONMENT.
65110         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
65111         set abs_aux_dir instead of augmenting PATH.
65112         * modules/vc-list-files-tests (Makefile.am): Likewise.
65113         * tests/test-update-copyright.sh: Augment PATH here.
65114         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
65115         path_prepend_.
65116         * tests/test-vc-list-files-git.sh: Likewise.
65118 2010-09-04  Jim Meyering  <meyering@redhat.com>
65120         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
65121         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
65123 2010-09-04  Bruno Haible  <bruno@clisp.org>
65125         strdup: Fix compilation error in C++ mode.
65126         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
65127         the macro.
65129 2010-09-04  Bruno Haible  <bruno@clisp.org>
65131         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
65132         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
65133         macro into a function.
65134         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
65136 2010-09-04  Bruno Haible  <bruno@clisp.org>
65138         Set PATH_SEPARATOR the same way autoconf does.
65139         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
65140         the value of PATH_SEPARATOR the same way autoconf-generated configure
65141         scripts do.
65142         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
65143         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65145 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65147         Set PATH_SEPARATOR the same way autoconf does.
65148         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
65149         the same way autoconf-generated configure scripts do.
65150         * posix-modules: Likewise.
65152 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65154         hash: fix safe_hasher const typo
65155         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
65156         const; otherwise, there is a type error later.
65158 2010-09-02  Jim Meyering  <meyering@redhat.com>
65160         test-update-copyright.sh: require perl 5.8.0
65161         * tests/test-update-copyright.sh: Require 5.8.0,
65162         which Tom G. Christensen has confirmed is adequate,
65163         while 5.6.1 is not.
65165 2010-09-02  Eric Blake  <eblake@redhat.com>
65167         tests: init.sh improvements for re-exec'ing with zsh
65168         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
65169         -vx through shell re-exec.
65170         Reported by Tom G. Christensen.
65172         wctype: fix typo in previous commit
65173         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
65174         Reported by Ludovic Courtès.
65176 2010-09-02  Jim Meyering  <meyering@redhat.com>
65178         test-update-copyright.sh: skip test if Perl is too old
65179         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
65180         Reported by Tom G. Christensen.
65182 2010-09-02  Bruno Haible  <bruno@clisp.org>
65184         wctype: Avoid compilation error on IRIX 6.5.30.
65185         * lib/wctype.in.h (iswblank): Declare with a replacement if
65186         REPLACE_ISWBLANK is set.
65187         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
65188         declared. Set REPLACE_ISWBLANK.
65189         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
65190         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
65191         * doc/posix-headers/wctype.texi: Likewise.
65192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65194 2010-09-01  Bruno Haible  <bruno@clisp.org>
65196         New module 'socketlib'.
65197         * modules/socketlib: New file.
65198         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
65199         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
65200         * modules/sockets (Depends-on): Add socketlib.
65201         Suggested by Sam Steingold <sds@gnu.org>.
65203 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65205         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
65207         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
65208         when one needs search access to a directory but not read access.
65209         On systems where it is available, it works in some cases where
65210         O_RDONLY does not, namely on directories that are searchable but
65211         not readable, and which need only to be searchable.  If O_SEARCH
65212         is not available, fall back to the traditional method of using
65213         O_RDONLY.
65215         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
65216         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
65217         when opening a directory that needs only to be searchable.
65218         * lib/chdir-safer.c (chdir_no_follow): Likewise.
65219         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
65220         * lib/openat-proc.c (openat_proc_name): Likewise.
65221         * lib/openat.c (openat_needs_fchdir): Likewise.
65222         * lib/save-cwd.c (save_cwd): Likewise.
65223         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
65225 2010-08-28  Bruno Haible  <bruno@clisp.org>
65227         New module 'host-cpu-c-abi'.
65228         * modules/host-cpu-c-abi: New file.
65229         * m4/host-cpu-c-abi.m4: New file, based on part of
65230         clisp/src/m4/general.m4.
65231         Requested by Sam Steingold <sds@gnu.org>.
65233 2010-08-31  Eric Blake  <eblake@redhat.com>
65234         and Jim Meyering  <meyering@redhat.com>
65236         hash: factor, and guard against misbehaving hasher function
65237         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
65238         of table->hasher's return value.  Also protect against a hash value
65239         so large that adding it to table->bucket results in a NULL pointer.
65240         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
65241         Use it in place of open-coded check-and-abort.
65243 2010-08-30  Bruno Haible  <bruno@clisp.org>
65245         hash: silence spurious clang warning
65246         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
65247         Reported by Eric Blake.
65249 2010-08-30  Eric Blake  <eblake@redhat.com>
65251         strstr, memmem, strcasestr: avoid leaked shell message
65252         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
65253         FreeBSD.
65254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65255         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65257         tests: silence clang warning
65258         * tests/test-malloca.c (do_allocation): Avoid dead store.
65260 2010-08-29  Bruno Haible  <bruno@clisp.org>
65262         gettext: Fix recent mistake.
65263         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
65265 2010-08-29  Bruno Haible  <bruno@clisp.org>
65267         selinux-h: Offer a --without-selinux option.
65268         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
65269         --without-selinux was specified, skip all tests and define
65270         HAVE_SELINUX_SELINUX_H to 0.
65271         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
65272         set LIB_SELINUX to empty.
65273         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
65274         gl_LIBSELINUX. If --without-selinux was specified, replace
65275         selinux/context.h.
65276         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
65278 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65279             Bruno Haible  <bruno@clisp.org>
65281         Make the module 'realloc-gnu' work again on AIX and OSF/1.
65282         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
65283         of HAVE_REALLOC.
65284         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
65285         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
65286         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
65287         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65289 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65290             Bruno Haible  <bruno@clisp.org>
65292         Make the module 'calloc-gnu' work again on AIX and OSF/1.
65293         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
65294         HAVE_CALLOC.
65295         * lib/xmalloc.c: Update accordingly.
65296         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
65297         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
65298         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
65300 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65301             Bruno Haible  <bruno@clisp.org>
65303         Make the module 'malloc-gnu' work again on AIX and OSF/1.
65304         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
65305         HAVE_MALLOC.
65306         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
65307         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
65308         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65310 2010-08-29  Bruno Haible  <bruno@clisp.org>
65312         Update modules list.
65313         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
65314         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
65315         (String handling <string.h>): Add astrxfrm.
65316         (File system functions): Add readlinkat.
65318 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65320         Tests for module 'realloc-gnu'.
65321         * modules/realloc-gnu-tests: New file.
65322         * tests/test-realloc-gnu.c: New file.
65324         Tests for module 'calloc-gnu'.
65325         * modules/calloc-gnu-tests: New file.
65326         * tests/test-calloc-gnu.c: New file.
65328         Tests for module 'malloc-gnu'.
65329         * modules/malloc-gnu-tests: New file.
65330         * tests/test-malloc-gnu.c: New file.
65332 2010-08-28  Bruno Haible  <bruno@clisp.org>
65334         Rename module 'realloc' -> 'realloc-gnu'.
65335         * modules/realloc-gnu: New file, copied from modules/realloc.
65336         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
65337         obsolete.
65338         * modules/mgetgroups (Depends-on): Update.
65339         * doc/posix-functions/realloc.texi: Update.
65340         * NEWS: Mention the change.
65342         Rename module 'calloc' -> 'calloc-gnu'.
65343         * modules/calloc-gnu: New file, copied from modules/calloc.
65344         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
65345         obsolete.
65346         * doc/posix-functions/calloc.texi: Update.
65347         * NEWS: Mention the change.
65349         Rename module 'malloc' -> 'malloc-gnu'.
65350         * modules/malloc-gnu: New file, copied from modules/malloc.
65351         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
65352         obsolete.
65353         * modules/argp (Depends-on): Update.
65354         * modules/regex (Depends-on): Update.
65355         * doc/posix-functions/malloc.texi: Update.
65356         * NEWS: Mention the change.
65358 2010-08-28  Eric Blake  <eblake@redhat.com>
65360         pread, pwrite: add missing dependency
65361         * modules/pread (Depends-on): Add extensions.
65362         * modules/pwrite (Depends-on): Likewise.
65364 2010-08-28  Bruno Haible  <bruno@clisp.org>
65366         unistr/u*-strchr: Fix tests dependencies.
65367         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
65368         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
65369         Reported by Ian Beckwith <ianb@erislabs.net>.
65371 2010-08-28  Bruno Haible  <bruno@clisp.org>
65373         read-file: Don't occupy too much unused memory.
65374         * lib/read-file.c (fread_file): Shrink the buffer at the end.
65376 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
65377             Eric Blake  <eblake@redhat.com>
65378             Bruno Haible  <bruno@clisp.org>
65380         read-file: Avoid memory reallocations with regular files.
65381         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
65382         (fread_file): With regular files, use the remaining length as the
65383         initial buffer size.  Check against overflow.
65384         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
65385         sys_stat.
65387 2010-08-28  Bruno Haible  <bruno@clisp.org>
65389         ftello: Relax license.
65390         * modules/ftello (License): Relax to LGPLv2+.
65391         Reported by Eric Blake.
65393 2010-08-28  Bruno Haible  <bruno@clisp.org>
65395         Avoid relocwrapper link errors due to gnulib replacement functions.
65396         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
65397         function.
65398         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65400 2010-08-28  Bruno Haible  <bruno@clisp.org>
65402         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
65403         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
65404         defined.
65405         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
65406         Suggested by Eric Blake.
65408 2010-08-28  Bruno Haible  <bruno@clisp.org>
65410         sys_socket, netdb: Ensure socklen_t gets defined.
65411         * modules/sys_socket (Depends-on): Add socklen.
65412         * modules/netdb (Depends-on): Likewise.
65413         * modules/getaddrinfo (Depends-on): Remove socklen.
65414         * modules/getsockopt (Depends-on): Likewise.
65415         * modules/setsockopt (Depends-on): Likewise.
65416         * tests/test-sys_socket.c: Check that socklen_t is defined.
65417         * tests/test-netdb.c: Likewise.
65418         * m4/socklen.m4: Update comments.
65419         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65421 2010-08-27  Eric Blake  <eblake@redhat.com>
65423         login_tty: add missing dependency
65424         * modules/login_tty (Depends-on): Add pty.
65426 2010-08-26  Eric Blake  <eblake@redhat.com>
65428         lib-symbol-versions: fix m4 quoting
65429         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
65430         format for AC_LINK_IFELSE.
65432         glob: fix compile test
65433         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
65435         btowc: fix missing file
65436         * modules/btowc (Files): Also ship locale-fr.m4.
65438         lseek: fix link test
65439         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
65440         AC_LINK_IFELSE.
65442         include_next: silence autoconf 2.68 warning
65443         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
65444         AC_COMPILE_IFELSE as special.
65445         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
65446         autoconf < 2.68.
65448         acl: fix compilation test
65449         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
65450         AC_COMPILE_IFELSE.
65452 2010-08-26  Bruno Haible  <bruno@clisp.org>
65454         Modernize AC_TRY_RUN invocations.
65455         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
65456         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
65457         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
65458         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
65459         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
65460         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65461         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
65462         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65463         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65464         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65465         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
65466         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
65467         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
65468         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65469         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
65470         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
65471         gl_MBRLEN_NUL_RETVAL): Likewise.
65472         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65473         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65474         Likewise.
65475         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65476         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
65477         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
65478         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
65479         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
65480         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
65481         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
65482         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
65483         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
65484         Likewise.
65485         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
65486         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
65487         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65488         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65489         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65490         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
65491         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
65492         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
65493         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65494         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65496 2010-08-26  Bruno Haible  <bruno@clisp.org>
65498         Modernize AC_TRY_LINK invocations.
65499         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
65500         AC_TRY_LINK.
65501         * m4/argp.m4 (gl_ARGP): Likewise.
65502         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
65503         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
65504         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65505         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65506         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65507         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
65508         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
65509         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
65510         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65511         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
65512         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65513         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
65514         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
65515         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65516         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65517         * m4/hostent.m4 (gl_HOSTENT): Likewise.
65518         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65519         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
65520         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
65521         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
65522         Likewise.
65523         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
65524         Likewise.
65525         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
65526         Likewise.
65527         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
65528         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
65529         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
65530         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
65531         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
65532         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65533         * m4/servent.m4 (gl_SERVENT): Likewise.
65534         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
65535         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
65536         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
65537         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
65538         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65539         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
65540         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
65541         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65542         * modules/tsearch-tests (configure.ac): Likewise.
65544 2010-08-26  Bruno Haible  <bruno@clisp.org>
65546         Modernize AC_TRY_COMPILE invocations.
65547         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
65548         AC_TRY_COMPILE.
65549         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
65550         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
65551         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
65552         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65553         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
65554         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65555         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65556         * m4/lock.m4 (gl_LOCK): Likewise.
65557         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
65558         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65559         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
65560         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
65561         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
65562         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
65563         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
65564         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
65565         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
65566         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
65567         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
65568         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65569         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
65570         extraneous semicolon.
65572 2010-08-26  Jim Meyering  <meyering@redhat.com>
65574         stat-time: relax license LGPL
65575         * modules/stat-time (License): Change from GPL to LGPL,
65576         with consent from all contributors, for use in libguile.
65577         Requested by Ludovic Courtès.
65579 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
65581         poll: return immediately on POLLHUP.
65582         * lib/poll.c (poll): Always set timeout before wait_timeout is
65583         computed.
65585 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65587         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
65588         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
65589         rmdir ("dir/.//"), unlinkat.
65591 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65593         stdbool: avoid spurious failure with modern xlc
65594         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65596 2010-08-24  Bruno Haible  <bruno@clisp.org>
65598         getloadavg: simplify code
65599         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
65600         gl_have_func. Update comments.
65602 2010-08-24  Eric Blake  <eblake@redhat.com>
65604         getloadavg: don't define SVR4 on cygwin
65605         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
65606         only define SVR4 when -lkvm is required.
65607         Reported by Yaakov Selkowitz.
65609 2010-08-24  Bruno Haible  <bruno@clisp.org>
65611         priv-set: fix comment
65612         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
65614 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65616         priv-set: fix comments
65617         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
65618         to match code, as suggested by David Bartley in:
65619         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
65621 2010-08-23  Eric Blake  <eblake@redhat.com>
65623         stdbool: avoid rejecting clang
65624         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65625         * tests/test-stdbool.c: Enable more tests if using the system
65626         <stdbool.h> instead of the gnulib replacement.
65627         (main): Move xlc bug test to a runtime test for all compilers.
65628         Reported by Anders Kaseorg.
65630         argz: fix shell quoting issue
65631         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
65632         Reported by Charles Wilson.
65634 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
65635             Erik Faye-Lund <kusmabite@gmail.com>
65637         poll, select: handle ERROR_BROKEN_PIPE.
65638         * lib/poll.c (win32_compute_revents): Return POLLHUP when
65639         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65640         * lib/select.c (win32_compute_revents): Do not mark a pipe
65641         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65643 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
65645         fts: allow compilation with C++
65646         * lib/fts_.h: Specify extern "C" linkage with C++.
65648 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65650         Fix gnulib-tool sed script de-commentation for AIX sed.
65651         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
65652         sed.
65654 2010-08-17  Eric Blake  <eblake@redhat.com>
65656         test-stddef: test for (some) offsetof bugs
65657         * tests/test-stddef.c: Enhance test to ensure correct type of
65658         offsetof.
65659         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
65660         that we are not fixing at this time.
65662 2010-08-15  Bruno Haible  <bruno@clisp.org>
65664         stpncpy: Allow stpncpy to be defined as a macro.
65665         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
65666         if it's already correctly declared.
65667         * lib/string.in.h (stpncpy): Undefine before redefining.
65668         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
65670 2010-08-14  Bruno Haible  <bruno@clisp.org>
65672         Rename module 'memxfrm' to 'amemxfrm'.
65673         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
65674         (amemxfrm): Renamed from memxfrm.
65675         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
65676         (amemxfrm): Renamed from memxfrm.
65677         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
65678         * NEWS: Mention the change.
65679         * MODULES.html.sh (String handling <string.h>): Update.
65680         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
65681         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
65682         * lib/unicase/u16-casexfrm.c: Likewise.
65683         * lib/unicase/u32-casexfrm.c: Likewise.
65684         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
65685         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
65686         * lib/uninorm/u16-normxfrm.c: Likewise.
65687         * lib/uninorm/u32-normxfrm.c: Likewise.
65688         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
65689         memxfrm.
65690         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
65691         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
65692         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
65693         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
65694         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
65695         Suggested by Paul Eggert.
65697 2010-08-14  Bruno Haible  <bruno@clisp.org>
65699         Tests for module 'astrxfrm'.
65700         * modules/astrxfrm-tests: New file.
65701         * tests/test-astrxfrm.c: New file.
65703         New module 'astrxfrm'.
65704         * lib/astrxfrm.h: New file.
65705         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
65706         * modules/astrxfrm: New file.
65708 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
65710         regex: Tweak doc.
65711         * doc/regex.texi (Overview): Don't mention regex.c.
65712         (GNU Regular Expression Compiling): Likewise.
65713         (Match-end-of-line Operator): Mention 'not_eol'.
65715 2010-08-14  Brian Gough  <bjg@gnu.org>
65716             Bruno Haible  <bruno@clisp.org>
65718         git-merge-changelog: add doc relating to use with bzr and hg.
65719         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
65721 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
65723         pthread: fix pthread.h creation for srcdir != builddir
65724         * modules/pthread (Makefile.am): Fix the rule to work also in a
65725         non-srcdir build.
65727 2010-08-13  Karl Berry  <karl@gnu.org>
65729         * doc/regex.texi (Predefined Syntaxes): @smallexample.
65730         * doc/posix-*/*: force line break before @url of POSIX
65731         specifications.
65732         Suggested by Werner Lemberg.
65734 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65736         strtod: fix const diagnostic
65737         * lib/strtod.c (strtod): Don't assign const char * to char *,
65738         as this elicits a warning from GCC when warnings are enabled.
65740 2010-08-10  Pádraig Brady  <P@draigbrady.com>
65741         and Eric Blake  <eblake@redhat.com>
65743         copy-acl: ignore ENOTSUP on HP-UX
65744         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
65745         so that it is available for HP-UX.
65746         * lib/copy-acl.c (qcopy_acl): Use it.
65747         Reported by Patrick M. Callahan.
65749 2010-08-10  Eric Blake  <eblake@redhat.com>
65751         open, chown: relax license
65752         * modules/open (License): Change to LGPLv2+, with consent by all
65753         authors, for use in augeas.
65754         * modules/chown (License): Likewise.
65755         * modules/lchown (Likewise): Likewise.
65756         Requested by Adam Stokes.
65758 2010-08-09  Karl Berry  <karl@gnu.org>
65760         * build-aux/ar-lib: new file, import from Automake.
65761         * config/srclist.txt: autocheck for updates.
65763 2010-08-09  Eric Blake  <eblake@redhat.com>
65765         readlinkat: adjust client modules
65766         * modules/areadlinkat (Depends-on): Use readlinkat, not
65767         symlinkat.
65768         * modules/areadlinkat-with-size (Depends-on): Likewise.
65770         mknod: be more vocal about danger of running tests as root
65771         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
65772         root, since that is just asking for problems.
65773         Suggested by Bruno Haible, based on a report by Rainer Tammer.
65775         readlinkat: split into its own module
65776         * modules/symlinkat: Split readlinkat...
65777         * modules/readlinkat: ...into separate module.
65778         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
65779         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
65780         * lib/symlinkat.c (readlinkat): Move...
65781         * lib/readlinkat.c: ...into new file.
65782         * modules/symlinkat-tests: Split readlinkat test...
65783         * modules/readlinkat-tests: ...into separate module.
65784         * tests/test-symlinkat.c: Split...
65785         * tests/test-readlinkat.c: ...into new file.
65786         * NEWS: Document the split.
65787         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
65788         * lib/unistd.in.h (readlinkat): Likewise.
65789         Suggested by Bruno Haible.
65791 2010-08-08  Bruno Haible  <bruno@clisp.org>
65793         memxfrm: Speed up.
65794         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
65795         that usually only one call to strxfrm is necessary for each string
65796         part.
65797         Reported by Paul Eggert <eggert@cs.ucla.edu>.
65799 2010-08-07  Karl Berry  <karl@gnu.org>
65801         * doc/posix-headers/limits.texi,
65802         * doc/posix-functions/malloc.texi,
65803         * doc/posix-functions/strsignal.texi: missing @item.
65804         * doc/ld-version-script.texi: spurious leading i.
65805         * doc/regex.texi (Interval Operators): no commas inside @var.
65807 2010-08-01  Bruno Haible  <bruno@clisp.org>
65809         Integrate the regex documentation.
65810         * doc/gnulib.texi: Define 'cn' index.
65811         (Regular expressions): New a chapter that includes regex.texi and
65812         regexprops-generic.texi.
65813         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
65814         syntax.
65816         Whitespace cleanup.
65817         * doc/regex.texi: Remove trailing spaces.
65819         Add regex documentation.
65820         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
65821         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
65822         Written by Kathy A. Hargreaves and Karl Berry.
65824 2010-08-01  Bruno Haible  <bruno@clisp.org>
65826         link: Update documentation.
65827         * doc/posix-functions/link.texi: Update regarding Solaris.
65829 2010-07-31  Bruno Haible  <bruno@clisp.org>
65831         Update modules list.
65832         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
65833         (String handling <string.h>): Add memcmp2, memxfrm.
65834         (Container data structures): Add xlist, xsublist, xoset.
65835         (Core language properties): Add alignof, unused-parameter.
65836         (Process control, Numeric conversion functions <stdlib.h>): Renamed
65837         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
65838         (Unibyte characters <ctype.h>): New section.
65839         (String handling <string.h>): New section.
65840         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
65841         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
65842         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
65843         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
65844         tan, tanh, tanl, y0, y1, yn.
65845         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
65846         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
65847         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
65848         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
65849         unlockpt, vdprintf, vdprintf-posix.
65850         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
65851         (File system functions): Add concat-filename, sys_file, sys_ioctl,
65852         xconcat-filename.
65853         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
65854         getdtablesize, pipe2, pipe2-safer.
65855         (Security): New section.
65856         (Networking functions): Add accept4.
65857         (Signal handling): Add sigpipe.
65858         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
65859         mbmemcasecoll.
65860         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
65861         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
65862         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
65863         pipe-filter-ii.
65864         (Misc): Add argp-version-etc, login_tty, parse-duration.
65866 2010-07-31  Bruno Haible  <bruno@clisp.org>
65868         Improve doc in MODULES.html.
65869         * modules/linkat (Description): Add the word "function".
65870         * modules/mkfifo (Description): Likewise.
65871         * modules/mknod (Description): Likewise.
65872         * modules/remove (Description): Likewise.
65873         * modules/renameat (Description): Likewise.
65874         * modules/stat (Description): Likewise.
65875         * modules/symlink (Description): Likewise.
65876         * modules/unlink (Description): Likewise.
65878 2010-07-31  Bruno Haible  <bruno@clisp.org>
65880         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
65881         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
65882         option --enable/disable-c++ instead of --enable/disable-cxx.
65883         * NEWS: Mention the change.
65885 2010-07-31  Bruno Haible  <bruno@clisp.org>
65887         readlink, areadlink: Relax test a bit.
65888         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
65889         alternative to ENOTDIR.
65890         * tests/test-areadlink.h (test_areadlink): Likewise.
65891         Reported by Rainer Tammer.
65893 2010-07-31  Bruno Haible  <bruno@clisp.org>
65895         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
65896         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
65897         character, perform the search using U_STRCHR.
65898         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
65899         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
65900         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
65901         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
65902         Suggested by Paolo Bonzini.
65904 2010-07-31  Bruno Haible  <bruno@clisp.org>
65906         unistr/u*-strstr: Fix dependencies.
65907         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
65908         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
65909         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
65911 2010-07-31  Bruno Haible  <bruno@clisp.org>
65913         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
65914         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
65915         the beginning of the loop.
65916         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
65917         cases in 'switch' statement.
65919         unistr/u8-strchr: Fix several bugs.
65920         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
65921         the string. When not found, return NULL, not a pointer near the end.
65923         More tests for unistr/u8-strchr.
65924         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
65925         that the function does not read past the first occurrence of the byte
65926         being searched.
65927         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
65928         * tests/unistr/test-u16-strchr.c (main): New function.
65929         * tests/unistr/test-u32-strchr.c (main): New function.
65931 2010-07-31  Bruno Haible  <bruno@clisp.org>
65933         posix-modules: Ignore backup files of documentation files.
65934         * posix-modules: grep only through files named *.texi.
65936 2010-07-31  Bruno Haible  <bruno@clisp.org>
65938         symlinkat: Fix documentation.
65939         * doc/posix-functions/readlinkat.texi: Fix module name.
65941 2010-07-31  Bruno Haible  <bruno@clisp.org>
65943         fchownat: Replace also when chown has the trailing slash bug.
65944         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
65945         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
65946         introduced on 2010-04-10.
65947         Reported by Rainer Tammer.
65949 2010-07-31  Bruno Haible  <bruno@clisp.org>
65951         linkat: Work around AIX 7.1 bug.
65952         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
65953         whether linkat handles trailing slash correctly. If not, replace linkat
65954         and define LINKAT_TRAILING_SLASH_BUG.
65955         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
65956         check whether (fd1,file1) points to a directory if file1 or file2 ends
65957         in a slash. Code taken from lib/link.c.
65958         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
65959         Reported by Rainer Tammer.
65961 2010-07-31  Bruno Haible  <bruno@clisp.org>
65963         Correctly determine whether pow is available in libc on AIX 7 with xlc.
65964         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
65965         This disables an xlc optimization that was causing wrong test results.
65966         Reported by Rainer Tammer.
65968 2010-07-31  Bruno Haible  <bruno@clisp.org>
65970         iconv: Work around AIX 6.1..7.1 bug.
65971         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
65972         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
65973         cross-compiling, guess no on all versions of AIX.
65974         Reported by Rainer Tammer.
65976 2010-07-31  Bruno Haible  <bruno@clisp.org>
65978         readlink: Relax test a bit.
65979         * tests/test-readlink.h (test_readlink): Allow different errno value
65980         when readlink is called with a file name that ends in / and refers to
65981         a file.
65982         Suggested by Eric Blake.
65983         Reported by Rainer Tammer.
65985 2010-07-31  Bruno Haible  <bruno@clisp.org>
65987         copysign: Does not require -lm on glibc systems.
65988         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
65989         gl_COMMON_DOUBLE_MATHFUNC.
65990         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
65992 2010-07-31  Bruno Haible  <bruno@clisp.org>
65994         duplocale: Work around AIX 7.1 bug.
65995         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
65996         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
65997         * lib/duplocale.c (rpl_duplocale): Update comment.
65998         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
65999         Reported by Rainer Tammer.
66001 2010-07-30  Bruno Haible  <bruno@clisp.org>
66003         dirfd: Avoid link error on AIX 7.1.
66004         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
66005         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
66006         exist, set REPLACE_DIRFD.
66007         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
66008         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
66009         * doc/posix-functions/dirfd.texi: Update.
66010         Reported by Rainer Tammer.
66012 2010-07-30  Eric Blake  <eblake@redhat.com>
66014         strtod: next round of AIX fixes
66015         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
66016         exponent.
66017         * tests/test-strtod.c (main): Enhance tests.
66018         * doc/posix-functions/strtod.texi (strtod): Document next bug.
66019         Reported by Rainer Tammer.
66021         futimens: fix configure check
66022         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
66023         Reported by Bruno Haible.
66025 2010-07-30  Bruno Haible  <bruno@clisp.org>
66027         getline: Update regarding AIX.
66028         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
66029         Reported by Rainer Tammer.
66031 2010-07-30  Bruno Haible  <bruno@clisp.org>
66033         wcwidth: Drop replacement on AIX 7.
66034         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
66035         AIX 7.
66036         Reported by Rainer Tammer.
66038 2010-07-30  Bruno Haible  <bruno@clisp.org>
66040         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
66041         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
66042         a 'char *'.
66043         Reported by Rainer Tammer.
66045 2010-07-30  Bruno Haible  <bruno@clisp.org>
66047         unlink: Update regarding AIX.
66048         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
66049         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
66050         Reported by Rainer Tammer.
66052 2010-07-30  Bruno Haible  <bruno@clisp.org>
66054         symlink: Update regarding AIX.
66055         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
66056         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
66057         Reported by Rainer Tammer.
66059 2010-07-30  Bruno Haible  <bruno@clisp.org>
66061         strndup: Update regarding AIX.
66062         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
66063         AIX 7.
66064         Reported by Rainer Tammer.
66066 2010-07-30  Bruno Haible  <bruno@clisp.org>
66068         stat: Update regarding AIX.
66069         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
66070         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
66071         Reported by Rainer Tammer.
66073 2010-07-30  Bruno Haible  <bruno@clisp.org>
66075         truncl: Fix autoconf test.
66076         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
66077         whether truncl works.
66078         Reported by Rainer Tammer.
66080 2010-07-30  Bruno Haible  <bruno@clisp.org>
66082         round: Update regarding AIX.
66083         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
66084         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
66085         Reported by Rainer Tammer.
66087 2010-07-30  Bruno Haible  <bruno@clisp.org>
66089         rename: Update regarding AIX.
66090         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
66091         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
66092         Reported by Rainer Tammer.
66094 2010-07-30  Bruno Haible  <bruno@clisp.org>
66096         printf.m4: Update regarding AIX.
66097         * m4/printf.m4: Update comments regarding AIX.
66098         Reported by Rainer Tammer.
66100 2010-07-30  Bruno Haible  <bruno@clisp.org>
66102         iconv: Update regarding AIX.
66103         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
66104         AIX 7.
66105         Reported by Rainer Tammer.
66107 2010-07-30  Bruno Haible  <bruno@clisp.org>
66109         getopt: Update regarding AIX.
66110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
66111         no on AIX.
66112         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
66113         Reported by Rainer Tammer.
66115 2010-07-30  Bruno Haible  <bruno@clisp.org>
66117         ldexpl; Update regarding AIX.
66118         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
66119         on AIX 7.
66120         Reported by Rainer Tammer.
66122 2010-07-30  Bruno Haible  <bruno@clisp.org>
66124         frexpl: Update regarding AIX.
66125         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
66126         on AIX 7.
66127         Reported by Rainer Tammer.
66129 2010-07-30  Bruno Haible  <bruno@clisp.org>
66131         open, fopen: Update regarding AIX.
66132         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
66133         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66134         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
66135         * doc/posix-functions/fopen.texi: Likewise.
66136         Reported by Rainer Tammer.
66138 2010-07-30  Bruno Haible  <bruno@clisp.org>
66140         chown: Update doc regarding AIX.
66141         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
66142         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
66143         Reported by Rainer Tammer.
66145 2010-07-30  Eric Blake  <eblake@redhat.com>
66147         strtod: fix bug in replacement function on AIX
66148         * lib/strtod.c (strtod): Special case broken "0x" parse in
66149         underlying strtod.
66150         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
66151         * doc/posix-functions/strtod.texi (strtod): Likewise.
66152         Reported by Rainer Tammer.
66154 2010-07-30  Bruno Haible  <bruno@clisp.org>
66156         mbrlen: Fix cross-compilation guess for AIX.
66157         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
66158         guess. Leftover from 2008-12-22.
66160 2010-07-30  Bruno Haible  <bruno@clisp.org>
66162         mbrtowc: Fix cross-compilation guess for AIX.
66163         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
66164         guess. Leftover from 2008-12-21.
66166 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
66168         init.sh: work around trap limitation of some shells
66169         * tests/init.sh (setup_): Move exit trap outside of shell function.
66171 2010-07-29  Eric Blake  <eblake@redhat.com>
66173         strtod: aid debugging
66174         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
66175         understanding why strtod is rejected.
66177 2010-07-28  Bruno Haible  <bruno@clisp.org>
66179         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
66180         * lib/unistr/u8-chr.c: Include <string.h>.
66181         * tests/unistr/test-u8-chr.c: Likewise.
66182         * tests/unistr/test-u16-chr.c: Likewise.
66183         * tests/unistr/test-u32-chr.c: Likewise.
66184         * tests/unistr/test-u8-strchr.c: Likewise.
66185         * tests/unistr/test-u16-strchr.c: Likewise.
66186         * tests/unistr/test-u32-strchr.c: Likewise.
66187         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
66188         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
66189         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
66190         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
66192 2010-07-28  Bruno Haible  <bruno@clisp.org>
66194         Use spaces for indentation, not tabs.
66195         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
66197 2010-07-27  Bruno Haible  <bruno@clisp.org>
66199         mbspcasecmp: Fix function specification.
66200         * lib/string.in.h (mbspcasecmp): Fix specification comment.
66201         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
66202         Reported by Eric Blake <eblake@redhat.com>.
66204 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
66206         timespec: use cast and not conditional, as truncation isn't possible
66207         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
66208         instead of a conditional.  Comment about the situation in more detail.
66209         This undoes most of the 2009-10-29 patch.
66211 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
66213         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
66214         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
66215         * lib/unistr/u8-strchr.c: Likewise.
66216         * modules/unistr/u8-chr: Depend on memchr.
66218         unistr/u*-strchr: add tests
66219         * modules/unistr/u8-strchr-tests: New file.
66220         * modules/unistr/u16-strchr-tests: New file.
66221         * modules/unistr/u32-strchr-tests: New file.
66222         * tests/unistr/test-strchr.h: New file.
66223         * tests/unistr/test-u8-strchr.c: New file.
66224         * tests/unistr/test-u16-strchr.c: New file.
66225         * tests/unistr/test-u32-strchr.c: New file.
66227         unistr/u*-chr: test multibyte sequences more
66228         * tests/unistr/test-chr.h: Do complete testing of the characters in the
66229         test vector.
66230         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
66231         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
66232         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
66234         unistr/u*-chr: test multibyte sequences
66235         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
66237         unistr/u*-chr: prepare for multibyte tests
66238         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
66239         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
66240         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
66241         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
66242         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
66243         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
66245 2010-07-18  Bruno Haible  <bruno@clisp.org>
66247         unistr/u8-strchr: Optimize non-ASCII argument case.
66248         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
66249         because the first byte often matches anyway.
66250         Reported by Pádraig Brady <P@draigbrady.com>.
66252 2010-07-15  Karl Berry  <karl@gnu.org>
66254         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
66256 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
66258         getcwd: on Solaris, work better if ancestors are inaccessible
66259         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
66260         buffer and size, try again with a large buffer.  This works better
66261         on Solaris, since its getcwd succeeds even if the path to the root
66262         is inaccessible, and this is helpful in common cases such as .zfs
66263         hidden directories.  Problem reported by J Chapman Flack in
66264         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
66265         Use system getcwd if it's declared, not merely if it's partly
66266         working; use the partly-working test only to avoid needless effort
66267         if the system getcwd fails.
66268         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
66269         comment that was already obsolete and is now even more obsolete.
66270         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
66271         now might call strdup.
66273 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
66275         pthread: Add enough so that coreutils/src/sort.c compiles.
66276         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
66277         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
66278         gnulib. Include <sched.h> and <time.h>, as per POSIX.
66279         Include <sys/types.h>, in case it defines pthread_t.
66280         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
66281         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
66282         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
66283         (pthread_rwlockattr_t, pthread_spinlock_t):
66284         New typedefs, if HAVE_PTHREAD_T is not defined.
66285         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
66286         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
66287         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
66288         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
66289         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
66290         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
66291         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
66292         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
66293         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
66294         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
66295         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
66296         New macros.
66297         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
66298         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
66299         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
66300         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
66301         (pthread_spin_unlock): New dummy functions.
66302         (pthread_create): Return EAGAIN; don't set errno.
66303         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
66304         require AC_C_INLINE.
66305         * modules/pthread (Depends-on): Add sched, time.
66306         (pthread.h): Use AM_V_GEN.
66308 2010-07-13  Bruno Haible  <bruno@clisp.org>
66310         striconveh: Don't malloc memory if the result buffer is sufficient.
66311         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
66312         buffer if its size is sufficient.
66313         Reported by Ludovic Courtès <ludo@gnu.org>.
66315 2010-07-13  Bruno Haible  <bruno@clisp.org>
66317         strtod: Add safety check.
66318         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
66320 2010-07-12  Bruno Haible  <bruno@clisp.org>
66322         Unify tests that set gl_cv_func_ldexpl_no_libm.
66323         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
66324         gl_FUNC_LDEXPL.
66325         (gl_FUNC_LDEXPL): Invoke it.
66326         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66328 2010-07-12  Bruno Haible  <bruno@clisp.org>
66330         Unify tests that set gl_cv_func_ldexp_no_libm.
66331         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
66332         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
66333         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
66334         (configure.ac): Simply invoke gl_FUNC_LDEXP.
66335         * modules/strtod (Files): Add m4/ldexp.m4.
66337 2010-07-12  Bruno Haible  <bruno@clisp.org>
66339         Unify tests that set gl_cv_func_frexpl_no_libm.
66340         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
66341         gl_FUNC_FREXPL_NO_LIBM.
66342         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
66343         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66345 2010-07-12  Bruno Haible  <bruno@clisp.org>
66347         Unify tests that set gl_cv_func_frexp_no_libm.
66348         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
66349         gl_FUNC_FREXP_NO_LIBM.
66350         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
66351         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66353 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66355         memcoll: clarify sizes versus lengths, document better, and tweak perf
66356         * lib/memcoll.c (strcoll_loop, memcoll0):
66357         Improve quality of descriptive comments.  Name variables
66358         consistently as to whether they are lengths (which do not include
66359         terminating null) versus sizes (which do).
66360         * lib/xmemcoll.c (xmemcoll0): Likewise.
66361         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
66362         returned when s1size == 0; this is easier to compile and saves
66363         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
66365 2010-07-12  Bruno Haible  <bruno@clisp.org>
66367         Tests for module '_Exit'.
66368         * modules/_Exit-tests: New file.
66369         * tests/test-_Exit.sh: New file.
66370         * tests/test-_Exit.c: New file.
66372         New module '_Exit'.
66373         * lib/stdlib.in.h (__attribute__): New macro.
66374         (_Exit): New declaration.
66375         * lib/_Exit.c: New file.
66376         * m4/_Exit.m4: New file.
66377         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
66378         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
66379         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
66380         * modules/_Exit: New file.
66381         * tests/test-stdlib-c++.cc (_Exit): Check signature.
66382         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
66384 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66386         strtod: make it more-accurate typically, and don't require libm
66387         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
66388         Include limits.h.  Don't include string.h.
66389         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
66390         (locale_isspace): New function, so that no casts are needed to
66391         check whether *s is a space.
66392         (ldexp): Provide an unused dummy if not available.
66393         (scale_radix_exp, parse_number, underlying_strtod): New functions.
66394         (strtod): Use them.  This implementation prefers to use the
66395         underlying strtod if available, falling back on our own code
66396         only to fix known bugs.  This is more likely to produce an
66397         accurate result.  Also, it avoids the use of libm functions.
66398         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
66399         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
66400         was absent, but it caused a test failure with coreutils.
66401         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
66402         with libm.
66403         * modules/strtod (Makefile.am, Link): libm is no longer needed.
66404         * modules/strtod-tests (Makefile.am): Likewise.
66406 2010-07-11  Pádraig Brady  <P@draigBrady.com>
66407             Bruno Haible  <bruno@clisp.org>
66409         unistr/u8-strchr: Optimize ASCII argument case.
66410         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
66412 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66414         (x)memcoll: minor tweaks
66415         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
66416         is after the type that it qualifies.
66417         (memcoll0): Likewise.
66418         * lib/memcoll.h (memcoll0): Likewise.
66419         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
66420         * lib/xmemcoll.h (xmemcoll0): Likewise.
66421         * lib/memcoll.c (memcoll0): Correct the comment.  This function
66422         differs from memcoll in that the NUL byte is part of the argument.
66423         Omit the abort-checks, as performance is a real issue here.  Plus,
66424         the checks were wrong anyway (an off-by-one error).  Omit local
66425         variable 'diff', as it's a bit clearer that way.
66426         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
66427         no longer needed.
66429 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
66431         (x)memcoll: speedup when input is known to be NUL delimited
66432         * lib/memcoll.c: Include stdlib.
66433         (memcoll0): New function.
66434         (strcoll_loop): New function, refactored for use in both memcoll
66435         and memcoll0.
66436         * lib/memcoll.h (memcoll0): Add prototype.
66437         * lib/xmemcoll.c (xmemcoll0): New function.
66438         (collate_error): New function, refactored for use in both xmemcoll
66439         and xmemcoll0.
66440         * lib/xmemcoll.h (xmemcoll0): Add prototype.
66441         * m4/memcoll.m4: add inline invocation.
66443 2010-07-06  Pádraig Brady  <P@draigBrady.com>
66445         * build-aux/bootstrap: Remove any local translations
66446         from the translation project synchronization directory,
66447         so that local only translations are not distributed.
66449 2010-07-04  Bruno Haible  <bruno@clisp.org>
66451         fsusage: Clarify which code applies to which platforms.
66452         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
66453         platform.
66454         * lib/fsusage.c (get_fs_usage): Likewise.
66456 2010-07-04  Bruno Haible  <bruno@clisp.org>
66458         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
66459         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
66460         Reported by Martin Lambers <marlam@marlam.de>.
66462 2010-07-04  Jim Meyering  <meyering@redhat.com>
66464         hash: once again explicitly disallow insertion of NULL
66465         * lib/hash.c (hash_insert0): Reinstate just-removed test:
66466         inserting a NULL pointer cannot work with these functions.
66467         Add a comment with details.
66468         This reverts part of the 2010-07-01 commit, 5bef1a35
66469         "hash: extend module to deal with non-pointer keys".
66471 2010-07-01  Bruno Haible  <bruno@clisp.org>
66473         stdbool: Update doc.
66474         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
66475         Info from Christian Weisgerber <naddy@mips.inka.de>.
66477 2010-07-01  Jim Meyering  <meyering@redhat.com>
66479         hash: extend module to deal with non-pointer keys
66480         * lib/hash.c (hash_insert0): New interface, much like hash_insert
66481         but that allows insertion of non-pointer entries.
66482         Do not disallow an ENTRY value of NULL.
66483         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
66484         * lib/hash.h (hash_insert0): Declare.
66486 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
66488         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
66489         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
66490         not present (i.e. with autoconf 2.59 and when using gettextize, not
66491         gnulib), require AC_GNU_SOURCE instead.
66493 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
66495         idpriv-drop: Fix tests.
66496         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
66497         not to the test-idpriv-droptemp program.
66499 2010-06-29  Bruno Haible  <bruno@clisp.org>
66501         string: Fix syntax error with g++ 2.96.
66502         * lib/string.in.h (__pure__): Remove definition.
66503         (_GL_ATTRIBUTE_PURE): New macro.
66504         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
66505         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
66506         Reported by Christian Weisgerber <naddy@mips.inka.de>.
66508 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
66510         unitypes: Fix bug introduced on 2010-05-18.
66511         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
66513 2010-06-22  Eric Blake  <eblake@redhat.com>
66515         memmem: slight optimization
66516         * lib/str-two-way.h (critical_factorization): Update comments.
66517         Reduce work during factorization phase.
66518         Reported by Carlos Bueno <carlos@bueno.org>.
66520 2010-06-21  Bruno Haible  <bruno@clisp.org>
66522         Fix HAVE_CALLOC_POSIX misnomer.
66523         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
66524         !HAVE_CALLOC_POSIX.
66525         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
66526         HAVE_CALLOC_POSIX.
66527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
66528         instead of HAVE_CALLOC_POSIX.
66529         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
66530         HAVE_CALLOC_POSIX.
66532         Use modern idiom for calloc() replacement.
66533         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
66534         AC_FUNC_CALLOC.
66535         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
66536         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
66537         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66538         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
66539         (gl_REPLACE_CALLOC): New macro.
66541 2010-06-21  Bruno Haible  <bruno@clisp.org>
66543         Fix HAVE_REALLOC_POSIX misnomer.
66544         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
66545         !HAVE_REALLOC_POSIX.
66546         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
66547         HAVE_REALLOC_POSIX.
66548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
66549         instead of HAVE_REALLOC_POSIX.
66550         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
66551         HAVE_REALLOC_POSIX.
66553         Use modern idiom for realloc() replacement.
66554         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
66555         AC_FUNC_REALLOC.
66556         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
66557         Autoconf's AC_FUNC_REALLOC.
66558         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66559         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
66560         (gl_REPLACE_REALLOC): New macro.
66561         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66563 2010-06-21  Bruno Haible  <bruno@clisp.org>
66565         Fix HAVE_MALLOC_POSIX misnomer.
66566         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
66567         !HAVE_MALLOC_POSIX.
66568         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
66569         HAVE_MALLOC_POSIX.
66570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
66571         instead of HAVE_MALLOC_POSIX.
66572         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
66573         HAVE_MALLOC_POSIX.
66575         Use modern idiom for malloc() replacement.
66576         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
66577         AC_FUNC_MALLOC.
66578         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
66579         Autoconf's AC_FUNC_MALLOC.
66580         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66581         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
66582         (gl_REPLACE_MALLOC): New macro.
66583         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66585 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
66587         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
66588         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
66589         This macro takes 3 arguments, not 4.
66591 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
66593         ipv6: fix detection under mingw
66594         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
66595         in6_addr.
66597 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
66599         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
66600         that strtod() works when cross-compiling to a glibc version known
66601         to work.
66603 2010-06-15  Bruno Haible  <bruno@clisp.org>
66605         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
66607 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
66609         select: Correct timeout.
66610         * lib/select.c (rpl_select): Compute wait_timeout correctly.
66612 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66614         git-version-gen: init shell var to avoid env var influence
66615         * build-aux/git-version-gen (v): Init shell var to empty.
66617 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
66619         priv-set: Don't assume that priv.h exists merely because getppriv does.
66620         See Jan Andersen's bug report about AIX 5L in
66621         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
66622         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
66623         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
66624         * lib/priv-set.h: Likewise.
66625         * tests/test-priv-set.c: Likewise.
66627 2010-06-13  Bruno Haible  <bruno@clisp.org>
66629         relocatable: Make it easier to test whether to install wrappers.
66630         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
66631         RELOCATABLE_VIA_WRAPPER.
66633 2010-06-13  Bruno Haible  <bruno@clisp.org>
66635         gnulib-tool: Display specified modules and dependencies differently.
66636         * gnulib-tool (func_show_module_list): New function.
66637         (func_import, func_create_testdir): Invoke it.
66638         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
66640 2010-06-13  Bruno Haible  <bruno@clisp.org>
66642         gnulib-tool: Align code of func_import and func_create_testdir.
66643         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
66644         specified_modules.
66646 2010-06-12  Jim Meyering  <meyering@redhat.com>
66648         test-inttostr: avoid spurious failure on Solaris 9
66649         * tests/test-inttostr.c (main): Skip the test when snprintf fails
66650         to accept "%ju".  Reported by Bruno Haible.
66652 2010-06-11  Jim Meyering  <meyering@redhat.com>
66654         test-sys_socket: mark variables as used more readably
66655         * tests/test-sys_socket.c (main): Mark otherwise unused variables
66656         as "used" explicitly via (void) statement casts.  This is more
66657         readable than using them in an artificial return expression.
66658         Suggestion from Bruno Haible.
66660 2010-06-11  Bruno Haible  <bruno@clisp.org>
66662         Avoid some more warnings from "gcc -Wwrite-strings".
66663         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
66664         to 'const char *'.
66665         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
66666         * tests/test-c-strcasestr.c (main): Likewise.
66667         * tests/test-mbscasestr1.c (main): Likewise.
66668         * tests/test-mbscasestr2.c (main): Likewise.
66669         * tests/test-memmem.c (main): Likewise.
66670         * tests/test-strstr.c (main): Likewise.
66671         * tests/test-strcasestr.c (main): Likewise.
66673 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66675         init.sh: change framework_failure_ to fail with status 99, not 1
66676         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
66677         automake's parallel-tests rule that this is an unexpected failure,
66678         even if the test is listed in XFAIL_TESTS.
66680 2010-06-11  Jim Meyering  <meyering@redhat.com>
66682         test-inttostr: avoid warnings about 4-6KB literal strings
66683         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
66684         Include "macros.h", for its definition of ASSERT.
66685         (CK): s/assert/ASSERT/
66686         * modules/inttostr-tests (Files): Add macros.h.
66688         init.sh: don't use $ME_ or skip_ before they are defined
66689         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
66690         their first uses.  Also hoist their companions: warn_, fail_,
66691         framework_failure_, $stderr_fileno.  Prompted by a patch from
66692         Stefano Lattarini.
66694         test-sys_socket: avoid set-but-not-used warnings from gcc
66695         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
66696         avoid warning about set-but-not-used variables.
66698         test-xvasprintf: avoid 'const' discard warnings
66699         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
66700         "const" when assigning from literal strings.
66701         (test_xasprintf): Add "void" in function argument list to placate
66702         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
66704         tests: avoid compilation warnings in argmatch and exclude tests...
66705         in packages that define ARGMATCH_DIE_DECL, like coreutils.
66706         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
66707         Since it always exits, declare with the "noreturn" attribute.
66708         * tests/test-argmatch.c: Likewise.
66710         tests: avoid 'const' discard warnings in mbsstr tests
66711         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
66712         * tests/test-mbsstr2.c (main): Likewise.
66714         test-verify: avoid warning from gcc's -Wmissing-declarations
66715         * tests/test-verify.c (function): Declare to be static.
66717         test-inttostr.c: include <string.h> for use of strcmp
66718         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
66720         test-linkat: avoid failed assertion on "other" architectures
66721         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
66722         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
66723         sparc: https://bugs.launchpad.net/bugs/591968
66725 2010-06-11  Jim Meyering  <meyering@redhat.com>
66727         printf.m4: avoid autoconf's "Expanded Before Required" warning
66728         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
66729         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
66730         autoconf warning.
66732 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
66734         Replacement header templates are now named with ".in", not "_".
66735         * doc/gnulib-intro.texi: Correct.
66737 2010-06-10  Jim Meyering  <meyering@redhat.com>
66739         inttostr-tests: depend on snprintf, not snprintf-posix
66740         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
66741         snprintf-posix, to avoid this aclocal failure:
66742           missing file gnulib-tests/vasnprintf.c
66743           configure.ac:45: error: expected source file, required through \
66744           AC_LIBSOURCES, not found
66746 2010-06-10  Jim Meyering  <meyering@redhat.com>
66748         inttostr: add a new function, inttostr, and tests
66749         The namesake function was not available.  The existence of the
66750         template file, inttostr.c makes its addition nontrivial.
66751         * lib/anytostr.c: Rename from inttostr.c.
66752         (anytostr): Rename from inttostr.
66753         * lib/inttostr.c: New file.
66754         * modules/inttostr (Files): Add anytostr.c.
66755         (Makefile.am): Set lib_SOURCES instead of ...
66756         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
66757         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
66758         * lib/offtostr.c: Likewise.
66759         * lib/uinttostr.c: Likewise.
66760         * lib/umaxtostr.c: Likewise.
66761         * modules/inttostr-tests: New file.
66762         * tests/test-inttostr.c: New file.  Test these functions.
66764 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
66765             Bruno Haible  <bruno@clisp.org>
66767         Add "Extending Gnulib" chapter to manual.
66768         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
66769         chapter.
66770         (Extending Gnulib): New chapter.
66771         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
66772         chapter.
66774 2010-06-09  Bruno Haible  <bruno@clisp.org>
66776         Avoid relocwrapper link errors due to gnulib replacement functions.
66777         * lib/areadlink.c: Use the system's malloc, realloc functions.
66778         (areadlink): Set errno to ENOMEM explicitly.
66779         * modules/areadlink (Depends-on): Remove malloc-posix.
66780         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66782 2010-06-09  Bruno Haible  <bruno@clisp.org>
66784         Avoid relocwrapper link errors due to gnulib replacement functions.
66785         * lib/canonicalize-lgpl.c: Use the system's malloc function.
66786         * lib/malloca.c: Likewise.
66787         * lib/relocatable.c: Likewise.
66788         * lib/progreloc.c: Use the system's malloc, sprintf functions.
66789         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
66790         * lib/setenv.c: Use the system's malloc, realloc functions.
66791         * lib/strerror.c: Use the system's sprintf function.
66792         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66794 2010-06-04  Bruno Haible  <bruno@clisp.org>
66796         Prefer documented low-level autoconf macro names.
66797         * m4/lib-link.m4: Use m4_translit instead of translit.
66798         * m4/environ.m4: Likewise.
66799         * m4/mathfunc.m4: Likewise.
66800         * m4/onceonly.m4: Likewise.
66801         * m4/stdint.m4: Likewise.
66802         Suggested by Eric Blake.
66804 2010-06-04  Martin Lambers  <marlam@marlam.de>
66805             Bruno Haible  <bruno@clisp.org>
66807         havelib: Allow library names with '+' characters.
66808         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66809         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
66811 2010-06-09  Bruno Haible  <bruno@clisp.org>
66813         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
66814         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
66815         realloc failed.
66817 2010-06-08  Peter Simons  <simons@cryp.to>
66819         maint.mk: make the news-check rule more configurable
66820         * top/maint.mk (news-check-lines-spec): New variable.
66821         (news-check): Use "sed -n 1,10p" in place of "head".
66823 2010-06-07  Jim Meyering  <meyering@redhat.com>
66825         do-release-commit-and-tag: fix typo in --help
66826         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
66828         regex: avoid new dead-code warning with gcc-4.6.0
66829         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
66830         if-block containing a while-loop.  It's been unused for at least
66831         5 years.
66833 2010-06-05  Bruno Haible  <bruno@clisp.org>
66835         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
66836         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
66838 2010-06-04  Bruno Haible  <bruno@clisp.org>
66840         Update to GNU gettext 0.18.1.
66841         * modules/gettext (configure.ac): Require gettext infrastructure from
66842         version 0.18.1.
66844 2010-06-03  Bruno Haible  <bruno@clisp.org>
66846         Don't use AC_LIBOBJ with file names in subdirectories.
66847         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
66848         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
66849         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
66850         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
66851         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
66852         gl_LIBUNISTRING_LIBSOURCE.
66853         (Makefile.am): Augment lib_SOURCES here, conditionally.
66854         * NEWS: Drop requirement for Automake option 'subdir-objects'.
66856 2010-06-03  Bruno Haible  <bruno@clisp.org>
66858         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
66859         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
66860         expansion does not end with a newline.
66861         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
66862         unnecessary newline.
66864 2010-06-03  Bruno Haible  <bruno@clisp.org>
66866         Reduce dependencies.
66867         * tests/test-quotearg.h: New file, extracted from
66868         tests/test-quotearg.c.
66869         * tests/test-quotearg-simple.c: New file, extracted from
66870         tests/test-quotearg.c.
66871         * tests/test-quotearg.c: Don't include <ctype.h>.
66872         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
66873         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
66874         use_quote_double_quotes, use_quotearg_colon): Moved to
66875         tests/test-quotearg.h.
66876         (results_g, flag_results, custom_quotes, custom_results): Moved
66877         to tests/test-quotearg-simple.c.
66878         (main): Moved the part that does not depend on gettext to
66879         tests/test-quotearg-simple.c. Return 77 if the test cannot be
66880         performed.
66881         * modules/quotearg-simple: New file.
66882         * modules/quotearg-simple-tests: New file.
66883         * modules/quotearg (Depends-on): Add quotearg-simple.
66884         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
66885         (Files): Add tests/test-quotearg.h.
66886         Reported by Paolo Bonzini.
66888 2010-06-03  Bruno Haible  <bruno@clisp.org>
66890         Reduce dependencies.
66891         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
66893 2010-06-03  Bruno Haible  <bruno@clisp.org>
66895         time: Undefine more broken macros.
66896         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
66897         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
66898         Reported by Eric Blake.
66900 2010-06-03  Bruno Haible  <bruno@clisp.org>
66902         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
66903         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
66904         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
66905         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
66906         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
66907         Reported by Ludovic Courtès <ludo@gnu.org>.
66909 2010-06-02  Eric Blake  <eblake@redhat.com>
66911         time: work with mingw + pthreads-win32 library
66912         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
66913         if timespec is defined only in pthread.h.
66914         * modules/time (Makefile.am): Substitute it.
66915         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
66916         <pthread.h>, when needed.
66917         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
66918         from the library.
66920 2010-05-31  Bruno Haible  <bruno@clisp.org>
66922         Avoid expanding two macros in the wrong order.
66923         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
66924         gl_LIBUNISTRING if it is defined.
66925         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
66926         autoconf >= 2.64.
66927         Reported by Ludovic Courtès <ludo@gnu.org>.
66929 2010-05-27  Jim Meyering  <meyering@redhat.com>
66931         maint.mk: also prohibit "#undef" of always-defined symbols
66932         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
66933         Allow more than one space before the symbol name.
66934         (sc_prohibit_always-defined_macros): Use grep's -E, now that
66935         the regexp uses alternation.
66937 2010-05-26  Eric Blake  <eblake@redhat.com>
66939         maint.mk: avoid echo -e
66940         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
66941         Convert all uses of echo -* to printf.
66942         Reported by Matthias Bolte.
66944 2010-05-25  Bruno Haible  <bruno@clisp.org>
66946         Update to GNU gettext 0.18, part 2.
66947         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
66948         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
66950 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66952         Add missing include in test-pwrite.c.
66953         * tests/test-pwrite.c: Include string.h, for strcmp.
66955 2010-05-24  Bruno Haible  <bruno@clisp.org>
66957         * NEWS: Mention requirement for Automake option 'subdir-objects'.
66959 2010-05-24  Bruno Haible  <bruno@clisp.org>
66961         Don't use conversion with transliteration in u{8,16,32}_strcoll.
66962         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
66963         iconveh_error argument.
66964         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
66965         U_STRCONV_TO_LOCALE.
66966         * lib/unistr/u16-strcoll.c: Likewise.
66967         * lib/unistr/u32-strcoll.c: Likewise.
66968         * modules/unistr/u8-strcoll (Depends-on): Add
66969         uniconv/u8-strconv-to-enc, localcharset. Remove
66970         uniconv/u8-strconv-to-locale.
66971         (configure.ac): Bump version number.
66972         * modules/unistr/u16-strcoll (Depends-on): Add
66973         uniconv/u16-strconv-to-enc, localcharset. Remove
66974         uniconv/u16-strconv-to-locale.
66975         (configure.ac): Bump version number.
66976         * modules/unistr/u32-strcoll (Depends-on): Add
66977         uniconv/u32-strconv-to-enc, localcharset. Remove
66978         uniconv/u32-strconv-to-locale.
66979         (configure.ac): Bump version number.
66981 2010-05-24  Bruno Haible  <bruno@clisp.org>
66983         Avoid a test failure on NetBSD 5.0.
66984         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
66985         an iconv() bug.
66987 2010-05-24  Bruno Haible  <bruno@clisp.org>
66989         Adjust #include directive style.
66990         * modules/regex (Includes): Recommend to write <regex.h>.
66992 2010-05-24  Bruno Haible  <bruno@clisp.org>
66994         regex: Don't require alloca.
66995         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
66996         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
66997         only inside if (0).
66999 2010-05-23  Jim Meyering  <meyering@redhat.com>
67001         test-renameat.c: include <sys/stat.h>
67002         * tests/test-renameat.c: Include <sys/stat.h>; required for
67003         definition of S_IS* macros.
67005 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
67007         Update maintainer documentation for 'relocatable-prog' module.
67008         * doc/relocatable-maint.texi: Update.
67009         Comments by Bruno Haible.
67011 2010-05-23  Bruno Haible  <bruno@clisp.org>
67013         git-merge-changelog: Enable --split-merged-entry by default.
67014         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
67015         (usage): Don't mention this option any more.
67016         Reported by Ralf Wildenhues.
67018 2010-05-23  Jim Meyering  <meyering@redhat.com>
67020         test-pwrite: do not leave behind a test file named "out"
67021         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
67022         The trivial-looking use of init.sh is really necessary.
67023         It ensures that the temporary file, "out", is created in
67024         a temporary directory, and removed upon termination.
67025         * tests/test-pwrite.sh: Re-add file.
67026         * modules/pwrite-tests: Reference it.
67028 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67030         Fix output redirection buglet in init.sh.
67031         * tests/init.sh: Fix redirection of stderr.
67033 2010-05-20  Simon Josefsson  <simon@josefsson.org>
67035         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
67037 2010-05-17  Simon Josefsson  <simon@josefsson.org>
67039         * modules/valgrind-tests: New file.
67040         * m4/valgrind-tests.m4: New file.
67041         * doc/valgrind-tests.texi: New file.
67042         * doc/gnulib.texi (Running self-tests under valgrind): New
67043         section.
67045 2010-05-19  Bruno Haible  <bruno@clisp.org>
67047         Clean up dead code in recent commit.
67048         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
67049         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
67050         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
67051         Suggested by Paolo Bonzini.
67053 2010-05-19  Bruno Haible  <bruno@clisp.org>
67055         Avoid valgrind error reports from libunistring.
67056         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
67057         * modules/libunistring (Files): Add it.
67058         * modules/libunistring-optional (Files): Likewise.
67060 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
67061             Bruno Haible  <bruno@clisp.org>
67063         New module 'libunistring-optional'.
67064         * modules/libunistring-optional: New file.
67065         * m4/libunistring-base.m4: New file.
67066         * m4/libunistring-optional.m4: New file.
67067         * lib/unicase.in.h: Renamed from lib/unicase.h.
67068         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
67069         * lib/unictype.in.h: Renamed from lib/unictype.h.
67070         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
67071         * lib/uniname.in.h: Renamed from lib/uniname.h.
67072         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
67073         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
67074         * lib/unistr.in.h: Renamed from lib/unistr.h.
67075         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
67076         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
67077         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
67078         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
67079         gl_LIBUNISTRING. If the library was found, determine the installed
67080         version and set LIBUNISTRING_VERSION.
67081         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
67082         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
67083         handle a configuration option --with-included-libunistring.
67084         * modules/libunistring (Files): Add m4/absolute-header.m4.
67085         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
67086         Add m4/libunistring-base.m4.
67087         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67088         (Makefile.am): Build unicase.h from unicase.in.h.
67089         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
67090         Add m4/libunistring-base.m4.
67091         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67092         (Makefile.am): Build uniconv.h from uniconv.in.h.
67093         * modules/unictype/base (Files): Use unictype.in.h instead of
67094         unictype.h. Add m4/libunistring-base.m4.
67095         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67096         (Makefile.am): Build unictype.h from unictype.in.h.
67097         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
67098         Add m4/libunistring-base.m4.
67099         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67100         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
67101         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
67102         Add m4/libunistring-base.m4.
67103         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67104         (Makefile.am): Build uniname.h from uniname.in.h.
67105         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
67106         Add m4/libunistring-base.m4.
67107         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67108         (Makefile.am): Build uninorm.h from uninorm.in.h.
67109         * modules/unistdio/base (Files): Use unistdio.in.h instead of
67110         unistdio.h. Add m4/libunistring-base.m4.
67111         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67112         (Makefile.am): Build unistdio.h from unistdio.in.h.
67113         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
67114         Add m4/libunistring-base.m4.
67115         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67116         (Makefile.am): Build unistr.h from unistr.in.h.
67117         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
67118         Add m4/libunistring-base.m4.
67119         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67120         (Makefile.am): Build unitypes.h from unitypes.in.h.
67121         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
67122         Add m4/libunistring-base.m4.
67123         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67124         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
67125         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
67126         uniwidth.h. Add m4/libunistring-base.m4.
67127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67128         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
67129         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
67130         instead of augmenting lib_SOURCES.
67131         * modules/unicase/empty-suffix-context: Likewise.
67132         * modules/unicase/locale-language: Likewise.
67133         * modules/unicase/tolower: Likewise.
67134         * modules/unicase/totitle: Likewise.
67135         * modules/unicase/toupper: Likewise.
67136         * modules/unicase/u8-casecmp: Likewise.
67137         * modules/unicase/u8-casecoll: Likewise.
67138         * modules/unicase/u8-casefold: Likewise.
67139         * modules/unicase/u8-casexfrm: Likewise.
67140         * modules/unicase/u8-ct-casefold: Likewise.
67141         * modules/unicase/u8-ct-tolower: Likewise.
67142         * modules/unicase/u8-ct-totitle: Likewise.
67143         * modules/unicase/u8-ct-toupper: Likewise.
67144         * modules/unicase/u8-is-cased: Likewise.
67145         * modules/unicase/u8-is-casefolded: Likewise.
67146         * modules/unicase/u8-is-lowercase: Likewise.
67147         * modules/unicase/u8-is-titlecase: Likewise.
67148         * modules/unicase/u8-is-uppercase: Likewise.
67149         * modules/unicase/u8-prefix-context: Likewise.
67150         * modules/unicase/u8-suffix-context: Likewise.
67151         * modules/unicase/u8-tolower: Likewise.
67152         * modules/unicase/u8-totitle: Likewise.
67153         * modules/unicase/u8-toupper: Likewise.
67154         * modules/unicase/u16-casecmp: Likewise.
67155         * modules/unicase/u16-casecoll: Likewise.
67156         * modules/unicase/u16-casefold: Likewise.
67157         * modules/unicase/u16-casexfrm: Likewise.
67158         * modules/unicase/u16-ct-casefold: Likewise.
67159         * modules/unicase/u16-ct-tolower: Likewise.
67160         * modules/unicase/u16-ct-totitle: Likewise.
67161         * modules/unicase/u16-ct-toupper: Likewise.
67162         * modules/unicase/u16-is-cased: Likewise.
67163         * modules/unicase/u16-is-casefolded: Likewise.
67164         * modules/unicase/u16-is-lowercase: Likewise.
67165         * modules/unicase/u16-is-titlecase: Likewise.
67166         * modules/unicase/u16-is-uppercase: Likewise.
67167         * modules/unicase/u16-prefix-context: Likewise.
67168         * modules/unicase/u16-suffix-context: Likewise.
67169         * modules/unicase/u16-tolower: Likewise.
67170         * modules/unicase/u16-totitle: Likewise.
67171         * modules/unicase/u16-toupper: Likewise.
67172         * modules/unicase/u32-casecmp: Likewise.
67173         * modules/unicase/u32-casecoll: Likewise.
67174         * modules/unicase/u32-casefold: Likewise.
67175         * modules/unicase/u32-casexfrm: Likewise.
67176         * modules/unicase/u32-ct-casefold: Likewise.
67177         * modules/unicase/u32-ct-tolower: Likewise.
67178         * modules/unicase/u32-ct-totitle: Likewise.
67179         * modules/unicase/u32-ct-toupper: Likewise.
67180         * modules/unicase/u32-is-cased: Likewise.
67181         * modules/unicase/u32-is-casefolded: Likewise.
67182         * modules/unicase/u32-is-lowercase: Likewise.
67183         * modules/unicase/u32-is-titlecase: Likewise.
67184         * modules/unicase/u32-is-uppercase: Likewise.
67185         * modules/unicase/u32-prefix-context: Likewise.
67186         * modules/unicase/u32-suffix-context: Likewise.
67187         * modules/unicase/u32-tolower: Likewise.
67188         * modules/unicase/u32-totitle: Likewise.
67189         * modules/unicase/u32-toupper: Likewise.
67190         * modules/unicase/ulc-casecmp: Likewise.
67191         * modules/unicase/ulc-casecoll: Likewise.
67192         * modules/unicase/ulc-casexfrm: Likewise.
67193         * modules/uniconv/u8-conv-from-enc: Likewise.
67194         * modules/uniconv/u8-conv-to-enc: Likewise.
67195         * modules/uniconv/u8-strconv-from-enc: Likewise.
67196         * modules/uniconv/u8-strconv-from-locale: Likewise.
67197         * modules/uniconv/u8-strconv-to-enc: Likewise.
67198         * modules/uniconv/u8-strconv-to-locale: Likewise.
67199         * modules/uniconv/u16-conv-from-enc: Likewise.
67200         * modules/uniconv/u16-conv-to-enc: Likewise.
67201         * modules/uniconv/u16-strconv-from-enc: Likewise.
67202         * modules/uniconv/u16-strconv-from-locale: Likewise.
67203         * modules/uniconv/u16-strconv-to-enc: Likewise.
67204         * modules/uniconv/u16-strconv-to-locale: Likewise.
67205         * modules/uniconv/u32-conv-from-enc: Likewise.
67206         * modules/uniconv/u32-conv-to-enc: Likewise.
67207         * modules/uniconv/u32-strconv-from-enc: Likewise.
67208         * modules/uniconv/u32-strconv-from-locale: Likewise.
67209         * modules/uniconv/u32-strconv-to-enc: Likewise.
67210         * modules/uniconv/u32-strconv-to-locale: Likewise.
67211         * modules/unictype/bidicategory-byname: Likewise.
67212         * modules/unictype/bidicategory-name: Likewise.
67213         * modules/unictype/bidicategory-of: Likewise.
67214         * modules/unictype/bidicategory-test: Likewise.
67215         * modules/unictype/block-list: Likewise.
67216         * modules/unictype/block-test: Likewise.
67217         * modules/unictype/category-C: Likewise.
67218         * modules/unictype/category-Cc: Likewise.
67219         * modules/unictype/category-Cf: Likewise.
67220         * modules/unictype/category-Cn: Likewise.
67221         * modules/unictype/category-Co: Likewise.
67222         * modules/unictype/category-Cs: Likewise.
67223         * modules/unictype/category-L: Likewise.
67224         * modules/unictype/category-Ll: Likewise.
67225         * modules/unictype/category-Lm: Likewise.
67226         * modules/unictype/category-Lo: Likewise.
67227         * modules/unictype/category-Lt: Likewise.
67228         * modules/unictype/category-Lu: Likewise.
67229         * modules/unictype/category-M: Likewise.
67230         * modules/unictype/category-Mc: Likewise.
67231         * modules/unictype/category-Me: Likewise.
67232         * modules/unictype/category-Mn: Likewise.
67233         * modules/unictype/category-N: Likewise.
67234         * modules/unictype/category-Nd: Likewise.
67235         * modules/unictype/category-Nl: Likewise.
67236         * modules/unictype/category-No: Likewise.
67237         * modules/unictype/category-P: Likewise.
67238         * modules/unictype/category-Pc: Likewise.
67239         * modules/unictype/category-Pd: Likewise.
67240         * modules/unictype/category-Pe: Likewise.
67241         * modules/unictype/category-Pf: Likewise.
67242         * modules/unictype/category-Pi: Likewise.
67243         * modules/unictype/category-Po: Likewise.
67244         * modules/unictype/category-Ps: Likewise.
67245         * modules/unictype/category-S: Likewise.
67246         * modules/unictype/category-Sc: Likewise.
67247         * modules/unictype/category-Sk: Likewise.
67248         * modules/unictype/category-Sm: Likewise.
67249         * modules/unictype/category-So: Likewise.
67250         * modules/unictype/category-Z: Likewise.
67251         * modules/unictype/category-Zl: Likewise.
67252         * modules/unictype/category-Zp: Likewise.
67253         * modules/unictype/category-Zs: Likewise.
67254         * modules/unictype/category-and: Likewise.
67255         * modules/unictype/category-and-not: Likewise.
67256         * modules/unictype/category-byname: Likewise.
67257         * modules/unictype/category-name: Likewise.
67258         * modules/unictype/category-none: Likewise.
67259         * modules/unictype/category-of: Likewise.
67260         * modules/unictype/category-or: Likewise.
67261         * modules/unictype/category-test: Likewise.
67262         * modules/unictype/combining-class: Likewise.
67263         * modules/unictype/ctype-alnum: Likewise.
67264         * modules/unictype/ctype-alpha: Likewise.
67265         * modules/unictype/ctype-blank: Likewise.
67266         * modules/unictype/ctype-cntrl: Likewise.
67267         * modules/unictype/ctype-digit: Likewise.
67268         * modules/unictype/ctype-graph: Likewise.
67269         * modules/unictype/ctype-lower: Likewise.
67270         * modules/unictype/ctype-print: Likewise.
67271         * modules/unictype/ctype-punct: Likewise.
67272         * modules/unictype/ctype-space: Likewise.
67273         * modules/unictype/ctype-upper: Likewise.
67274         * modules/unictype/ctype-xdigit: Likewise.
67275         * modules/unictype/decimal-digit: Likewise.
67276         * modules/unictype/digit: Likewise.
67277         * modules/unictype/mirror: Likewise.
67278         * modules/unictype/numeric: Likewise.
67279         * modules/unictype/property-alphabetic: Likewise.
67280         * modules/unictype/property-ascii-hex-digit: Likewise.
67281         * modules/unictype/property-bidi-arabic-digit: Likewise.
67282         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
67283         * modules/unictype/property-bidi-block-separator: Likewise.
67284         * modules/unictype/property-bidi-boundary-neutral: Likewise.
67285         * modules/unictype/property-bidi-common-separator: Likewise.
67286         * modules/unictype/property-bidi-control: Likewise.
67287         * modules/unictype/property-bidi-embedding-or-override: Likewise.
67288         * modules/unictype/property-bidi-eur-num-separator: Likewise.
67289         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
67290         * modules/unictype/property-bidi-european-digit: Likewise.
67291         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
67292         * modules/unictype/property-bidi-left-to-right: Likewise.
67293         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
67294         * modules/unictype/property-bidi-other-neutral: Likewise.
67295         * modules/unictype/property-bidi-pdf: Likewise.
67296         * modules/unictype/property-bidi-segment-separator: Likewise.
67297         * modules/unictype/property-bidi-whitespace: Likewise.
67298         * modules/unictype/property-byname: Likewise.
67299         * modules/unictype/property-combining: Likewise.
67300         * modules/unictype/property-composite: Likewise.
67301         * modules/unictype/property-currency-symbol: Likewise.
67302         * modules/unictype/property-dash: Likewise.
67303         * modules/unictype/property-decimal-digit: Likewise.
67304         * modules/unictype/property-default-ignorable-code-point: Likewise.
67305         * modules/unictype/property-deprecated: Likewise.
67306         * modules/unictype/property-diacritic: Likewise.
67307         * modules/unictype/property-extender: Likewise.
67308         * modules/unictype/property-format-control: Likewise.
67309         * modules/unictype/property-grapheme-base: Likewise.
67310         * modules/unictype/property-grapheme-extend: Likewise.
67311         * modules/unictype/property-grapheme-link: Likewise.
67312         * modules/unictype/property-hex-digit: Likewise.
67313         * modules/unictype/property-hyphen: Likewise.
67314         * modules/unictype/property-id-continue: Likewise.
67315         * modules/unictype/property-id-start: Likewise.
67316         * modules/unictype/property-ideographic: Likewise.
67317         * modules/unictype/property-ids-binary-operator: Likewise.
67318         * modules/unictype/property-ids-trinary-operator: Likewise.
67319         * modules/unictype/property-ignorable-control: Likewise.
67320         * modules/unictype/property-iso-control: Likewise.
67321         * modules/unictype/property-join-control: Likewise.
67322         * modules/unictype/property-left-of-pair: Likewise.
67323         * modules/unictype/property-line-separator: Likewise.
67324         * modules/unictype/property-logical-order-exception: Likewise.
67325         * modules/unictype/property-lowercase: Likewise.
67326         * modules/unictype/property-math: Likewise.
67327         * modules/unictype/property-non-break: Likewise.
67328         * modules/unictype/property-not-a-character: Likewise.
67329         * modules/unictype/property-numeric: Likewise.
67330         * modules/unictype/property-other-alphabetic: Likewise.
67331         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
67332         * modules/unictype/property-other-grapheme-extend: Likewise.
67333         * modules/unictype/property-other-id-continue: Likewise.
67334         * modules/unictype/property-other-id-start: Likewise.
67335         * modules/unictype/property-other-lowercase: Likewise.
67336         * modules/unictype/property-other-math: Likewise.
67337         * modules/unictype/property-other-uppercase: Likewise.
67338         * modules/unictype/property-paired-punctuation: Likewise.
67339         * modules/unictype/property-paragraph-separator: Likewise.
67340         * modules/unictype/property-pattern-syntax: Likewise.
67341         * modules/unictype/property-pattern-white-space: Likewise.
67342         * modules/unictype/property-private-use: Likewise.
67343         * modules/unictype/property-punctuation: Likewise.
67344         * modules/unictype/property-quotation-mark: Likewise.
67345         * modules/unictype/property-radical: Likewise.
67346         * modules/unictype/property-sentence-terminal: Likewise.
67347         * modules/unictype/property-soft-dotted: Likewise.
67348         * modules/unictype/property-space: Likewise.
67349         * modules/unictype/property-terminal-punctuation: Likewise.
67350         * modules/unictype/property-test: Likewise.
67351         * modules/unictype/property-titlecase: Likewise.
67352         * modules/unictype/property-unassigned-code-value: Likewise.
67353         * modules/unictype/property-unified-ideograph: Likewise.
67354         * modules/unictype/property-uppercase: Likewise.
67355         * modules/unictype/property-variation-selector: Likewise.
67356         * modules/unictype/property-white-space: Likewise.
67357         * modules/unictype/property-xid-continue: Likewise.
67358         * modules/unictype/property-xid-start: Likewise.
67359         * modules/unictype/property-zero-width: Likewise.
67360         * modules/unictype/scripts: Likewise.
67361         * modules/unictype/syntax-c-ident: Likewise.
67362         * modules/unictype/syntax-c-whitespace: Likewise.
67363         * modules/unictype/syntax-java-ident: Likewise.
67364         * modules/unictype/syntax-java-whitespace: Likewise.
67365         * modules/unilbrk/u8-possible-linebreaks: Likewise.
67366         * modules/unilbrk/u8-width-linebreaks: Likewise.
67367         * modules/unilbrk/u16-possible-linebreaks: Likewise.
67368         * modules/unilbrk/u16-width-linebreaks: Likewise.
67369         * modules/unilbrk/u32-possible-linebreaks: Likewise.
67370         * modules/unilbrk/u32-width-linebreaks: Likewise.
67371         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
67372         * modules/unilbrk/ulc-width-linebreaks: Likewise.
67373         * modules/uniname/uniname: Likewise.
67374         * modules/uninorm/canonical-decomposition: Likewise.
67375         * modules/uninorm/composition: Likewise.
67376         * modules/uninorm/decomposing-form: Likewise.
67377         * modules/uninorm/decomposition: Likewise.
67378         * modules/uninorm/filter: Likewise.
67379         * modules/uninorm/nfc: Likewise.
67380         * modules/uninorm/nfd: Likewise.
67381         * modules/uninorm/nfkc: Likewise.
67382         * modules/uninorm/nfkd: Likewise.
67383         * modules/uninorm/u8-normalize: Likewise.
67384         * modules/uninorm/u8-normcmp: Likewise.
67385         * modules/uninorm/u8-normcoll: Likewise.
67386         * modules/uninorm/u8-normxfrm: Likewise.
67387         * modules/uninorm/u16-normalize: Likewise.
67388         * modules/uninorm/u16-normcmp: Likewise.
67389         * modules/uninorm/u16-normcoll: Likewise.
67390         * modules/uninorm/u16-normxfrm: Likewise.
67391         * modules/uninorm/u32-normalize: Likewise.
67392         * modules/uninorm/u32-normcmp: Likewise.
67393         * modules/uninorm/u32-normcoll: Likewise.
67394         * modules/uninorm/u32-normxfrm: Likewise.
67395         * modules/unistdio/u8-asnprintf: Likewise.
67396         * modules/unistdio/u8-asprintf: Likewise.
67397         * modules/unistdio/u8-snprintf: Likewise.
67398         * modules/unistdio/u8-sprintf: Likewise.
67399         * modules/unistdio/u8-u8-asnprintf: Likewise.
67400         * modules/unistdio/u8-u8-asprintf: Likewise.
67401         * modules/unistdio/u8-u8-snprintf: Likewise.
67402         * modules/unistdio/u8-u8-sprintf: Likewise.
67403         * modules/unistdio/u8-u8-vasnprintf: Likewise.
67404         * modules/unistdio/u8-u8-vasprintf: Likewise.
67405         * modules/unistdio/u8-u8-vsnprintf: Likewise.
67406         * modules/unistdio/u8-u8-vsprintf: Likewise.
67407         * modules/unistdio/u8-vasnprintf: Likewise.
67408         * modules/unistdio/u8-vasprintf: Likewise.
67409         * modules/unistdio/u8-vsnprintf: Likewise.
67410         * modules/unistdio/u8-vsprintf: Likewise.
67411         * modules/unistdio/u16-asnprintf: Likewise.
67412         * modules/unistdio/u16-asprintf: Likewise.
67413         * modules/unistdio/u16-snprintf: Likewise.
67414         * modules/unistdio/u16-sprintf: Likewise.
67415         * modules/unistdio/u16-u16-asnprintf: Likewise.
67416         * modules/unistdio/u16-u16-asprintf: Likewise.
67417         * modules/unistdio/u16-u16-snprintf: Likewise.
67418         * modules/unistdio/u16-u16-sprintf: Likewise.
67419         * modules/unistdio/u16-u16-vasnprintf: Likewise.
67420         * modules/unistdio/u16-u16-vasprintf: Likewise.
67421         * modules/unistdio/u16-u16-vsnprintf: Likewise.
67422         * modules/unistdio/u16-u16-vsprintf: Likewise.
67423         * modules/unistdio/u16-vasnprintf: Likewise.
67424         * modules/unistdio/u16-vasprintf: Likewise.
67425         * modules/unistdio/u16-vsnprintf: Likewise.
67426         * modules/unistdio/u16-vsprintf: Likewise.
67427         * modules/unistdio/u32-asnprintf: Likewise.
67428         * modules/unistdio/u32-asprintf: Likewise.
67429         * modules/unistdio/u32-snprintf: Likewise.
67430         * modules/unistdio/u32-sprintf: Likewise.
67431         * modules/unistdio/u32-u32-asnprintf: Likewise.
67432         * modules/unistdio/u32-u32-asprintf: Likewise.
67433         * modules/unistdio/u32-u32-snprintf: Likewise.
67434         * modules/unistdio/u32-u32-sprintf: Likewise.
67435         * modules/unistdio/u32-u32-vasnprintf: Likewise.
67436         * modules/unistdio/u32-u32-vasprintf: Likewise.
67437         * modules/unistdio/u32-u32-vsnprintf: Likewise.
67438         * modules/unistdio/u32-u32-vsprintf: Likewise.
67439         * modules/unistdio/u32-vasnprintf: Likewise.
67440         * modules/unistdio/u32-vasprintf: Likewise.
67441         * modules/unistdio/u32-vsnprintf: Likewise.
67442         * modules/unistdio/u32-vsprintf: Likewise.
67443         * modules/unistdio/ulc-asnprintf: Likewise.
67444         * modules/unistdio/ulc-asprintf: Likewise.
67445         * modules/unistdio/ulc-fprintf: Likewise.
67446         * modules/unistdio/ulc-snprintf: Likewise.
67447         * modules/unistdio/ulc-sprintf: Likewise.
67448         * modules/unistdio/ulc-vasnprintf: Likewise.
67449         * modules/unistdio/ulc-vasprintf: Likewise.
67450         * modules/unistdio/ulc-vfprintf: Likewise.
67451         * modules/unistdio/ulc-vsnprintf: Likewise.
67452         * modules/unistdio/ulc-vsprintf: Likewise.
67453         * modules/unistr/u8-check: Likewise.
67454         * modules/unistr/u8-chr: Likewise.
67455         * modules/unistr/u8-cmp: Likewise.
67456         * modules/unistr/u8-cmp2: Likewise.
67457         * modules/unistr/u8-cpy: Likewise.
67458         * modules/unistr/u8-cpy-alloc: Likewise.
67459         * modules/unistr/u8-endswith: Likewise.
67460         * modules/unistr/u8-mblen: Likewise.
67461         * modules/unistr/u8-mbsnlen: Likewise.
67462         * modules/unistr/u8-mbtouc: Likewise.
67463         * modules/unistr/u8-mbtouc-unsafe: Likewise.
67464         * modules/unistr/u8-mbtoucr: Likewise.
67465         * modules/unistr/u8-move: Likewise.
67466         * modules/unistr/u8-next: Likewise.
67467         * modules/unistr/u8-prev: Likewise.
67468         * modules/unistr/u8-set: Likewise.
67469         * modules/unistr/u8-startswith: Likewise.
67470         * modules/unistr/u8-stpcpy: Likewise.
67471         * modules/unistr/u8-stpncpy: Likewise.
67472         * modules/unistr/u8-strcat: Likewise.
67473         * modules/unistr/u8-strchr: Likewise.
67474         * modules/unistr/u8-strcmp: Likewise.
67475         * modules/unistr/u8-strcoll: Likewise.
67476         * modules/unistr/u8-strcpy: Likewise.
67477         * modules/unistr/u8-strcspn: Likewise.
67478         * modules/unistr/u8-strdup: Likewise.
67479         * modules/unistr/u8-strlen: Likewise.
67480         * modules/unistr/u8-strmblen: Likewise.
67481         * modules/unistr/u8-strmbtouc: Likewise.
67482         * modules/unistr/u8-strncat: Likewise.
67483         * modules/unistr/u8-strncmp: Likewise.
67484         * modules/unistr/u8-strncpy: Likewise.
67485         * modules/unistr/u8-strnlen: Likewise.
67486         * modules/unistr/u8-strpbrk: Likewise.
67487         * modules/unistr/u8-strrchr: Likewise.
67488         * modules/unistr/u8-strspn: Likewise.
67489         * modules/unistr/u8-strstr: Likewise.
67490         * modules/unistr/u8-strtok: Likewise.
67491         * modules/unistr/u8-to-u16: Likewise.
67492         * modules/unistr/u8-to-u32: Likewise.
67493         * modules/unistr/u8-uctomb: Likewise.
67494         * modules/unistr/u16-check: Likewise.
67495         * modules/unistr/u16-chr: Likewise.
67496         * modules/unistr/u16-cmp: Likewise.
67497         * modules/unistr/u16-cmp2: Likewise.
67498         * modules/unistr/u16-cpy: Likewise.
67499         * modules/unistr/u16-cpy-alloc: Likewise.
67500         * modules/unistr/u16-endswith: Likewise.
67501         * modules/unistr/u16-mblen: Likewise.
67502         * modules/unistr/u16-mbsnlen: Likewise.
67503         * modules/unistr/u16-mbtouc: Likewise.
67504         * modules/unistr/u16-mbtouc-unsafe: Likewise.
67505         * modules/unistr/u16-mbtoucr: Likewise.
67506         * modules/unistr/u16-move: Likewise.
67507         * modules/unistr/u16-next: Likewise.
67508         * modules/unistr/u16-prev: Likewise.
67509         * modules/unistr/u16-set: Likewise.
67510         * modules/unistr/u16-startswith: Likewise.
67511         * modules/unistr/u16-stpcpy: Likewise.
67512         * modules/unistr/u16-stpncpy: Likewise.
67513         * modules/unistr/u16-strcat: Likewise.
67514         * modules/unistr/u16-strchr: Likewise.
67515         * modules/unistr/u16-strcmp: Likewise.
67516         * modules/unistr/u16-strcoll: Likewise.
67517         * modules/unistr/u16-strcpy: Likewise.
67518         * modules/unistr/u16-strcspn: Likewise.
67519         * modules/unistr/u16-strdup: Likewise.
67520         * modules/unistr/u16-strlen: Likewise.
67521         * modules/unistr/u16-strmblen: Likewise.
67522         * modules/unistr/u16-strmbtouc: Likewise.
67523         * modules/unistr/u16-strncat: Likewise.
67524         * modules/unistr/u16-strncmp: Likewise.
67525         * modules/unistr/u16-strncpy: Likewise.
67526         * modules/unistr/u16-strnlen: Likewise.
67527         * modules/unistr/u16-strpbrk: Likewise.
67528         * modules/unistr/u16-strrchr: Likewise.
67529         * modules/unistr/u16-strspn: Likewise.
67530         * modules/unistr/u16-strstr: Likewise.
67531         * modules/unistr/u16-strtok: Likewise.
67532         * modules/unistr/u16-to-u32: Likewise.
67533         * modules/unistr/u16-to-u8: Likewise.
67534         * modules/unistr/u16-uctomb: Likewise.
67535         * modules/unistr/u32-check: Likewise.
67536         * modules/unistr/u32-chr: Likewise.
67537         * modules/unistr/u32-cmp: Likewise.
67538         * modules/unistr/u32-cmp2: Likewise.
67539         * modules/unistr/u32-cpy: Likewise.
67540         * modules/unistr/u32-cpy-alloc: Likewise.
67541         * modules/unistr/u32-endswith: Likewise.
67542         * modules/unistr/u32-mblen: Likewise.
67543         * modules/unistr/u32-mbsnlen: Likewise.
67544         * modules/unistr/u32-mbtouc: Likewise.
67545         * modules/unistr/u32-mbtouc-unsafe: Likewise.
67546         * modules/unistr/u32-mbtoucr: Likewise.
67547         * modules/unistr/u32-move: Likewise.
67548         * modules/unistr/u32-next: Likewise.
67549         * modules/unistr/u32-prev: Likewise.
67550         * modules/unistr/u32-set: Likewise.
67551         * modules/unistr/u32-startswith: Likewise.
67552         * modules/unistr/u32-stpcpy: Likewise.
67553         * modules/unistr/u32-stpncpy: Likewise.
67554         * modules/unistr/u32-strcat: Likewise.
67555         * modules/unistr/u32-strchr: Likewise.
67556         * modules/unistr/u32-strcmp: Likewise.
67557         * modules/unistr/u32-strcoll: Likewise.
67558         * modules/unistr/u32-strcpy: Likewise.
67559         * modules/unistr/u32-strcspn: Likewise.
67560         * modules/unistr/u32-strdup: Likewise.
67561         * modules/unistr/u32-strlen: Likewise.
67562         * modules/unistr/u32-strmblen: Likewise.
67563         * modules/unistr/u32-strmbtouc: Likewise.
67564         * modules/unistr/u32-strncat: Likewise.
67565         * modules/unistr/u32-strncmp: Likewise.
67566         * modules/unistr/u32-strncpy: Likewise.
67567         * modules/unistr/u32-strnlen: Likewise.
67568         * modules/unistr/u32-strpbrk: Likewise.
67569         * modules/unistr/u32-strrchr: Likewise.
67570         * modules/unistr/u32-strspn: Likewise.
67571         * modules/unistr/u32-strstr: Likewise.
67572         * modules/unistr/u32-strtok: Likewise.
67573         * modules/unistr/u32-to-u16: Likewise.
67574         * modules/unistr/u32-to-u8: Likewise.
67575         * modules/unistr/u32-uctomb: Likewise.
67576         * modules/uniwbrk/u8-wordbreaks: Likewise.
67577         * modules/uniwbrk/u16-wordbreaks: Likewise.
67578         * modules/uniwbrk/u32-wordbreaks: Likewise.
67579         * modules/uniwbrk/ulc-wordbreaks: Likewise.
67580         * modules/uniwbrk/wordbreak-property: Likewise.
67581         * modules/uniwidth/u8-strwidth: Likewise.
67582         * modules/uniwidth/u8-width: Likewise.
67583         * modules/uniwidth/u16-strwidth: Likewise.
67584         * modules/uniwidth/u16-width: Likewise.
67585         * modules/uniwidth/u32-strwidth: Likewise.
67586         * modules/uniwidth/u32-width: Likewise.
67587         * modules/uniwidth/width: Likewise.
67588         * modules/unicase/cased-tests (Makefile.am): Link all test programs
67589         with $(LIBUNISTRING).
67590         * modules/unicase/ignorable-tests: Likewise.
67591         * modules/unicase/locale-language-tests: Likewise.
67592         * modules/unicase/tolower-tests: Likewise.
67593         * modules/unicase/totitle-tests: Likewise.
67594         * modules/unicase/toupper-tests: Likewise.
67595         * modules/unicase/u8-casecmp-tests: Likewise.
67596         * modules/unicase/u8-casecoll-tests: Likewise.
67597         * modules/unicase/u8-casefold-tests: Likewise.
67598         * modules/unicase/u8-is-cased-tests: Likewise.
67599         * modules/unicase/u8-is-casefolded-tests: Likewise.
67600         * modules/unicase/u8-is-lowercase-tests: Likewise.
67601         * modules/unicase/u8-is-titlecase-tests: Likewise.
67602         * modules/unicase/u8-is-uppercase-tests: Likewise.
67603         * modules/unicase/u8-tolower-tests: Likewise.
67604         * modules/unicase/u8-totitle-tests: Likewise.
67605         * modules/unicase/u8-toupper-tests: Likewise.
67606         * modules/unicase/u16-casecmp-tests: Likewise.
67607         * modules/unicase/u16-casecoll-tests: Likewise.
67608         * modules/unicase/u16-casefold-tests: Likewise.
67609         * modules/unicase/u16-is-cased-tests: Likewise.
67610         * modules/unicase/u16-is-casefolded-tests: Likewise.
67611         * modules/unicase/u16-is-lowercase-tests: Likewise.
67612         * modules/unicase/u16-is-titlecase-tests: Likewise.
67613         * modules/unicase/u16-is-uppercase-tests: Likewise.
67614         * modules/unicase/u16-tolower-tests: Likewise.
67615         * modules/unicase/u16-totitle-tests: Likewise.
67616         * modules/unicase/u16-toupper-tests: Likewise.
67617         * modules/unicase/u32-casecmp-tests: Likewise.
67618         * modules/unicase/u32-casecoll-tests: Likewise.
67619         * modules/unicase/u32-casefold-tests: Likewise.
67620         * modules/unicase/u32-is-cased-tests: Likewise.
67621         * modules/unicase/u32-is-casefolded-tests: Likewise.
67622         * modules/unicase/u32-is-lowercase-tests: Likewise.
67623         * modules/unicase/u32-is-titlecase-tests: Likewise.
67624         * modules/unicase/u32-is-uppercase-tests: Likewise.
67625         * modules/unicase/u32-tolower-tests: Likewise.
67626         * modules/unicase/u32-totitle-tests: Likewise.
67627         * modules/unicase/u32-toupper-tests: Likewise.
67628         * modules/unicase/ulc-casecmp-tests: Likewise.
67629         * modules/unicase/ulc-casecoll-tests: Likewise.
67630         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
67631         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
67632         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
67633         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
67634         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
67635         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
67636         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
67637         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
67638         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
67639         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
67640         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
67641         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
67642         * modules/unictype/bidicategory-byname-tests: Likewise.
67643         * modules/unictype/bidicategory-name-tests: Likewise.
67644         * modules/unictype/bidicategory-of-tests: Likewise.
67645         * modules/unictype/bidicategory-test-tests: Likewise.
67646         * modules/unictype/block-list-tests: Likewise.
67647         * modules/unictype/block-of-tests: Likewise.
67648         * modules/unictype/block-test-tests: Likewise.
67649         * modules/unictype/category-C-tests: Likewise.
67650         * modules/unictype/category-Cc-tests: Likewise.
67651         * modules/unictype/category-Cf-tests: Likewise.
67652         * modules/unictype/category-Cn-tests: Likewise.
67653         * modules/unictype/category-Co-tests: Likewise.
67654         * modules/unictype/category-Cs-tests: Likewise.
67655         * modules/unictype/category-L-tests: Likewise.
67656         * modules/unictype/category-Ll-tests: Likewise.
67657         * modules/unictype/category-Lm-tests: Likewise.
67658         * modules/unictype/category-Lo-tests: Likewise.
67659         * modules/unictype/category-Lt-tests: Likewise.
67660         * modules/unictype/category-Lu-tests: Likewise.
67661         * modules/unictype/category-M-tests: Likewise.
67662         * modules/unictype/category-Mc-tests: Likewise.
67663         * modules/unictype/category-Me-tests: Likewise.
67664         * modules/unictype/category-Mn-tests: Likewise.
67665         * modules/unictype/category-N-tests: Likewise.
67666         * modules/unictype/category-Nd-tests: Likewise.
67667         * modules/unictype/category-Nl-tests: Likewise.
67668         * modules/unictype/category-No-tests: Likewise.
67669         * modules/unictype/category-P-tests: Likewise.
67670         * modules/unictype/category-Pc-tests: Likewise.
67671         * modules/unictype/category-Pd-tests: Likewise.
67672         * modules/unictype/category-Pe-tests: Likewise.
67673         * modules/unictype/category-Pf-tests: Likewise.
67674         * modules/unictype/category-Pi-tests: Likewise.
67675         * modules/unictype/category-Po-tests: Likewise.
67676         * modules/unictype/category-Ps-tests: Likewise.
67677         * modules/unictype/category-S-tests: Likewise.
67678         * modules/unictype/category-Sc-tests: Likewise.
67679         * modules/unictype/category-Sk-tests: Likewise.
67680         * modules/unictype/category-Sm-tests: Likewise.
67681         * modules/unictype/category-So-tests: Likewise.
67682         * modules/unictype/category-Z-tests: Likewise.
67683         * modules/unictype/category-Zl-tests: Likewise.
67684         * modules/unictype/category-Zp-tests: Likewise.
67685         * modules/unictype/category-Zs-tests: Likewise.
67686         * modules/unictype/category-and-not-tests: Likewise.
67687         * modules/unictype/category-and-tests: Likewise.
67688         * modules/unictype/category-byname-tests: Likewise.
67689         * modules/unictype/category-name-tests: Likewise.
67690         * modules/unictype/category-none-tests: Likewise.
67691         * modules/unictype/category-of-tests: Likewise.
67692         * modules/unictype/category-or-tests: Likewise.
67693         * modules/unictype/category-test-withtable-tests: Likewise.
67694         * modules/unictype/combining-class-tests: Likewise.
67695         * modules/unictype/ctype-alnum-tests: Likewise.
67696         * modules/unictype/ctype-alpha-tests: Likewise.
67697         * modules/unictype/ctype-blank-tests: Likewise.
67698         * modules/unictype/ctype-cntrl-tests: Likewise.
67699         * modules/unictype/ctype-digit-tests: Likewise.
67700         * modules/unictype/ctype-graph-tests: Likewise.
67701         * modules/unictype/ctype-lower-tests: Likewise.
67702         * modules/unictype/ctype-print-tests: Likewise.
67703         * modules/unictype/ctype-punct-tests: Likewise.
67704         * modules/unictype/ctype-space-tests: Likewise.
67705         * modules/unictype/ctype-upper-tests: Likewise.
67706         * modules/unictype/ctype-xdigit-tests: Likewise.
67707         * modules/unictype/decimal-digit-tests: Likewise.
67708         * modules/unictype/digit-tests: Likewise.
67709         * modules/unictype/mirror-tests: Likewise.
67710         * modules/unictype/numeric-tests: Likewise.
67711         * modules/unictype/property-alphabetic-tests: Likewise.
67712         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
67713         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
67714         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
67715         * modules/unictype/property-bidi-block-separator-tests: Likewise.
67716         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
67717         * modules/unictype/property-bidi-common-separator-tests: Likewise.
67718         * modules/unictype/property-bidi-control-tests: Likewise.
67719         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
67720         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
67721         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
67722         * modules/unictype/property-bidi-european-digit-tests: Likewise.
67723         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
67724         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
67725         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
67726         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
67727         * modules/unictype/property-bidi-pdf-tests: Likewise.
67728         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
67729         * modules/unictype/property-bidi-whitespace-tests: Likewise.
67730         * modules/unictype/property-byname-tests: Likewise.
67731         * modules/unictype/property-combining-tests: Likewise.
67732         * modules/unictype/property-composite-tests: Likewise.
67733         * modules/unictype/property-currency-symbol-tests: Likewise.
67734         * modules/unictype/property-dash-tests: Likewise.
67735         * modules/unictype/property-decimal-digit-tests: Likewise.
67736         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
67737         * modules/unictype/property-deprecated-tests: Likewise.
67738         * modules/unictype/property-diacritic-tests: Likewise.
67739         * modules/unictype/property-extender-tests: Likewise.
67740         * modules/unictype/property-format-control-tests: Likewise.
67741         * modules/unictype/property-grapheme-base-tests: Likewise.
67742         * modules/unictype/property-grapheme-extend-tests: Likewise.
67743         * modules/unictype/property-grapheme-link-tests: Likewise.
67744         * modules/unictype/property-hex-digit-tests: Likewise.
67745         * modules/unictype/property-hyphen-tests: Likewise.
67746         * modules/unictype/property-id-continue-tests: Likewise.
67747         * modules/unictype/property-id-start-tests: Likewise.
67748         * modules/unictype/property-ideographic-tests: Likewise.
67749         * modules/unictype/property-ids-binary-operator-tests: Likewise.
67750         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
67751         * modules/unictype/property-ignorable-control-tests: Likewise.
67752         * modules/unictype/property-iso-control-tests: Likewise.
67753         * modules/unictype/property-join-control-tests: Likewise.
67754         * modules/unictype/property-left-of-pair-tests: Likewise.
67755         * modules/unictype/property-line-separator-tests: Likewise.
67756         * modules/unictype/property-logical-order-exception-tests: Likewise.
67757         * modules/unictype/property-lowercase-tests: Likewise.
67758         * modules/unictype/property-math-tests: Likewise.
67759         * modules/unictype/property-non-break-tests: Likewise.
67760         * modules/unictype/property-not-a-character-tests: Likewise.
67761         * modules/unictype/property-numeric-tests: Likewise.
67762         * modules/unictype/property-other-alphabetic-tests: Likewise.
67763         * modules/unictype/property-other-default-ignorable-code-point-tests:
67764         Likewise.
67765         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
67766         * modules/unictype/property-other-id-continue-tests: Likewise.
67767         * modules/unictype/property-other-id-start-tests: Likewise.
67768         * modules/unictype/property-other-lowercase-tests: Likewise.
67769         * modules/unictype/property-other-math-tests: Likewise.
67770         * modules/unictype/property-other-uppercase-tests: Likewise.
67771         * modules/unictype/property-paired-punctuation-tests: Likewise.
67772         * modules/unictype/property-paragraph-separator-tests: Likewise.
67773         * modules/unictype/property-pattern-syntax-tests: Likewise.
67774         * modules/unictype/property-pattern-white-space-tests: Likewise.
67775         * modules/unictype/property-private-use-tests: Likewise.
67776         * modules/unictype/property-punctuation-tests: Likewise.
67777         * modules/unictype/property-quotation-mark-tests: Likewise.
67778         * modules/unictype/property-radical-tests: Likewise.
67779         * modules/unictype/property-sentence-terminal-tests: Likewise.
67780         * modules/unictype/property-soft-dotted-tests: Likewise.
67781         * modules/unictype/property-space-tests: Likewise.
67782         * modules/unictype/property-terminal-punctuation-tests: Likewise.
67783         * modules/unictype/property-test-tests: Likewise.
67784         * modules/unictype/property-titlecase-tests: Likewise.
67785         * modules/unictype/property-unassigned-code-value-tests: Likewise.
67786         * modules/unictype/property-unified-ideograph-tests: Likewise.
67787         * modules/unictype/property-uppercase-tests: Likewise.
67788         * modules/unictype/property-variation-selector-tests: Likewise.
67789         * modules/unictype/property-white-space-tests: Likewise.
67790         * modules/unictype/property-xid-continue-tests: Likewise.
67791         * modules/unictype/property-xid-start-tests: Likewise.
67792         * modules/unictype/property-zero-width-tests: Likewise.
67793         * modules/unictype/scripts-tests: Likewise.
67794         * modules/unictype/syntax-c-ident-tests: Likewise.
67795         * modules/unictype/syntax-c-whitespace-tests: Likewise.
67796         * modules/unictype/syntax-java-ident-tests: Likewise.
67797         * modules/unictype/syntax-java-whitespace-tests: Likewise.
67798         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
67799         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
67800         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
67801         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
67802         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
67803         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
67804         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
67805         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
67806         * modules/uniname/uniname-tests: Likewise.
67807         * modules/uninorm/canonical-decomposition-tests: Likewise.
67808         * modules/uninorm/compat-decomposition-tests: Likewise.
67809         * modules/uninorm/composition-tests: Likewise.
67810         * modules/uninorm/decomposing-form-tests: Likewise.
67811         * modules/uninorm/decomposition-tests: Likewise.
67812         * modules/uninorm/filter-tests: Likewise.
67813         * modules/uninorm/nfc-tests: Likewise.
67814         * modules/uninorm/nfd-tests: Likewise.
67815         * modules/uninorm/nfkc-tests: Likewise.
67816         * modules/uninorm/nfkd-tests: Likewise.
67817         * modules/uninorm/u8-normcmp-tests: Likewise.
67818         * modules/uninorm/u8-normcoll-tests: Likewise.
67819         * modules/uninorm/u16-normcmp-tests: Likewise.
67820         * modules/uninorm/u16-normcoll-tests: Likewise.
67821         * modules/uninorm/u32-normcmp-tests: Likewise.
67822         * modules/uninorm/u32-normcoll-tests: Likewise.
67823         * modules/unistdio/u8-asnprintf-tests: Likewise.
67824         * modules/unistdio/u8-vasnprintf-tests: Likewise.
67825         * modules/unistdio/u8-vasprintf-tests: Likewise.
67826         * modules/unistdio/u8-vsnprintf-tests: Likewise.
67827         * modules/unistdio/u8-vsprintf-tests: Likewise.
67828         * modules/unistdio/u16-asnprintf-tests: Likewise.
67829         * modules/unistdio/u16-vasnprintf-tests: Likewise.
67830         * modules/unistdio/u16-vasprintf-tests: Likewise.
67831         * modules/unistdio/u16-vsnprintf-tests: Likewise.
67832         * modules/unistdio/u16-vsprintf-tests: Likewise.
67833         * modules/unistdio/u32-asnprintf-tests: Likewise.
67834         * modules/unistdio/u32-vasnprintf-tests: Likewise.
67835         * modules/unistdio/u32-vasprintf-tests: Likewise.
67836         * modules/unistdio/u32-vsnprintf-tests: Likewise.
67837         * modules/unistdio/u32-vsprintf-tests: Likewise.
67838         * modules/unistdio/ulc-asnprintf-tests: Likewise.
67839         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
67840         * modules/unistdio/ulc-vasprintf-tests: Likewise.
67841         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
67842         * modules/unistdio/ulc-vsprintf-tests: Likewise.
67843         * modules/unistr/u8-check-tests: Likewise.
67844         * modules/unistr/u8-chr-tests: Likewise.
67845         * modules/unistr/u8-cmp-tests: Likewise.
67846         * modules/unistr/u8-cmp2-tests: Likewise.
67847         * modules/unistr/u8-cpy-alloc-tests: Likewise.
67848         * modules/unistr/u8-cpy-tests: Likewise.
67849         * modules/unistr/u8-mblen-tests: Likewise.
67850         * modules/unistr/u8-mbsnlen-tests: Likewise.
67851         * modules/unistr/u8-mbtouc-tests: Likewise.
67852         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
67853         * modules/unistr/u8-mbtoucr-tests: Likewise.
67854         * modules/unistr/u8-move-tests: Likewise.
67855         * modules/unistr/u8-next-tests: Likewise.
67856         * modules/unistr/u8-prev-tests: Likewise.
67857         * modules/unistr/u8-set-tests: Likewise.
67858         * modules/unistr/u8-stpcpy-tests: Likewise.
67859         * modules/unistr/u8-stpncpy-tests: Likewise.
67860         * modules/unistr/u8-strcat-tests: Likewise.
67861         * modules/unistr/u8-strcmp-tests: Likewise.
67862         * modules/unistr/u8-strcoll-tests: Likewise.
67863         * modules/unistr/u8-strcpy-tests: Likewise.
67864         * modules/unistr/u8-strdup-tests: Likewise.
67865         * modules/unistr/u8-strlen-tests: Likewise.
67866         * modules/unistr/u8-strmblen-tests: Likewise.
67867         * modules/unistr/u8-strmbtouc-tests: Likewise.
67868         * modules/unistr/u8-strncat-tests: Likewise.
67869         * modules/unistr/u8-strncmp-tests: Likewise.
67870         * modules/unistr/u8-strncpy-tests: Likewise.
67871         * modules/unistr/u8-strnlen-tests: Likewise.
67872         * modules/unistr/u8-to-u16-tests: Likewise.
67873         * modules/unistr/u8-to-u32-tests: Likewise.
67874         * modules/unistr/u8-uctomb-tests: Likewise.
67875         * modules/unistr/u16-check-tests: Likewise.
67876         * modules/unistr/u16-chr-tests: Likewise.
67877         * modules/unistr/u16-cmp-tests: Likewise.
67878         * modules/unistr/u16-cmp2-tests: Likewise.
67879         * modules/unistr/u16-cpy-alloc-tests: Likewise.
67880         * modules/unistr/u16-cpy-tests: Likewise.
67881         * modules/unistr/u16-mblen-tests: Likewise.
67882         * modules/unistr/u16-mbsnlen-tests: Likewise.
67883         * modules/unistr/u16-mbtouc-tests: Likewise.
67884         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
67885         * modules/unistr/u16-mbtoucr-tests: Likewise.
67886         * modules/unistr/u16-move-tests: Likewise.
67887         * modules/unistr/u16-next-tests: Likewise.
67888         * modules/unistr/u16-prev-tests: Likewise.
67889         * modules/unistr/u16-set-tests: Likewise.
67890         * modules/unistr/u16-stpcpy-tests: Likewise.
67891         * modules/unistr/u16-stpncpy-tests: Likewise.
67892         * modules/unistr/u16-strcat-tests: Likewise.
67893         * modules/unistr/u16-strcmp-tests: Likewise.
67894         * modules/unistr/u16-strcoll-tests: Likewise.
67895         * modules/unistr/u16-strcpy-tests: Likewise.
67896         * modules/unistr/u16-strdup-tests: Likewise.
67897         * modules/unistr/u16-strlen-tests: Likewise.
67898         * modules/unistr/u16-strmblen-tests: Likewise.
67899         * modules/unistr/u16-strmbtouc-tests: Likewise.
67900         * modules/unistr/u16-strncat-tests: Likewise.
67901         * modules/unistr/u16-strncmp-tests: Likewise.
67902         * modules/unistr/u16-strncpy-tests: Likewise.
67903         * modules/unistr/u16-strnlen-tests: Likewise.
67904         * modules/unistr/u16-to-u32-tests: Likewise.
67905         * modules/unistr/u16-to-u8-tests: Likewise.
67906         * modules/unistr/u16-uctomb-tests: Likewise.
67907         * modules/unistr/u32-check-tests: Likewise.
67908         * modules/unistr/u32-chr-tests: Likewise.
67909         * modules/unistr/u32-cmp-tests: Likewise.
67910         * modules/unistr/u32-cmp2-tests: Likewise.
67911         * modules/unistr/u32-cpy-alloc-tests: Likewise.
67912         * modules/unistr/u32-cpy-tests: Likewise.
67913         * modules/unistr/u32-mblen-tests: Likewise.
67914         * modules/unistr/u32-mbsnlen-tests: Likewise.
67915         * modules/unistr/u32-mbtouc-tests: Likewise.
67916         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
67917         * modules/unistr/u32-mbtoucr-tests: Likewise.
67918         * modules/unistr/u32-move-tests: Likewise.
67919         * modules/unistr/u32-next-tests: Likewise.
67920         * modules/unistr/u32-prev-tests: Likewise.
67921         * modules/unistr/u32-set-tests: Likewise.
67922         * modules/unistr/u32-stpcpy-tests: Likewise.
67923         * modules/unistr/u32-stpncpy-tests: Likewise.
67924         * modules/unistr/u32-strcat-tests: Likewise.
67925         * modules/unistr/u32-strcmp-tests: Likewise.
67926         * modules/unistr/u32-strcoll-tests: Likewise.
67927         * modules/unistr/u32-strcpy-tests: Likewise.
67928         * modules/unistr/u32-strdup-tests: Likewise.
67929         * modules/unistr/u32-strlen-tests: Likewise.
67930         * modules/unistr/u32-strmblen-tests: Likewise.
67931         * modules/unistr/u32-strmbtouc-tests: Likewise.
67932         * modules/unistr/u32-strncat-tests: Likewise.
67933         * modules/unistr/u32-strncmp-tests: Likewise.
67934         * modules/unistr/u32-strncpy-tests: Likewise.
67935         * modules/unistr/u32-strnlen-tests: Likewise.
67936         * modules/unistr/u32-to-u16-tests: Likewise.
67937         * modules/unistr/u32-to-u8-tests: Likewise.
67938         * modules/unistr/u32-uctomb-tests: Likewise.
67939         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
67940         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
67941         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
67942         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
67943         * modules/uniwidth/u8-strwidth-tests: Likewise.
67944         * modules/uniwidth/u8-width-tests: Likewise.
67945         * modules/uniwidth/u16-strwidth-tests: Likewise.
67946         * modules/uniwidth/u16-width-tests: Likewise.
67947         * modules/uniwidth/u32-strwidth-tests: Likewise.
67948         * modules/uniwidth/u32-width-tests: Likewise.
67949         * modules/uniwidth/width-tests: Likewise.
67951 2010-05-18  Richard Jones  <rjones@redhat.com>
67953         doc: users.txt: list hivex
67954         * users.txt: Add hivex.
67956 2010-05-18  Richard Jones  <rjones@redhat.com>
67958         doc: users.txt: list febootstrap
67959         * users.txt: Add febootstrap.
67961 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
67963         bootstrap: fix an error when gnulib is not used as a git submodule
67964         * build-aux/bootstrap (gnulib_path): If its length is zero then
67965         assign "gnulib" to it.
67966         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
67968 2010-05-16  Bruno Haible  <bruno@clisp.org>
67970         Avoid autoconf warnings about AM_ICONV.
67971         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
67972         2.64.
67974 2010-05-16  Bruno Haible  <bruno@clisp.org>
67976         absolute-header: Make the macro usable in more situations.
67977         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
67978         from gl_ABSOLUTE_HEADER.
67979         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
67981 2010-05-16  James Youngman  <jay@gnu.org>
67983         doc: update users.txt
67984         * users.txt: Add CSSC.
67986 2010-05-16  Jim Meyering  <meyering@redhat.com>
67988         init.sh: fix an error in the previous change; add more comments
67989         * tests/init.sh: Compare exit code in loop against 9, not 2.
67990         Patch by Bruno Haible.
67991         Make the two tests more similar by adding an empty "then" clause.
67992         Add comments.
67994         init.sh: avoid unnecessary shell re-exec
67995         * tests/init.sh: Improve the re-exec-required check to first test the
67996         current shell.  If it passes the test, do not search for a shell that
67997         does pass, and do not re-exec.  This test is particularly contorted to
67998         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
67999         of $(...) evokes a syntax error and causes immediate shell exit with
68000         status 2.  Bruno Haible reported that the re-exec made it impossible
68001         to single-step through any init.sh-using script.
68003 2010-05-16  Bruno Haible  <bruno@clisp.org>
68005         Fix collision between gnulib's and libintl's printf replacements.
68006         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
68007         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
68008         (printf): When using GNU C, map the __printf__ function to rpl_printf
68009         via __asm__. When not using GNU C, define rpl_printf instead of
68010         __printf__.
68011         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
68012         commit.
68013         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
68014         commit.
68015         * m4/asm-underscore.m4: New file.
68016         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
68017         * modules/stdio (Files): Add m4/asm-underscore.m4.
68018         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
68019         Reported by Ben Pfaff.
68021 2010-05-16  Bruno Haible  <bruno@clisp.org>
68023         verify: Avoid skipping the test on openSUSE 11.0.
68024         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
68026 2010-05-13  Bruno Haible  <bruno@clisp.org>
68028         Avoid useless warnings from G++.
68029         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
68030         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
68031         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68033 2010-05-11  Jim Meyering  <meyering@redhat.com>
68035         maint.mk: tweak preceding change
68036         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
68037         regexps tighter by anchoring at EOL, and make the new group "shy"
68038         for slightly decreased overhead.
68040 2010-05-11  Eric Blake  <eblake@redhat.com>
68042         maint.mk: gnulib doesn't guarantee NSIG
68043         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
68045 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68047         test-pwrite.c: Remove unused variable declaration.
68048         * tests/test-pwrite.c (main): Remove read_buf declaration.
68050         Remove useless test-pwrite.sh file.
68051         * tests/test-pwrite.sh: Delete file.
68052         * modules/pwrite-tests: Remove references.
68053         Reported by Bruno Haible.
68055 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68057         init.sh: fix a typo
68058         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
68060 2010-05-10  Jim Meyering  <meyering@redhat.com>
68062         maint.mk: avoid using a temporary file in the always-defined-macros check
68063         * top/maint.mk (.re-defmac): Remove rule.
68064         (gl_trap_): Remove definition.
68065         (sc_prohibit_always-defined_macros): Rewrite not to create and
68066         depend on a temporary file.  Instead, depend on GNU grep's ability
68067         to read a list of regular expressions from stdin when given "-f -".
68069 2010-05-09  Bruno Haible  <bruno@clisp.org>
68071         Update to GNU gettext 0.18, part 1.
68072         * m4/gettext.m4: Update to GNU gettext 0.18.
68073         * m4/intl.m4: Likewise.
68074         * m4/po.m4: Likewise.
68075         * modules/gettext (Files): Add m4/fcntl-o.m4.
68076         (configure.ac): Require gettext infrastructure from version 0.18.
68078 2010-05-09  Jim Meyering  <meyering@redhat.com>
68080         init.sh: enable MALLOC_PERTURB_
68081         * tests/init.sh: Enable glibc's malloc-perturbing option.
68083         maint.mk: improve sc_cross_check_PATH_usage_in_tests
68084         With my recent change in init.sh from the two-line form:
68085             -#   : ${srcdir=.}
68086             -#   . "$srcdir/init.sh"; path_prepend_ .
68087             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
68088         I noticed that using the one-line form would cause this test
68089         to fail with a false-positive, or to stop working altogether,
68090         depending on whether help-version changed or all the tests did.
68091         * top/maint.mk (_hv_regex): Remove this definition.
68092         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
68093         (_hv_regex_strong): Use a stronger regex to check for conformance.
68094         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
68095         Give a separate diagnostic for lack of conforming use.
68097         maint.mk: prohibit definition of symbols defined by gnulib
68098         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
68099         definition of symbols defined by gnulib.
68101 2010-05-09  Bruno Haible  <bruno@clisp.org>
68103         acl: Avoid test failure on Cygwin-hosted mingw.
68104         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
68106 2010-05-09  Bruno Haible  <bruno@clisp.org>
68108         error: Use system's fcntl function.
68109         * lib/error.c (fcntl): Undefine.
68111 2010-05-09  Jim Meyering  <meyering@redhat.com>
68113         verify: adjust formatting to be more consistent
68114         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
68115         argument-list '('s, and after one comma.
68117 2010-05-09  Bruno Haible  <bruno@clisp.org>
68119         error: More reliable output on mingw.
68120         * lib/error.c: Include <windows.h>.
68121         (is_open): New function.
68122         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
68123         defined.
68125 2010-05-09  Bruno Haible  <bruno@clisp.org>
68127         vasnprintf: Fix syntax errors in libintl build on mingw.
68128         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
68129         pad_ourselves and prec_ourselves after use.
68131 2010-05-08  Bruno Haible  <bruno@clisp.org>
68133         * lib/config.charset: Update comments for Cygwin 1.7.
68134         * lib/localcharset.c: Likewise.
68136 2010-05-07  Jim Meyering  <meyering@redhat.com>
68138         init.sh: improve comments
68139         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
68140         . "${srcdir=.}/init.sh"; path_prepend_ .
68141         Add a note about path_prepend_ and the alternative of using
68142         TESTS_ENVIRONMENT.
68144 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
68146         exclude: Unescape hashed patterns in wildcard mode.
68147         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
68148         to the hash list.
68149         * tests/test-exclude8.sh: New test case.
68150         * modules/exclude-tests: Add new test.
68152 2010-05-05  Eric Blake  <eblake@redhat.com>
68154         verify: automate tests
68155         * modules/verify-tests: New module.
68156         * tests/test-verify.sh: New file.
68157         * tests/test-verify.c: Guard each negative test with a unique id.
68158         Also avoid warning about unused left hand of comma expressions.
68160 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68162         Further improvements to verify.h, suggested by Eric Blake.
68163         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
68164         the GL_* versions, to avoid collision with OpenGL.
68165         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
68166         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
68167         than testing merely whether it's defined.
68169         Modify verify.h to pacify gcc -Wredundant_decls.
68170         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
68171         These use the prefix "GL_" since they're likely to be useful elsewhere.
68172         We may need to break them out into a different .h file.
68173         (__COUNTER__): Define to 0 if the compiler doesn't support it.
68174         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
68175         of verify_function__.
68177 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68179         Tests for module pwrite.
68180         * modules/pwrite-tests: New file.
68181         * tests/test-pwrite.sh: New file.
68182         * tests/test-pwrite.c: New file.
68184         New module pwrite.
68185         * lib/unistd.in.h (pwrite): New declaration.
68186         * lib/pwrite.c: New file, from glibc with modifications.
68187         * m4/pwrite.m4: New file.
68188         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
68189         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
68190         REPLACE_PWRITE.
68191         * modules/pwrite: New file.
68192         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
68193         REPLACE_PWRITE.
68194         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
68195         * doc/posix-functions/pwrite.texi: Mention the new module.
68197 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68199         pread: Update documentation.
68200         * doc/posix-functions/pread.texi: Mention the 'pread' module.
68202 2010-05-04  Eric Blake  <eblake@redhat.com>
68204         docs: update cygwin progress
68205         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
68206         this bug.
68207         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
68208         Added in cygwin 1.7.2.
68209         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
68210         Likewise.
68211         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
68212         Likewise.
68213         * doc/glibc-functions/dup3.texi (dup3): Likewise.
68214         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
68215         * doc/glibc-functions/accept4.texi (accept4): Likewise.
68216         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
68217         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
68218         Mention nproc module.
68219         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
68220         bug in cygwin 1.7.5 addition.
68221         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
68222         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
68223         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
68224         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
68225         1.7.5.
68226         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
68227         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
68228         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
68229         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
68230         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
68231         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
68232         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
68233         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
68234         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
68235         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
68236         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
68237         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
68238         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
68239         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
68240         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
68241         Likewise.
68242         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
68243         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
68244         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
68245         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
68246         Likewise.
68247         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
68248         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
68249         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
68250         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
68251         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
68252         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
68253         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
68254         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
68255         Likewise.
68256         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
68257         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
68258         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
68259         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
68260         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
68261         Likewise.
68262         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
68263         Likewise.
68264         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
68265         Likewise.
68266         * doc/glibc-functions/xdrrec_endofrecord.texi
68267         (xdrrec_endofrecord): Likewise.
68268         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
68269         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
68270         Likewise.
68271         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
68272         Likewise.
68274 2010-05-04  Jim Meyering  <meyering@redhat.com>
68276         gendocs.sh: make its "-s FILE" option more useful
68277         * build-aux/gendocs.sh: When honoring the -s FILE option, update
68278         $PACKAGE to reflect the probably-different basename of "FILE".
68280 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
68282         bootstrap: don't ignore download_po_files failure
68283         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
68284         failure.
68286 2010-05-03  Jim Meyering  <meyering@redhat.com>
68288         maint.mk: allow to pass options to gendocs.sh
68289         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
68290         (gendocs_options_): New overridable variable.
68292         gnu-web-doc-update: don't ignore configure or build failure
68293         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
68295         announce-gen: backslash-escape '@'s in --help output
68296         * build-aux/announce-gen: Fix syntax errors.
68298         maint.mk, announce-gen: allow project-specific announcement mail headers
68299         * top/maint.mk (translation_project_): Define default.
68300         (announcement_Cc_, announcement_mail_headers_): Likewise.
68301         (announcement): Invoke announce-gen with new --mail-headers option.
68302         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
68304         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
68305         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
68306         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
68307         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
68308         line in the "err2" output file when running "make check" in verbose
68309         mode (i.e., with set -x enabled).
68311 2010-05-03  Bruno Haible  <bruno@clisp.org>
68313         wctob: Fix for weird platforms.
68314         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
68315         argument value.
68317 2010-05-03  Jim Meyering  <meyering@redhat.com>
68319         maint.mk: prohibit unwarranted use of <strings.h>
68320         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
68321         strings.h in a file that does not also use strcasecmp, strncasecmp,
68322         ffs or ffsll.
68324         maint.mk: remove obsolete comments
68325         * top/maint.mk: Remove stale, commented-out rules.
68327 2010-05-02  Bruno Haible  <bruno@clisp.org>
68329         wcwidth: Declare also when it's aliased.
68330         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
68331         macro.
68333 2010-05-02  Bruno Haible  <bruno@clisp.org>
68335         Fix regression from 2010-04-25.
68336         * gnulib-tool (func_modules_transitive_closure): Check the status of
68337         all modules, not only of the tests that are of the form foo-tests where
68338         foo is a module.
68340 2010-05-02  Bruno Haible  <bruno@clisp.org>
68342         wctob: Work around nasty Cygwin 1.7.2 bug.
68343         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
68344         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
68346 2010-05-01  Bruno Haible  <bruno@clisp.org>
68348         fpurge: Sharper test.
68349         * tests/test-fpurge.c (main): Add one more ftell check.
68350         * modules/fpurge-tests (Depends-on): Add ftell.
68351         Suggested by Eric Blake.
68353 2010-05-01  Bruno Haible  <bruno@clisp.org>
68355         ftello: Another test.
68356         * tests/test-ftello3.c: New file.
68357         * modules/ftello-tests (Files): Add it.
68358         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68359         MOSTLYCLEANFILES.
68361         ftell: Another test.
68362         * tests/test-ftell3.c: New file.
68363         * modules/ftell-tests (Files): Add it.
68364         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68365         MOSTLYCLEANFILES.
68367 2010-05-01  Bruno Haible  <bruno@clisp.org>
68369         ftell, ftello: Work around Solaris bug.
68370         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
68371         * lib/ftello.c: Include stdio-impl.h.
68372         (ftello): On Solaris, when _IOWRT is set, compute the result without
68373         looking at _IOREAD.
68374         * modules/ftello (Files): Add lib/stdio-impl.h.
68375         * doc/posix-functions/ftell.texi: Mention Solaris bug.
68376         * doc/posix-functions/ftello.texi: Likewise.
68377         Reported by Eric Blake.
68379 2010-05-01  Bruno Haible  <bruno@clisp.org>
68381         freading: Adapt to special meaning of _IOREAD flag on Solaris.
68382         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
68383         the _IOWRT flag is also set.
68385 2010-05-01  Bruno Haible  <bruno@clisp.org>
68387         Fix doc about a HP-UX stdio bug.
68388         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
68389         * doc/posix-functions/ftello.texi: Likewise.
68391 2010-05-01  Bruno Haible  <bruno@clisp.org>
68393         lseek test: Fix failure on Solaris.
68394         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
68395         output.
68397 2010-04-30  Jim Meyering  <meyering@redhat.com>
68399         bootstrap: don't ignore failure to generate po*/Makevars
68400         * build-aux/bootstrap (with_gettext): Don't ignore failure
68401         to create po/Makevars or runtime-po/Makevars.
68403 2010-04-29  Eric Blake  <eblake@redhat.com>
68405         headers: relax license to LGPLv2+
68406         * modules/fcntl-h (License): Relax license.
68407         * modules/getopt-posix (License): Likewise.
68408         * modules/locale (License): Likewise.
68409         * modules/math (License): Likewise.
68410         * modules/pty (License): Likewise.
68411         * modules/sched (License): Likewise.
68412         * modules/search (License): Likewise.
68413         * modules/spawn (License): Likewise.
68414         * modules/stdarg (License): Likewise.
68415         * modules/sysexits (License): Likewise.
68417 2010-04-29  Jim Meyering  <meyering@redhat.com>
68419         inttypes: relax license to LGPLv2+
68420         * modules/inttypes (License): Relax license.
68422 2010-04-29  Simon Josefsson  <simon@josefsson.org>
68424         * top/maint.mk (indent): Run twice to produce idempotent results.
68426 2010-04-28  Bruno Haible  <bruno@clisp.org>
68428         getdate: Generate getdate.c in the source directory.
68429         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
68430         MOSTLYCLEANFILES.
68431         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
68433 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
68435         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
68436         is not declared as a const *; avoid warnings in that case.
68438 2010-04-28  Eric Blake  <eblake@redhat.com>
68440         canonicalize-lgpl: avoid compiler warning
68441         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
68442         declaration' / 'extraneous semicolon' warning with some compilers.
68443         Reported by Andreas Gruenbacher.
68445 2010-04-28  Jim Meyering  <meyering@redhat.com>
68447         init.sh: ensure a more reliable exit status when exiting via trap
68448         * tests/init.sh (setup_): Don't rely on $? in signal handler.
68449         Inspired by patches from Dmitry V. Levin.
68450         Also trap on signal 3 (SIGQUIT).
68452 2010-04-27  Bruno Haible  <bruno@clisp.org>
68454         Update doc about utimes().
68455         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
68456         'utimens' module.
68457         Reported by Andreas Gruenbacher <agruen@suse.de>.
68459 2010-04-27  Eric Blake  <eblake@redhat.com>
68461         full-read, full-write: relax license
68462         * modules/full-read (License): Drop to LGPLv2+.
68463         * modules/full-write (License): Likewise.
68464         * modules/safe-read (License): Likewise.
68465         * modules/safe-write (License): Likewise.
68467         pthread: mention library for linking
68468         * modules/pthread (Link): Mention $(LIB_PTHREAD).
68470 2010-04-27  Jim Meyering  <meyering@redhat.com>
68472         maint.mk: fix a bug introduced in last change
68473         * top/maint.mk (gl_assured_headers_): Now that all names are on
68474         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
68475         is not anchored to end of word, it should be adequate.
68477         maint.mk: avoid side-effect in latest syntax-check
68478         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
68479         to run commands via $(shell...), and hence to incur cost only when
68480         the new rule is actually run.
68482         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
68483         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
68484         and use that to create a regexp used to detect all #if HAVE_..._H uses.
68485         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
68486         (gl_assured_headers_, az_, AZ_): Define.
68487         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
68489 2010-04-26  Jim Meyering  <jim@meyering.net>
68490             Bruno Haible  <bruno@clisp.org>
68492         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
68493         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
68494         Prompted by an exchange with Gilles Espinasse.
68496 2010-04-26  Jim Meyering  <meyering@redhat.com>
68498         git-version-gen: aesthetic tweak
68499         * build-aux/git-version-gen: Use "$nl" rather than a literal,
68500         so that the command remains on a single line.
68502 2010-04-26  Eric Blake  <eblake@redhat.com>
68504         git-version-gen: allow use on EBCDIC hosts
68505         * build-aux/git-version-gen (dirty): Use literal rather than tying
68506         ourselves to ascii.
68507         Reported by Steve Goetze.
68509 2010-04-25  Bruno Haible  <bruno@clisp.org>
68511         netdb: Add support for GNULIB_POSIXCHECK.
68512         * lib/netdb.in.h: Include warn-on-use.h.
68513         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
68514         functions are used when GNULIB_POSIXCHECK is defined and the
68515         getaddrinfo module is not in use.
68516         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
68517         freeaddrinfo, gai_strerror, getnameinfo are declared.
68518         * modules/netdb (Depends-on): Add warn-on-use.
68519         (Makefile.am): Include warn-on-use.h in netdb.h.
68521 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
68523         build: avoid "make check" failure without .git/ directory
68524         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
68525         there is no .git/ directory.
68527 2010-04-25  Bruno Haible  <bruno@clisp.org>
68529         ptsname: Fix misuse of ttyname_r.
68530         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
68531         of errno.
68533 2010-04-25  Bruno Haible  <bruno@clisp.org>
68535         ttyname_r: Make it work on Solaris 10.
68536         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
68537         if the system function has the POSIX declaration. Test whether the
68538         function fails if the buffer is less than 128 bytes large.
68539         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
68540         system's ttyname_r function. Provide a reasonably large buffer.
68541         * modules/ttyname_r (Depends-on): Add extensions.
68542         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
68544 2010-04-25  Bruno Haible  <bruno@clisp.org>
68546         Use the 'extensions' module for some more functions on Solaris.
68547         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
68548         module.
68549         * doc/posix-functions/ctime_r.texi: Likewise.
68550         * doc/posix-functions/getgrgid_r.texi: Likewise.
68551         * doc/posix-functions/getgrnam_r.texi: Likewise.
68552         * doc/posix-functions/getpwnam_r.texi: Likewise.
68553         * doc/posix-functions/getpwuid_r.texi: Likewise.
68554         * doc/posix-functions/readdir_r.texi: Likewise.
68555         * doc/posix-functions/sigwait.texi: Likewise.
68556         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
68557         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
68559 2010-04-25  Bruno Haible  <bruno@clisp.org>
68561         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
68562         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
68563         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
68564         * lib/ttyname_r.c: Include <limits.h>.
68565         (ttyname_r): Define using the system's ttyname_r function, if it exists
68566         and not on Solaris.
68567         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
68568         set.
68569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
68570         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
68571         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
68572         Reported by Simon Josefsson.
68574 2010-04-25  Bruno Haible  <bruno@clisp.org>
68576         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
68577         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
68578         * doc/posix-functions/ctime_r.texi: Likewise.
68579         * doc/posix-functions/getgrgid_r.texi: Likewise.
68580         * doc/posix-functions/getgrnam_r.texi: Likewise.
68581         * doc/posix-functions/getlogin_r.texi: Likewise.
68582         * doc/posix-functions/getpwnam_r.texi: Likewise.
68583         * doc/posix-functions/getpwuid_r.texi: Likewise.
68584         * doc/posix-functions/readdir_r.texi: Likewise.
68585         * doc/posix-functions/sigwait.texi: Likewise.
68586         * doc/posix-functions/ttyname_r.texi: Likewise.
68587         Reported by Simon Josefsson.
68589 2010-04-25  Bruno Haible  <bruno@clisp.org>
68591         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
68592         * gnulib-tool (func_usage): Document that --with-*-tests options apply
68593         also to --create-testdir.
68594         (func_acceptable): Don't consider the status of *-tests modules here.
68595         (func_modules_transitive_closure): Consider it here, before including a
68596         test module.
68597         (func_import, func_create_testdir): Set inc_all_direct_tests,
68598         inc_all_indirect_tests.
68599         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
68600         --create-testdir and --create-megatestdir.
68602 2010-04-25  Bruno Haible  <bruno@clisp.org>
68604         gnulib-tool: Add --without-*-tests options.
68605         * gnulib-tool (func_usage): Document the --without-*-tests options.
68606         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
68607         excl_unportable_tests): New variables.
68608         Fail if they are specified with --import or --update.
68609         (func_acceptable): Respect the excl_*_tests variables.
68610         (func_import): Set the excl_*_tests variables to empty.
68612 2010-04-25  Simon Josefsson  <simon@josefsson.org>
68613             Bruno Haible  <bruno@clisp.org>
68615         Work around a MacOS X 10.4 bug with openpty.
68616         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
68617         * tests/test-openpty.c (main): Close the master side explicitly.
68619 2010-04-25  Bruno Haible  <bruno@clisp.org>
68621         strnlen: Fix a C++ test error on MacOS X and Solaris.
68622         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
68623         the function is not declared.
68624         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
68625         Simon Josefsson.
68627 2010-04-24  Bruno Haible  <bruno@clisp.org>
68629         Avoid a gcc warning.
68630         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
68631         of correct type for %08lx directive.
68632         Reported by Eric Blake.
68634 2010-04-24  Bruno Haible  <bruno@clisp.org>
68636         vasnprintf: Correct errno value in case of out-of-memory.
68637         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
68638         or sprintf. Use the errno value from SNPRINTF or sprintf.
68639         Reported by Ian Beckwith <ianb@erislabs.net>.
68641 2010-04-24  Bruno Haible  <bruno@clisp.org>
68643         ansi-c++-opt: Find correct compiler when cross-compiling.
68644         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
68645         AC_CHECK_PROGS.
68646         Reported by Simon Josefsson.
68648 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
68650         vc-list-files: Add support for subversion
68651         * build-aux/vc-list-files: Use "svn list" to generate the list of
68652         files controlled by subversion.
68654 2010-04-23  Jim Meyering  <meyering@redhat.com>
68656         vc-list-files tests: convert to use init.sh
68657         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
68658         path_prepend_.
68659         Use Exit, not exit.
68660         Use skip_ rather than open coding it.
68661         Remove trap set-up and compare definitions.
68662         * tests/test-vc-list-files-git.sh: Likewise.
68663         * modules/vc-list-files-tests (Files): Add tests/init.sh.
68665 2010-04-22  Simon Josefsson  <simon@josefsson.org>
68667         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
68668         backup files.
68670 2010-04-21  Simon Josefsson  <simon@josefsson.org>
68672         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
68674 2010-04-20  Eric Blake  <eblake@redhat.com>
68676         tests: be robust to ignored SIGPIPE
68677         * tests/test-select-in.sh: Consume all output.
68678         * tests/test-lseek.sh: Check correct exit status, while avoiding
68679         EPIPE.
68681 2010-04-20  Simon Josefsson  <simon@josefsson.org>
68682             Bruno Haible  <bruno@clisp.org>
68684         visibility: Don't use -fvisibility if it leads to a warning.
68685         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
68686         yes, don't pretend that visibility works if it leads to a warning.
68687         Reported by Mike Gran <spk121@yahoo.com>.
68689 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
68691         * build-aux/bootstrap: Use "git -h" for testing for supported options
68692         instead of "git --help".  The short-form option only shows a summary,
68693         and doesn't layout the full man page.  Grep for the full option name
68694         in the summary, too.
68696 2010-04-19  Bruno Haible  <bruno@clisp.org>
68698         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
68699         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
68700         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
68701         mention of RELOCATABLE_STRIP.
68702         Reported by Sylvain Beucler <beuc@beuc.net>.
68704 2010-04-19  Bruno Haible  <bruno@clisp.org>
68706         * lib/diffseq.h: Fix typo in comment.
68707         Reported by Eric Blake.
68709 2010-04-19  Bruno Haible  <bruno@clisp.org>
68711         ioctl: Move autoconf macro to a .m4 file.
68712         * m4/ioctl.m4: New file, extracted from modules/ioctl.
68713         * modules/ioctl (Files): Add it.
68714         (configure.ac): Simply invoke gl_FUNC_IOCTL.
68715         Reported by Ian Beckwith <ianb@erislabs.net>.
68717 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
68718             Bruno Haible  <bruno@clisp.org>
68720         diffseq: Accommodate use-case with abstract arrays.
68721         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
68722         is not defined.
68723         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
68724         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
68726 2010-04-18  Bruno Haible  <bruno@clisp.org>
68728         * doc/posix-headers/stdbool.texi: More precise wording.
68730 2010-04-17  Jim Meyering  <meyering@redhat.com>
68732         maint.mk: use gnu-style indentation in an embedded perl script
68733         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
68734         Rename variable: s/two/last_two_bytes/
68736 2010-04-16  Eric Blake  <eblake@redhat.com>
68738         test-stdbool: skip test that fails with Solaris CC
68739         * tests/test-stdbool.c (f): Skip test that causes compilation
68740         error under buggy C++ compiler.
68741         * lib/stdbool.in.h: Document the limitation.
68742         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
68744         setenv: allow compilation with C++
68745         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
68746         register keyword.
68748         stdint: allow test to pass with C++
68749         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
68751         getopt: allow compilation with C++
68752         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
68753         struct.
68754         * lib/getopt.c (_getopt_internal_r): Use correct type.
68755         Reported by Dagobert Michelson, via Joel E. Denny.
68757 2010-04-16  Bruno Haible  <bruno@clisp.org>
68759         Override netdb.h always.
68760         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
68761         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
68762         Reported by Ludovic Courtès <ludo@gnu.org>.
68764 2010-04-15  Bruno Haible  <bruno@clisp.org>
68766         openpty: Fix mistake from 2010-03-21.
68767         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
68768         Reported by Simon Josefsson.
68770 2010-04-15  Eric Blake  <eblake@redhat.com>
68772         test-forkpty: fix expected signature
68773         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
68774         Reported by Simon Josefsson.
68776 2010-04-15  Jim Meyering  <meyering@redhat.com>
68778         maint.mk: texinfo_suffix_re_: correct the default regexp
68779         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
68781         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
68782         make it configurable via texinfo_suffix_re_.
68784 2010-04-14  Eric Blake  <eblake@redhat.com>
68786         strtok_r: relax license to LGPLv2+
68787         * modules/strtok_r (License): Relax license.
68788         Reported by Matthias Bolte.
68790 2010-04-14  Simon Josefsson  <simon@josefsson.org>
68792         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
68793         version 1.4.4 by default instead of requiring the libgcrypt
68794         version used during build.  This makes it possible to use the
68795         application with older but still binary compatible libgcrypt
68796         versions.
68798 2010-04-13  Eric Blake  <eblake@redhat.com>
68800         getopt-gnu: match recent glibc fixes and posix ruling
68801         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
68802         '+' handling, when requesting extensions.
68803         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
68804         'W;' handling.
68805         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
68806         * doc/posix-functions/getopt.texi (getopt): Document this.
68807         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68808         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68809         Likewise.
68811         getopt: merge bug fixes from glibc
68812         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
68813         diagnostics.  Honor '+:' correctly.  Reject ';'.
68815         getopt-posix: detect MacOS bug
68816         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
68817         optind when missing a required argument.
68818         * doc/posix-functions/getopt.texi (getopt): Document the bug.
68819         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68820         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68821         Likewise.
68823         getopt-posix: avoid spurious failure on Solaris
68824         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
68825         an indicator that setting optind=1 is sufficient for reset.
68827         getopt-posix: avoid spurious failure on FreeBSD
68828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
68829         in POSIX mode, since the m4 test uses it.
68831         gnulib-tool: silence warning on BSD sh
68832         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
68834 2010-04-13  Jim Meyering  <meyering@redhat.com>
68836         doc: users.txt: GNU patch now uses gnulib
68837         * users.txt: Add patch.
68839 2010-04-12  Jim Meyering  <meyering@redhat.com>
68841         maint.mk: generate more concise timing data for syntax-check rules
68842         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
68843         " done" from each line that reports a syntax-check test duration.
68845 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
68847         git-version-gen: use "git update-index..." rather than "git status"
68848         * build-aux/git-version-gen: Use git update-index --refresh, not
68849         "git status".  With some versions of git, "git status" would fail
68850         to update the index and result in an unwarranted "-dirty" suffix.
68852 2010-04-11  Jim Meyering  <meyering@redhat.com>
68854         openat: correct formatting (no semantic change)
68855         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
68856         Suggested by Bruno Haible.
68858 2010-04-11  Bruno Haible  <bruno@clisp.org>
68860         Stricter declaration checking in testdirs.
68861         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68862         If for_tests is true, augment AM_CPPFLAGS to define
68863         GNULIB_STRICT_CHECKING.
68864         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
68865         GNULIB_STRICT_CHECKING is defined, verify that the function is
68866         declared.
68868 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
68869             Bruno Haible  <bruno@clisp.org>
68871         libunistring: Improve configure output.
68872         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
68873         Don't say "consider installing GNU libunistring" when checking again
68874         with libiconv.
68876 2010-04-11  Bruno Haible  <bruno@clisp.org>
68878         libunistring: Correct value of $LTLIBUNISTRING.
68879         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
68880         correct the value of $LTLIBUNISTRING.
68882 2010-04-11  Bruno Haible  <bruno@clisp.org>
68884         havelib: Add static libraries to LIBS in the right order.
68885         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
68886         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
68888 2010-04-11  Bruno Haible  <bruno@clisp.org>
68890         libunistring: Detect libunistring also when it depends on libiconv.
68891         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
68892         the second AC_LIB_HAVE_LINKFLAGS invocation.
68894 2010-04-11  James Youngman  <jay@gnu.org>
68896         close-stream: declare local scalars to be "const"
68897         * lib/close-stream.c (close_stream): Make boolean variables const
68898         to document the fact that we set but do not change them.
68900 2010-04-11  Bruno Haible  <bruno@clisp.org>
68902         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
68904 2010-04-11  Jim Meyering  <meyering@redhat.com>
68906         maint.mk: don't include dist-check.mk
68907         * top/maint.mk: Remove bogus include directive.
68909         maint.mk: improve empty-line-at-EOF check
68910         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
68911         solution, rather than tail+Perl-based one.  The latter would read
68912         a few kilobytes from the end of each file, and did not handle empty
68913         files properly.
68915         maint.mk: print the elapsed time for each syntax-check rule
68916         * top/maint.mk (sc_m_rules_): Save start time in a file.
68917         (sc_z_rules_): New rules: remove temp file and print elapsed time.
68918         (local-check): Interpose the .z rules
68920 2010-04-11  Jim Meyering  <meyering@redhat.com>
68922         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
68923         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
68924         empty file with one that ends in an empty line.
68926 2010-04-10  Bruno Haible  <bruno@clisp.org>
68928         mkdir: Make it work on mingw64.
68929         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
68930         * lib/mkdir.c: Update comment.
68931         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
68933 2010-04-10  Bruno Haible  <bruno@clisp.org>
68935         Don't override improved macro from newer autoconf.
68936         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
68937         autoconf >= 2.62.
68938         Reported by Joel E. Denny <jdenny@clemson.edu>.
68940 2010-04-10  Jim Meyering  <meyering@redhat.com>
68942         maint.mk: new syntax-check rule: prohibit empty lines at end of file
68943         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
68945         maint.mk: correct a diagnostic
68946         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
68947         in diagnostic; now use $prohibit.
68949 2010-04-10  Bruno Haible  <address@hidden>
68951         fchownat: Fix a C++ test error on Solaris 8.
68952         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
68953         the function does not exist.
68955 2010-04-10  Bruno Haible  <bruno@clisp.org>
68957         vasnprintf: Add more tests.
68958         * tests/test-vasnprintf-posix.c: Include <errno.h>.
68959         (test_function): Test converting an invalid wide string.
68961         vasnprintf: Correct handling of unconvertible wide string arguments.
68962         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
68963         VASNPRINTF.
68964         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
68965         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
68966         smaller than the expected maximum need for the directive. Set errno to
68967         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
68968         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
68969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
68970         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
68971         * modules/vasnprintf (Files): Add m4/printf.m4.
68972         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68974 2010-04-10  Bruno Haible  <bruno@clisp.org>
68976         vasnprintf: Fix crash in %ls directive.
68977         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
68978         string is passed as argument to %ls, with no precision and no width.
68979         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68981 2010-04-10  Bruno Haible  <bruno@clisp.org>
68983         vasnprintf: Fix multiple test failures on mingw.
68984         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
68985         _snprintf, or snwprintf, not _snwprintf.
68987 2010-04-10  Bruno Haible  <bruno@clisp.org>
68989         write: Fix a C++ test error on mingw.
68990         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
68992 2010-04-10  Bruno Haible  <bruno@clisp.org>
68994         vasnprintf test: Reduce code duplication.
68995         * tests/test-vasnprintf.c (test_function): New function, extracted from
68996         test_vasnprintf.
68997         (test_vasnprintf, test_asnprintf): Invoke it.
68999 2010-04-10  Bruno Haible  <bruno@clisp.org>
69001         strnlen: Fix warning in C++ mode on MacOS X.
69002         * lib/string.in.h (strnlen): Use the modern idiom.
69003         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
69004         defining strnlen as a macro already in <config.h>.
69005         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69006         REPLACE_STRNLEN.
69007         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
69008         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69010 2010-04-08  James Youngman  <jay@gnu.org>
69012         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
69013         the example.
69015 2010-04-09  Jim Meyering  <meyering@redhat.com>
69017         maint.mk: print better diagnostic when there is no $(_hv_file)
69018         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
69019         announce that when $(_hv_file) (aka help-version) does not exist.
69021         init.sh: run tr in the "C" locale to avoid multibyte interpretation
69022         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
69023         not try to interpret its random input bytes.  Jarno Rajahalme reported
69024         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
69025         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
69026         (mktempd_): Likewise, just in case.
69028         ftruncate: add two years to projected module removal date: 2012
69029         * m4/ftruncate.m4: Adjust comments.
69031         ftruncate: mark module as obsolete; even MinGW provides it, now
69032         * modules/ftruncate (Status): Obsolete.
69033         (Notice): Say that.
69034         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
69035         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
69037 2010-04-08  Bruno Haible  <bruno@clisp.org>
69039         Fix side effects from tests-related modules.
69040         * modules/dprintf-posix (Comment): New section.
69041         * modules/fprintf-posix (Comment): Likewise.
69042         * modules/obstack-printf-posix (Comment): Likewise.
69043         * modules/printf-posix (Comment): Likewise.
69044         * modules/snprintf-posix (Comment): Likewise.
69045         * modules/sprintf-posix (Comment): Likewise.
69046         * modules/vasnprintf-posix (Comment): Likewise.
69047         * modules/vasprintf-posix (Comment): Likewise.
69048         * modules/vdprintf-posix (Comment): Likewise.
69049         * modules/vfprintf-posix (Comment): Likewise.
69050         * modules/vprintf-posix (Comment): Likewise.
69051         * modules/vsnprintf-posix (Comment): Likewise.
69052         * modules/vsprintf-posix (Comment): Likewise.
69053         * modules/xprintf-posix (Comment): Likewise.
69054         * modules/xvasprintf-posix (Comment): Likewise.
69055         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
69056         * modules/floorf-tests (Depends-on): Likewise.
69057         * modules/round-tests (Depends-on): Likewise.
69058         * modules/roundf-tests (Depends-on): Likewise.
69059         * modules/trunc-tests (Depends-on): Likewise.
69060         * modules/truncf-tests (Depends-on): Likewise.
69061         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
69062         'fprintf-posix' module is not present.
69063         * tests/test-floorf2.c (check): Likewise.
69064         * tests/test-trunc2.c (check): Likewise.
69065         * tests/test-truncf2.c (check): Likewise.
69066         * tests/test-round2.c (equal): Likewise.
69067         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69069 2010-04-07  Karl Berry  <karl@gnu.org>
69071         * config/srclist.txt,
69072         * config/srclistvars.sh,
69073         * config/srclist-update: doc fixes.
69075 2010-04-07  Jim Meyering  <meyering@redhat.com>
69077         maint.mk: add a PATH crosschecking syntax-check rule
69078         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
69079         Useful if you use a test like the one in help-version (coreutils,
69080         diffutils, grep, gzip) that ensures $(VERSION) matches what is
69081         printed by prog --version.
69083 2010-04-06  Bruno Haible  <bruno@clisp.org>
69085         Fix link error on mingw.
69086         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
69087         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
69089 2010-04-06  Bruno Haible  <bruno@clisp.org>
69091         Assume rmdir exists.
69092         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
69094 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
69096         doc: update users.txt
69097         * users.txt: Add gcal.
69099 2010-04-06  Jim Meyering  <meyering@redhat.com>
69101         init.sh: simply unset TMPDIR rather than risking env -i
69102         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
69103         although it probably works fine on all Unix-based systems, some
69104         systems (Cygwin?) cannot tolerate a totally cleared environment.
69105         Suggestion from Eric Blake.
69107 2010-04-06  Jim Meyering  <meyering@redhat.com>
69109         init.sh: portability fix: use env's POSIX-specified -i option not -u
69110         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
69111         than unportable env -u.  Solaris 5.11's env lacks support for -u.
69113 2010-04-05  Bruno Haible  <bruno@clisp.org>
69115         btowc: Work around Cygwin 1.7.2 bug.
69116         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
69117         does not map NUL to 0.
69118         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
69120 2010-04-05  Bruno Haible  <bruno@clisp.org>
69122         Make the multithread modules work on Cygwin 1.7.2.
69123         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
69124         imported symbols can be declared weak, so that it returns "no" on
69125         Cygwin 1.7.2.
69127 2010-04-05  Bruno Haible  <bruno@clisp.org>
69129         Use the module 'strncat'.
69130         * modules/unistr/u8-strncat (Depends-on): Add strncat.
69132         Tests for module 'strncat'.
69133         * modules/strncat-tests: New file.
69134         * tests/test-strncat.c: New file.
69136         New module 'strncat'.
69137         * lib/string.in.h (strncat): New declaration.
69138         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
69139         * m4/strncat.m4: New file, based on m4/memchr.m4.
69140         * modules/strncat: New file.
69141         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
69142         is declared.
69143         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
69144         REPLACE_STRNCAT.
69145         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
69146         REPLACE_STRNCAT.
69147         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
69148         module.
69149         * tests/test-string-c++.cc: Check signature of strncat.
69151 2010-04-05  Jim Meyering  <meyering@redhat.com>
69153         xstrtoumax-tests: convert to use init.sh
69154         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
69155         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69156         Use Exit, not exit.
69157         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69159         xstrtoimax-tests: convert to use init.sh
69160         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
69161         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69162         Use Exit, not exit.
69163         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69165 2010-04-05  Bruno Haible  <bruno@clisp.org>
69167         sys_socket: Avoid #define replacements in C++ mode.
69168         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
69169         warning to the function if possible, rather than #defining the symbol
69170         to a dysfunctional alias.
69172 2010-04-05  Bruno Haible  <bruno@clisp.org>
69174         fseeko: Fix C++ test error on mingw.
69175         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
69176         gl_FUNC_FSEEKO.
69177         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
69178         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
69179         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
69180         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
69182 2010-04-05  Bruno Haible  <bruno@clisp.org>
69184         duplocale: Improve test output.
69185         * tests/test-duplocale.c (main): Print reason for skipped test.
69187 2010-04-05  Bruno Haible  <bruno@clisp.org>
69189         Assume rmdir exists.
69190         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
69191         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
69193 2010-04-05  Bruno Haible  <bruno@clisp.org>
69195         Fix link error on Solaris 8 with cc.
69196         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
69198 2010-04-05  Bruno Haible  <bruno@clisp.org>
69200         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69201         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
69203 2010-04-05  Bruno Haible  <bruno@clisp.org>
69205         vasprintf: Update documentation.
69206         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
69208 2010-04-05  Bruno Haible  <bruno@clisp.org>
69210         ptsname: Improve test.
69211         * tests/test-ptsname.c (main): Also try the various master names of BSD
69212         systems.
69214 2010-04-05  Bruno Haible  <bruno@clisp.org>
69216         memchr: Avoid a possible C++ test error.
69217         * lib/string.in.h (memchr): Provide declaration if function is missing.
69218         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
69219         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
69220         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
69221         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
69223 2010-04-05  Bruno Haible  <bruno@clisp.org>
69225         strtok_r: Improve idiom.
69226         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
69227         AC_LIBOBJ is used.
69229 2010-04-05  Bruno Haible  <bruno@clisp.org>
69231         strdup: Improve idiom.
69232         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
69233         AC_LIBOBJ is used.
69234         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
69235         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
69236         when AC_LIBOBJ is used.
69238 2010-04-05  Bruno Haible  <bruno@clisp.org>
69240         mbsinit, mbrtowc, wcrtomb: Improve idioms.
69241         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
69242         don't set REPLACE_MBSINIT to 1.
69243         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
69244         don't set REPLACE_MBRTOWC to 1.
69245         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
69246         exist, don't set REPLACE_MBSRTOWCS to 1.
69247         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
69248         exist, don't set REPLACE_MBSNRTOWCS to 1.
69249         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
69250         don't set REPLACE_WCRTOMB to 1.
69251         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
69252         exist, don't set REPLACE_WCSRTOMBS to 1.
69253         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
69254         exist, don't set REPLACE_WCSNRTOMBS to 1.
69256 2010-04-05  Bruno Haible  <bruno@clisp.org>
69258         ldexpl: Improve idiom.
69259         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
69260         make sure to set HAVE_DECL_LDEXPL to 0.
69262 2010-04-05  Jim Meyering  <meyering@redhat.com>
69264         xstrtol-tests: convert to use init.sh
69265         * modules/xstrtol-tests (Files): Add tests/init.sh.
69266         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69267         Use Exit, not exit.
69268         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69270         atexit-tests: convert to use init.sh
69271         * modules/atexit-tests (Files): Add tests/init.sh.
69272         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69273         Use Exit, not exit.
69274         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69276         init.sh: fix typo
69277         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
69279         init.sh: make it easier for a test script to write to the tty, ...
69280         when using automake's parallel-tests mode.
69281         * tests/init.sh (stderr_fileno_): Define overridable variable.
69282         (warn_): New function, to use it.
69283         (fail_, skip_, framework_failure_): Use warn_.
69285 2010-04-04  Bruno Haible  <bruno@clisp.org>
69287         btowc: Avoid warning.
69288         * lib/btowc.c: Include <stdlib.h>.
69289         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
69291 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69292             Bruno Haible  <bruno@clisp.org>
69294         wchar: Port to NetBSD 1.5.
69295         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
69296         * lib/wctype.in.h (WEOF): Likewise.
69298 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69299             Bruno Haible  <bruno@clisp.org>
69301         Port extended stdio to NetBSD 1.5.
69302         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
69303         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
69304         older.
69306 2010-04-04  Bruno Haible  <bruno@clisp.org>
69308         string: Remove unused substitution.
69309         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69310         HAVE_DECL_STRERROR.
69311         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
69313 2010-04-04  Bruno Haible  <bruno@clisp.org>
69315         strtod: Avoid a possible C++ test error.
69316         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
69317         set REPLACE_STRTOD.
69319 2010-04-04  Bruno Haible  <bruno@clisp.org>
69321         strerror: Update documentation.
69322         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
69324 2010-04-04  Bruno Haible  <bruno@clisp.org>
69326         stdio: Fix some C++ test errors on Solaris 8 with GCC.
69327         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
69328         _GL_CXXALIAS_SYS_CAST.
69330 2010-04-04  Bruno Haible  <bruno@clisp.org>
69332         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69333         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
69334         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
69335         REPLACE_FREXPL to 1.
69336         * doc/posix-functions/frexpl.texi: Update documentation.
69338 2010-04-04  Bruno Haible  <bruno@clisp.org>
69340         math: Fix some C++ test errors on Solaris 8 and Cygwin.
69341         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
69343 2010-04-04  Bruno Haible  <bruno@clisp.org>
69345         Implement nanosleep for native Windows.
69346         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
69348 2010-04-04  Bruno Haible  <bruno@clisp.org>
69350         math: Fix some C++ test errors on Solaris 8.
69351         * lib/math.in.h (truncf, trunc): Use simpler idiom.
69353 2010-04-04  Bruno Haible  <bruno@clisp.org>
69355         math: Fix some C++ test errors on Cygwin.
69356         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
69357         truncl): Provide declaration if the system does not have it.
69358         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
69359         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
69360         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
69361         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
69362         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
69363         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
69364         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
69365         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
69366         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
69367         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
69368         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
69369         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
69370         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
69371         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
69372         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
69373         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
69374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
69375         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69376         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69377         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
69378         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69379         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69381 2010-04-04  Bruno Haible  <bruno@clisp.org>
69383         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
69384         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
69385         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
69386         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
69387         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
69388         * m4/isinf.m4 (gl_ISINF): Likewise.
69389         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
69391 2010-04-04  Bruno Haible  <bruno@clisp.org>
69393         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
69394         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
69396 2010-04-04  Bruno Haible  <bruno@clisp.org>
69398         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
69399         * modules/tmpfile (configure.ac): Update.
69401         tmpfile: Fix C++ test error on mingw.
69402         * lib/stdio.in.h (tmpfile): New declaration.
69403         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
69404         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
69405         * modules/tmpfile (Depends-on): Add stdio.
69406         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69407         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
69408         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
69409         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
69410         REPLACE_TMPFILE.
69411         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
69413 2010-04-04  Bruno Haible  <bruno@clisp.org>
69415         ioctl: Fix C++ test error on mingw.
69416         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
69417         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
69418         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
69420 2010-04-03  Bruno Haible  <bruno@clisp.org>
69422         wcwidth: Fix C++ test error on mingw.
69423         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
69424         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
69425         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
69427 2010-04-03  Bruno Haible  <bruno@clisp.org>
69429         nanosleep: Fix C++ test error on mingw.
69430         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
69431         * lib/time.in.h (nanosleep): Use modern idiom.
69432         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
69433         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
69434         REPLACE_NANOSLEEP to 1.
69435         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
69436         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
69438 2010-04-03  Bruno Haible  <bruno@clisp.org>
69440         strptime: Fix C++ test error on mingw.
69441         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
69442         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
69443         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
69444         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
69445         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
69446         not REPLACE_STRPTIME.
69447         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
69448         REPLACE_STRPTIME.
69450 2010-04-03  Bruno Haible  <bruno@clisp.org>
69452         timegm: Fix C++ test error on mingw.
69453         * lib/time.in.h (timegm): Use modern idiom.
69454         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
69455         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
69456         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
69457         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
69459 2010-04-03  Bruno Haible  <bruno@clisp.org>
69461         timegm: Assume declaration if function exists.
69462         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
69463         if it exists. Don't clobber ac_cv_func_timegm.
69465 2010-04-03  Bruno Haible  <bruno@clisp.org>
69467         time_r: Fix C++ test error on mingw.
69468         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
69469         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
69470         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
69471         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
69472         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
69474 2010-04-03  Bruno Haible  <bruno@clisp.org>
69476         time_r: Minor updates.
69477         * modules/time_r (Description): Mention the provided functions.
69478         * lib/time_r.c: Don't include <string.h>.
69479         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
69480         * doc/posix-functions/localtime_r.texi: Likewise.
69482 2010-04-03  Bruno Haible  <bruno@clisp.org>
69484         time: Fix regression introduced on 2010-03-08.
69485         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
69486         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
69488 2010-04-03  Jim Meyering  <meyering@redhat.com>
69490         maint.mk: don't silently disable project-specific syntax-check rules
69491         * top/maint.mk (_prohibit_regexp): Define, to help people realize
69492         that they need to convert their project-specific syntax-check rules
69493         to use the new _sc_search_regexp.
69495 2010-04-03  Bruno Haible  <bruno@clisp.org>
69497         fchdir: Fix regression introduced on 2010-03-08.
69498         * lib/unistd.in.h (fchdir): Fix declaration.
69499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
69500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
69501         REPLACE_FCHDIR.
69502         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
69503         REPLACE_FCHDIR.
69505 2010-04-03  Bruno Haible  <bruno@clisp.org>
69507         getpagesize: Fix C++ test error on mingw.
69508         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
69509         system does not declare the function.
69510         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
69511         declared.
69512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69513         HAVE_DECL_GETPAGESIZE.
69514         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
69516 2010-04-03  Bruno Haible  <bruno@clisp.org>
69518         stdio: Make C++ tests work on mingw.
69519         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
69520         does not declare the function.
69522 2010-04-03  Bruno Haible  <bruno@clisp.org>
69524         ftello: Fix C++ test error on mingw.
69525         * lib/stdio.in.h (ftello): Use modern idiom.
69526         * lib/ftello.c (ftello): Renamed from rpl_ftello.
69527         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
69528         is missing and that it needs to be replaced.
69529         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
69530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
69531         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
69533 2010-04-03  Bruno Haible  <bruno@clisp.org>
69535         fseeko: Fix C++ test error on mingw.
69536         * lib/stdio.in.h (fseeko): Use modern idiom.
69537         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
69538         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
69539         is missing and that it needs to be replaced.
69540         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
69541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
69542         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
69544 2010-04-03  Bruno Haible  <bruno@clisp.org>
69546         mkstemp: Fix C++ test error on mingw.
69547         * lib/stdlib.in.h (mkstemp): Use modern idiom.
69548         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
69549         function is missing and that it needs to be replaced.
69550         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
69551         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
69553 2010-04-03  Bruno Haible  <bruno@clisp.org>
69555         stpncpy: Fix C++ test error on mingw.
69556         * lib/string.in.h (stpncpy): Use modern idiom.
69557         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
69558         function is missing and that it needs to be replaced.
69559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69560         REPLACE_STPNCPY.
69561         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
69563 2010-04-03  Bruno Haible  <bruno@clisp.org>
69565         sys_stat: Fix C++ test error on mingw.
69566         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
69567         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
69569 2010-04-03  Bruno Haible  <bruno@clisp.org>
69571         pty: Update doc.
69572         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
69574 2010-04-03  Bruno Haible  <bruno@clisp.org>
69576         unistd: Fix C++ test error on mingw.
69577         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
69579 2010-04-03  Bruno Haible  <bruno@clisp.org>
69581         Update doc regarding mingw.
69582         * doc/glibc-functions/openpty.texi: Update regarding mingw.
69583         * doc/glibc-functions/login_tty.texi: Likewise.
69584         * doc/glibc-functions/forkpty.texi: Likewise.
69586 2010-04-03  Bruno Haible  <bruno@clisp.org>
69588         stdlib: Avoid compilation failure of c-strtold on mingw.
69589         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
69591 2010-04-03  Bruno Haible  <bruno@clisp.org>
69593         locale: Make C++ tests work on Cygwin and mingw.
69594         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
69595         cannot provide the function.
69596         Reported by Simon Josefsson.
69598 2010-04-03  Bruno Haible  <bruno@clisp.org>
69600         localename: Port to MacOS X 10.6.
69601         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
69602         memory layout of the locales in MacOS X 10.6 as well.
69603         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
69605 2010-04-02  Bruno Haible  <bruno@clisp.org>
69607         gnulib-tool: Ensure that long-running tests are executed last.
69608         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
69609         running tests after the one for the other tests.
69611 2010-04-02  Bruno Haible  <bruno@clisp.org>
69613         gnulib-tool: Ensure the tests in the main directory are executed first.
69614         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
69615         start with the current directory.
69617 2010-04-02  Bruno Haible  <bruno@clisp.org>
69619         Tests for module 'havelib', moved here from GNU gettext.
69620         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
69621         modifications.
69622         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
69623         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
69624         with modifications.
69625         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
69626         modifications.
69627         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
69628         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
69629         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
69630         with modifications.
69631         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
69632         with modifications.
69633         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
69634         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
69635         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
69636         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
69637         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
69638         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
69639         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
69640         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
69641         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
69642         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
69643         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
69644         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
69645         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
69646         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
69647         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
69648         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
69649         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
69650         with modifications.
69651         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
69652         with modifications.
69653         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
69654         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
69655         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
69656         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
69657         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
69658         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
69659         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
69660         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
69661         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
69662         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
69663         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
69664         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
69665         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
69666         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
69667         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
69668         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
69669         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
69670         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
69671         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
69672         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
69673         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
69674         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
69675         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
69676         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
69677         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
69678         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
69679         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
69680         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
69681         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
69682         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
69683         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
69684         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
69685         * tests/havelib/rpathx/rpathx.c: New file, from
69686         gettext/autoconf-lib-link.
69687         * tests/havelib/rpathx/Makefile.am: New file, from
69688         gettext/autoconf-lib-link.
69689         * tests/havelib/rpathx/configure.ac: New file, from
69690         gettext/autoconf-lib-link with modifications.
69691         * tests/havelib/rpathy/rpathy.c: New file, from
69692         gettext/autoconf-lib-link.
69693         * tests/havelib/rpathy/Makefile.am: New file, from
69694         gettext/autoconf-lib-link.
69695         * tests/havelib/rpathy/configure.ac: New file, from
69696         gettext/autoconf-lib-link with modifications.
69697         * tests/havelib/rpathz/rpathz.c: New file, from
69698         gettext/autoconf-lib-link.
69699         * tests/havelib/rpathz/Makefile.am: New file, from
69700         gettext/autoconf-lib-link.
69701         * tests/havelib/rpathz/configure.ac: New file, from
69702         gettext/autoconf-lib-link with modifications.
69703         * tests/havelib/rpathlx/usex.c: New file, from
69704         gettext/autoconf-lib-link.
69705         * tests/havelib/rpathlx/Makefile.am: New file, from
69706         gettext/autoconf-lib-link.
69707         * tests/havelib/rpathlx/configure.ac: New file, from
69708         gettext/autoconf-lib-link with modifications.
69709         * tests/havelib/rpathly/usey.c: New file, from
69710         gettext/autoconf-lib-link.
69711         * tests/havelib/rpathly/Makefile.am: New file, from
69712         gettext/autoconf-lib-link.
69713         * tests/havelib/rpathly/configure.ac: New file, from
69714         gettext/autoconf-lib-link with modifications.
69715         * tests/havelib/rpathlz/usez.c: New file, from
69716         gettext/autoconf-lib-link.
69717         * tests/havelib/rpathlz/Makefile.am: New file, from
69718         gettext/autoconf-lib-link.
69719         * tests/havelib/rpathlz/configure.ac: New file, from
69720         gettext/autoconf-lib-link with modifications.
69721         * tests/havelib/rpathlyx/usey.c: New file, from
69722         gettext/autoconf-lib-link.
69723         * tests/havelib/rpathlyx/Makefile.am: New file, from
69724         gettext/autoconf-lib-link.
69725         * tests/havelib/rpathlyx/configure.ac: New file, from
69726         gettext/autoconf-lib-link with modifications.
69727         * tests/havelib/rpathlzyx/usez.c: New file, from
69728         gettext/autoconf-lib-link.
69729         * tests/havelib/rpathlzyx/Makefile.am: New file, from
69730         gettext/autoconf-lib-link.
69731         * tests/havelib/rpathlzyx/configure.ac: New file, from
69732         gettext/autoconf-lib-link with modifications.
69733         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
69734         with modifications.
69736 2010-04-02  Bruno Haible  <bruno@clisp.org>
69738         gnulib-tool: Create distributed built sources also for the tests.
69739         * gnulib-tool (func_create_testdir): Also generate distributed built
69740         sources in the tests directory.
69742 2010-04-02  Bruno Haible  <bruno@clisp.org>
69744         gnulib-tool: Obey user's environment variables.
69745         * gnulib-tool (func_create_testdir): When creating built sources,
69746         respect the environment variables for autoconf, automake, etc. given by
69747         the user.
69749 2010-04-02  Bruno Haible  <bruno@clisp.org>
69751         gnulib-tool: Provide the value of --m4-base to modules.
69752         * gnulib-tool (func_import, func_create_testdir): Emit a definition
69753         of gl_m4_base.
69755 2010-04-02  Eric Blake  <eblake@redhat.com>
69757         maint.mk: fix some fallout
69758         * NEWS: Document the incompatible change, and its effect on cfg.mk.
69759         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
69761 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69763         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
69764         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
69765         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
69766         (sc_cast_of_x_alloc_return_value): Likewise.
69767         (sc_cast_of_alloca_return_value): Likewise.
69768         (sc_space_tab): Likewise.
69769         (sc_prohibit_atoi_atof): Likewise.
69770         (sc_prohibit_magic_number_exit): Likewise.
69771         (sc_error_exit_success): Likewise.
69772         (sc_file_system): Likewise.
69773         (sc_prohibit_have_config_h): Likewise.
69774         (sc_require_config_h): Likewise.
69775         (sc_prohibit_HAVE_MBRTOWC): Likewise.
69776         (sc_obsolete_symbols): Likewise.
69777         (sc_changelog): Likewise.
69778         (sc_program_name): Likewise.
69779         (sc_the_the): Likewise.
69780         (sc_trailing_blank): Likewise.
69781         (sc_two_space_separator_in_usage): Likewise.
69782         (sc_useless_cpp_parens): Likewise.
69783         (sc_GPL_version): Likewise.
69784         (sc_GFDL_version): Likewise.
69785         (sc_texinfo_acronym): Likewise.
69786         (sc_prohibit_cvs_keyword): Likewise.
69787         (sc_prohibit_stat_st_blocks): Likewise.
69788         (sc_prohibit_S_IS_definition): Likewise.
69789         (sc_redundant_const): Likewise.
69790         (sc_makefile_TAB_only_indentation): Likewise.
69791         (sc_m4_quote_check): Likewise.
69792         (sc_makefile_path_separator_check): Likewise.
69793         (sc_copyright_check): Likewise.
69794         (sc_Wundef_boolean): Likewise.
69795         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
69797         maint.mk: match 0 or more whitespace-before-function-call '('
69798         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
69799         that have zero or two-and-more spaces between the function name
69800         and the open parenthesis.
69801         (sc_error_message_warn_fatal): Likewise.
69802         (sc_error_message_uppercase): Likewise.
69803         (sc_error_message_period): Likewise.
69805 2010-03-31  Eric Blake  <eblake@redhat.com>
69807         maint.mk: check for [ as well as test
69808         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
69809         Based on a libvirt report by Matthias Bolte.
69811         gnumakefile: don't squelch _version output
69812         * top/GNUmakefile (_version): Create one-shot dependency rather
69813         than using $(shell) when version must be regenerated.
69814         (_autoreconf): Run verbosely, by default.
69816         sys_time: avoid compiler warnings
69817         * lib/sys_time.in.h (includes): Ensure gcc pragma is
69818         unconditional, fixing regression from 2010-03-29.
69819         Reported by Simon Josefsson.
69821 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69823         maint.mk: s/_header_without_use/_sc_header_without_use/
69824         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
69825         (sc_prohibit_assert_without_use): Use the new name.
69826         (sc_prohibit_close_stream_without_use): Likewise.
69827         (sc_prohibit_getopt_without_use): Likewise.
69828         (sc_prohibit_quotearg_without_use): Likewise.
69829         (sc_prohibit_quote_without_use): Likewise.
69830         (sc_prohibit_long_options_without_use): Likewise.
69831         (sc_prohibit_inttostr_without_use): Likewise.
69832         (sc_prohibit_ignore_value_without_use): Likewise.
69833         (sc_prohibit_error_without_use): Likewise.
69834         (sc_prohibit_xalloc_without_use): Likewise.
69835         (sc_prohibit_hash_without_use): Likewise.
69836         (sc_prohibit_hash_pjw_without_use): Likewise.
69837         (sc_prohibit_safe_read_without_use): Likewise.
69838         (sc_prohibit_argmatch_without_use): Likewise.
69839         (sc_prohibit_canonicalize_without_use): Likewise.
69840         (sc_prohibit_root_dev_ino_without_use): Likewise.
69841         (sc_prohibit_openat_without_use): Likewise.
69842         (sc_prohibit_c_ctype_without_use): Likewise.
69843         (sc_prohibit_signal_without_use): Likewise.
69844         (sc_prohibit_intprops_without_use): Likewise.
69846 2010-03-30  Eric Blake  <eblake@redhat.com>
69848         maint: improve module indicators
69849         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
69850         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
69851         columns, and avoid extra macro expansion.
69853         fdopendir: work around FreeBSD bug
69854         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
69855         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
69856         * modules/dirent (Makefile.am): Substitute it.
69857         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
69858         declaration.
69859         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
69860         fix.
69861         Reported by Christian Weisgerber <naddy@mips.inka.de>.
69863 2010-03-29  Bruno Haible  <bruno@clisp.org>
69865         Emit #pragma system_header after the inclusion guard, not before.
69866         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
69867         guard that spans the entire file, not before. This enables an
69868         optimization in GCC's preprocessor.
69869         * lib/ctype.in.h: Likewise.
69870         * lib/dirent.in.h: Likewise.
69871         * lib/errno.in.h: Likewise.
69872         * lib/float.in.h: Likewise.
69873         * lib/getopt.in.h: Likewise.
69874         * lib/iconv.in.h: Likewise.
69875         * lib/langinfo.in.h: Likewise.
69876         * lib/locale.in.h: Likewise.
69877         * lib/math.in.h: Likewise.
69878         * lib/netdb.in.h: Likewise.
69879         * lib/netinet_in.in.h: Likewise.
69880         * lib/pty.in.h: Likewise.
69881         * lib/sched.in.h: Likewise.
69882         * lib/se-selinux.in.h: Likewise.
69883         * lib/search.in.h: Likewise.
69884         * lib/spawn.in.h: Likewise.
69885         * lib/stdarg.in.h: Likewise.
69886         * lib/stdint.in.h: Likewise.
69887         * lib/string.in.h: Likewise.
69888         * lib/strings.in.h: Likewise.
69889         * lib/sys_file.in.h: Likewise.
69890         * lib/sys_ioctl.in.h: Likewise.
69891         * lib/sys_time.in.h: Likewise.
69892         * lib/sys_times.in.h: Likewise.
69893         * lib/sys_utsname.in.h: Likewise.
69894         * lib/sys_wait.in.h: Likewise.
69895         * lib/sysexits.in.h: Likewise.
69896         * lib/wctype.in.h: Likewise.
69898 2010-03-28  James Youngman  <jay@gnu.org>
69900         save-cwd: don't leak a file descriptor when the caller execs.
69901         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
69902         saved file descriptor.
69903         * modules/save-cwd (Depends-on): Depend on cloexec.
69905 2010-03-29  Bruno Haible  <bruno@clisp.org>
69907         Remove vestiges of fts-lgpl module.
69908         * lib/fts_.h: Assume GNULIB_FTS is 1.
69909         * lib/fts.c: Likewise.
69910         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69912 2010-03-28  Bruno Haible  <bruno@clisp.org>
69914         Fix definition of tests witness macro.
69915         * gnulib-tool (func_import): Fix definition of witness macro.
69917 2010-03-28  Bruno Haible  <bruno@clisp.org>
69919         Fix ioctl's protoype on glibc systems.
69920         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
69921         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
69922         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
69923         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
69924         signature. If not, arrange to replace the ioctl function.
69925         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
69926         REPLACE_IOCTL.
69927         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
69928         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
69929         Reported by Ludovic Courtès <ludo@gnu.org>.
69931 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
69933         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
69934         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
69935         made it so grep -r --include=GLOB* ... did not work.
69937 2010-03-26  Jim Meyering  <meyering@redhat.com>
69938             Eric Blake  <eblake@redhat.com>
69940         maint.mk: prohibit use of test's -o and -a operators
69941         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
69943 2010-03-28  Bruno Haible  <bruno@clisp.org>
69945         Remove unused GNULIB_XYZ macro definitions.
69946         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
69947         invocation.
69949 2010-03-28  Bruno Haible  <bruno@clisp.org>
69951         Mark privileged tests modules.
69952         * modules/idpriv-drop-tests (Status): New section.
69953         * modules/idpriv-droptemp-tests (Status): New section.
69955 2010-03-28  Bruno Haible  <bruno@clisp.org>
69957         Split C++ tests into separate tests modules.
69958         * modules/dirent-c++-tests: New file, extracted from
69959         modules/dirent-tests.
69960         * modules/dirent-tests: Depend on it.
69961         * modules/fcntl-h-c++-tests: New file, extracted from
69962         modules/fcntl-h-tests.
69963         * modules/fcntl-h-tests: Depend on it.
69964         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
69965         * modules/glob-tests: Depend on it.
69966         * modules/iconv-h-c++-tests: New file, extracted from
69967         modules/iconv-h-tests.
69968         * modules/iconv-h-tests: Depend on it.
69969         * modules/langinfo-c++-tests: New file, extracted from
69970         modules/langinfo-tests.
69971         * modules/langinfo-tests: Depend on it.
69972         * modules/locale-c++-tests: New file, extracted from
69973         modules/locale-tests.
69974         * modules/locale-tests: Depend on it.
69975         * modules/math-c++-tests: New file, extracted from modules/math-tests.
69976         * modules/math-tests: Depend on it.
69977         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
69978         * modules/pty-tests: Depend on it.
69979         * modules/search-c++-tests: New file, extracted from
69980         modules/search-tests.
69981         * modules/search-tests: Depend on it.
69982         * modules/signal-c++-tests: New file, extracted from
69983         modules/signal-tests.
69984         * modules/signal-tests: Depend on it.
69985         * modules/spawn-c++-tests: New file, extracted from
69986         modules/spawn-tests.
69987         * modules/spawn-tests: Depend on it.
69988         * modules/stdio-c++-tests: New file, extracted from
69989         modules/stdio-tests.
69990         * modules/stdio-tests: Depend on it.
69991         * modules/stdlib-c++-tests: New file, extracted from
69992         modules/stdlib-tests.
69993         * modules/stdlib-tests: Depend on it.
69994         * modules/string-c++-tests: New file, extracted from
69995         modules/string-tests.
69996         * modules/string-tests: Depend on it.
69997         * modules/sys_ioctl-c++-tests: New file, extracted from
69998         modules/sys_ioctl-tests.
69999         * modules/sys_ioctl-tests: Depend on it.
70000         * modules/sys_select-c++-tests: New file, extracted from
70001         modules/sys_select-tests.
70002         * modules/sys_select-tests: Depend on it.
70003         * modules/sys_socket-c++-tests: New file, extracted from
70004         modules/sys_socket-tests.
70005         * modules/sys_socket-tests: Depend on it.
70006         * modules/sys_stat-c++-tests: New file, extracted from
70007         modules/sys_stat-tests.
70008         * modules/sys_stat-tests: Depend on it.
70009         * modules/sys_time-c++-tests: New file, extracted from
70010         modules/sys_time-tests.
70011         * modules/sys_time-tests: Depend on it.
70012         * modules/time-c++-tests: New file, extracted from modules/time-tests.
70013         * modules/time-tests: Depend on it.
70014         * modules/unistd-c++-tests: New file, extracted from
70015         modules/unistd-tests.
70016         * modules/unistd-tests: Depend on it.
70017         * modules/wchar-c++-tests: New file, extracted from
70018         modules/wchar-tests.
70019         * modules/wchar-tests: Depend on it.
70020         * modules/wctype-c++-tests: New file, extracted from
70021         modules/wctype-tests.
70022         * modules/wctype-tests: Depend on it.
70023         Reported by Simon Josefsson.
70025 2010-03-28  Bruno Haible  <bruno@clisp.org>
70027         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
70028         * gnulib-tool (func_exists_module): New function, extracted from
70029         func_verify_module.
70030         (func_verify_module): Use it.
70031         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
70032         'foo' only if 'foo' exists.
70033         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
70034         module.
70036 2010-03-28  Bruno Haible  <bruno@clisp.org>
70038         gnulib-tool: Add support for special categories of tests.
70039         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
70040         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
70041         (func_usage): Document them.
70042         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
70043         inc_unportable_tests, inc_all_tests): New variables.
70044         (func_acceptable): Consider these variables.
70045         (func_modules_transitive_closure): Make it work when the 'Status' field
70046         consists of multiple words.
70047         (func_import): Store and restore the values of inc_cxx_tests,
70048         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
70049         inc_all_tests in gnulib-comp.m4.
70050         (func_create_testdir): Set inc_all_tests to true.
70051         * doc/gnulib.texi (Extra tests modules): New section.
70052         Suggested by Jim Meyering.
70054 2010-03-28  Bruno Haible  <bruno@clisp.org>
70056         ansi-c++-opt: Allow turning off the C++ build by default.
70057         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
70058         gl_CXX_CHOICE_DEFAULT_NO is defined.
70059         Requested by Eric Blake.
70061 2010-03-28  Bruno Haible  <bruno@clisp.org>
70063         unistd: Avoid #define replacements in C++ mode.
70064         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
70065         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
70066         setsockopt, shutdown, select): In C++, attach a warning to the function
70067         if possible, rather than #defining the symbol to a dysfunctional alias.
70068         Reported by John W. Eaton <jwe@gnu.org>.
70070 2010-03-28  Bruno Haible  <bruno@clisp.org>
70072         Fix link errors on mingw.
70073         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
70074         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
70075         $(LIBSOCKET).
70076         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
70077         $(LIBSOCKET).
70079 2010-03-28  Bruno Haible  <bruno@clisp.org>
70080             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70082         lib-ignore: Determine different options for different compilers.
70083         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
70084         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
70085         Add comments.
70086         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
70087         * NEWS: Mention the change.
70089 2010-03-27  Bruno Haible  <bruno@clisp.org>
70091         Remove unused GNULIB_XYZ macro definitions.
70092         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70093         * modules/fseek (configure.ac): Likewise.
70094         * modules/ioctl (configure.ac): Likewise.
70095         * modules/open (configure.ac): Likewise.
70096         * modules/stdlib-safer (configure.ac): Likewise.
70098 2010-03-27  Bruno Haible  <bruno@clisp.org>
70100         Add a remark about certain modules.
70101         * modules/malloc (Comment): New section.
70102         * modules/realloc (Comment): Likewise.
70103         * modules/sigpipe (Comment): Likewise.
70105 2010-03-27  Bruno Haible  <bruno@clisp.org>
70107         Resolve conflict between the two kinds of module indicators.
70108         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
70109         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
70110         * modules/canonicalize (configure.ac): Invoke
70111         gl_MODULE_INDICATOR_FOR_TESTS.
70112         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
70113         GNULIB_XYZ.
70114         * tests/test-dirent-c++.cc: Likewise.
70115         * tests/test-dirent-safer.c: Likewise.
70116         * tests/test-dup2.c: Likewise.
70117         * tests/test-fchdir.c: Likewise.
70118         * tests/test-fcntl-h-c++.cc: Likewise.
70119         * tests/test-getopt.c: Likewise.
70120         * tests/test-getopt.h: Likewise.
70121         * tests/test-langinfo-c++.cc: Likewise.
70122         * tests/test-locale-c++.cc: Likewise.
70123         * tests/test-math-c++.cc: Likewise.
70124         * tests/test-pty-c++.cc: Likewise.
70125         * tests/test-search-c++.cc: Likewise.
70126         * tests/test-signal-c++.cc: Likewise.
70127         * tests/test-spawn-c++.cc: Likewise.
70128         * tests/test-stdio-c++.cc: Likewise.
70129         * tests/test-stdlib-c++.cc: Likewise.
70130         * tests/test-string-c++.cc: Likewise.
70131         * tests/test-sys_ioctl-c++.cc: Likewise.
70132         * tests/test-sys_select-c++.cc: Likewise.
70133         * tests/test-sys_socket-c++.cc: Likewise.
70134         * tests/test-sys_stat-c++.cc: Likewise.
70135         * tests/test-sys_time-c++.cc: Likewise.
70136         * tests/test-time-c++.cc: Likewise.
70137         * tests/test-unistd-c++.cc: Likewise.
70138         * tests/test-wchar-c++.cc: Likewise.
70139         * tests/uninorm/test-u8-nfc.c: Likewise.
70140         * tests/uninorm/test-u8-nfd.c: Likewise.
70141         * tests/uninorm/test-u8-nfkc.c: Likewise.
70142         * tests/uninorm/test-u8-nfkd.c: Likewise.
70143         * tests/uninorm/test-u16-nfc.c: Likewise.
70144         * tests/uninorm/test-u16-nfd.c: Likewise.
70145         * tests/uninorm/test-u16-nfkc.c: Likewise.
70146         * tests/uninorm/test-u16-nfkd.c: Likewise.
70147         * tests/uninorm/test-u32-nfc.c: Likewise.
70148         * tests/uninorm/test-u32-nfc-big.c: Likewise.
70149         * tests/uninorm/test-u32-nfd.c: Likewise.
70150         * tests/uninorm/test-u32-nfd-big.c: Likewise.
70151         * tests/uninorm/test-u32-nfkc.c: Likewise.
70152         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
70153         * tests/uninorm/test-u32-nfkd.c: Likewise.
70154         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
70155         * tests/uninorm/test-u32-normalize-big.c: Likewise.
70157 2010-03-27  Bruno Haible  <bruno@clisp.org>
70159         Distinguish two kinds of module indicators.
70160         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
70161         gl_MODULE_INDICATOR.
70162         (gl_MODULE_INDICATOR): New macro.
70163         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70164         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
70165         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70166         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70167         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70168         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70169         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70170         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70171         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70172         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70173         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70174         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70175         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70176         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70177         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70179         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70180         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70181         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70182         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70183         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70184         * modules/cloexec (configure.ac): Likewise.
70185         * modules/getopt-gnu (configure.ac): Likewise.
70186         * modules/uninorm/u8-normalize (configure.ac): Likewise.
70187         * modules/uninorm/u16-normalize (configure.ac): Likewise.
70188         * modules/uninorm/u32-normalize (configure.ac): Likewise.
70189         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
70191 2010-03-27  Bruno Haible  <bruno@clisp.org>
70193         New module description field 'Comment'.
70194         * gnulib-tool: New option --extract-comment.
70195         (func_usage): Document it.
70196         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
70197         (func_get_comment): New function.
70198         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
70200 2010-03-27  Bruno Haible  <bruno@clisp.org>
70202         Addendum to 2010-02-07 commit.
70203         * gnulib-tool (func_usage): Document --extract-applicability option.
70205 2010-03-27  Bruno Haible  <bruno@clisp.org>
70207         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
70208         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
70209         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
70210         rather than link errors.
70212 2010-03-27  Bruno Haible  <bruno@clisp.org>
70214         Avoid side effects from tests-related modules on the compilation of lib.
70215         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
70216         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
70217         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
70218         parameter. Emit into AM_CPPFLAGS a definition of the designated C
70219         macro.
70220         (func_import): Define a witness macro. Assign it a value that depends
70221         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
70222         tests-related modules.
70223         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
70224         Reported by Jim Meyering.
70226 2010-03-27  Bruno Haible  <bruno@clisp.org>
70228         Factorize common .m4 code.
70229         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
70230         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
70231         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
70232         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
70233         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70234         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
70235         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
70236         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70237         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70238         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70239         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
70240         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70241         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70242         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70243         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70244         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
70245         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70246         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70248         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
70249         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
70250         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70251         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70252         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70253         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70254         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70255         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
70256         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
70257         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
70258         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70259         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70260         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70262 2010-03-27  Bruno Haible  <bruno@clisp.org>
70264         Fix a compilation error on Cygwin with g++ >= 4.3.
70265         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
70266         if it is undefined or if we alias it to chmod.
70267         (lstat): Don't warn about the use of this function if it is undefined
70268         or if we alias it to stat.
70269         Reported by Simon Josefsson.
70271 2010-03-27  Bruno Haible  <bruno@clisp.org>
70273         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
70274         * modules/getlogin (configure.ac): Update.
70276         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
70277         * modules/getlogin_r (configure.ac): Update.
70279         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
70280         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
70281         * modules/inet_ntop (configure.ac): Update.
70283         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
70284         * modules/inet_pton (configure.ac): Update.
70286         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
70287         * modules/mbslen (configure.ac): Update.
70289         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
70290         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
70291         * modules/forkpty (configure.ac): Update.
70292         * modules/openpty (configure.ac): Update.
70294 2010-03-26  Simon Josefsson  <simon@josefsson.org>
70296         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
70297         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
70299 2010-03-25  Eric Blake  <eblake@redhat.com>
70301         maint: use pragma consistently across replacement headers
70302         * lib/ctype.in.h (system_header): Hoist for consistent placement.
70303         * lib/dirent.in.h (system_header): Likewise.
70304         * lib/errno.in.h (system_header): Likewise.
70305         * lib/float.in.h (system_header): Likewise.
70306         * lib/getopt.in.h (system_header): Likewise.
70307         * lib/iconv.in.h (system_header): Likewise.
70308         * lib/inttypes.in.h (system_header): Likewise.
70309         * lib/langinfo.in.h (system_header): Likewise.
70310         * lib/locale.in.h (system_header): Likewise.
70311         * lib/math.in.h (system_header): Likewise.
70312         * lib/netdb.in.h (system_header): Likewise.
70313         * lib/netinet_in.in.h (system_header): Likewise.
70314         * lib/pty.in.h (system_header): Likewise.
70315         * lib/sched.in.h (system_header): Likewise.
70316         * lib/se-selinux.in.h (system_header): Likewise.
70317         * lib/search.in.h (system_header): Likewise.
70318         * lib/spawn.in.h (system_header): Likewise.
70319         * lib/stdarg.in.h (system_header): Likewise.
70320         * lib/stdint.in.h (system_header): Likewise.
70321         * lib/string.in.h (system_header): Likewise.
70322         * lib/strings.in.h (system_header): Likewise.
70323         * lib/sys_file.in.h (system_header): Likewise.
70324         * lib/sys_ioctl.in.h (system_header): Likewise.
70325         * lib/sys_socket.in.h (system_header): Likewise.
70326         * lib/sys_times.in.h (system_header): Likewise.
70327         * lib/sys_utsname.in.h (system_header): Likewise.
70328         * lib/sys_wait.in.h (system_header): Likewise.
70329         * lib/sysexits.in.h (system_header): Likewise.
70330         * lib/unistd.in.h (system_header): Likewise.
70331         * lib/wctype.in.h (system_header): Likewise.
70333         arpa/inet: fix mingw compilation warning
70334         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
70335         Reported by Matthew Bolte.
70337 2010-03-25  Bruno Haible  <bruno@clisp.org>
70339         Avoid collision between gnulib wrapper and libintl wrapper.
70340         * lib/printf.c (printf): Don't define if a printf wrapper is already
70341         defined in intl/printf.c.
70342         Reported by Michel Boaventura <michel@michelboaventura.com>.
70344 2010-03-25  Bruno Haible  <bruno@clisp.org>
70346         Use ANSI C.
70347         * lib/readutmp.h (getutent): Provide ANSI C prototype.
70349 2010-03-25  Bruno Haible  <bruno@clisp.org>
70351         Minor formatting changes.
70352         * lib/acosl.c: Insert space before function argument list.
70353         * lib/argz.c: Likewise.
70354         * lib/asinl.c: Likewise.
70355         * lib/expl.c: Likewise.
70356         * lib/gen-uni-tables.c: Likewise.
70357         * lib/gettext.h: Likewise.
70358         * lib/glthread/lock.h: Likewise.
70359         * lib/tanl.c: Likewise.
70360         * lib/uniname/uniname.c: Likewise.
70361         * tests/test-idpriv-drop.c: Likewise.
70362         * tests/test-idpriv-droptemp.c: Likewise.
70363         * tests/test-lock.c: Likewise.
70364         * tests/test-tls.c: Likewise.
70365         * lib/argp-help.c: Insert space before function-like macro argument
70366         list.
70367         * lib/memcmp.c: Likewise.
70368         * tests/test-base64.c: Likewise.
70369         * lib/localename.c: Insert space before sizeof's argument list.
70370         * lib/safe-alloc.h: Likewise.
70371         * lib/file-set.h: Insert space before macro argument list.
70372         * tests/test-argp.c: Likewise.
70373         * lib/argp-namefrob.h: Insert space before function parameter list.
70374         * lib/getaddrinfo.c: Likewise.
70375         * lib/netdb.in.h: Likewise.
70376         * lib/parse-duration.h: Likewise.
70377         * lib/parse-duration.c: Likewise.
70378         * lib/poll.c: Likewise.
70379         * lib/select.c: Likewise.
70380         * lib/trim.h: Likewise.
70381         * tests/test-usleep.c: Likewise.
70382         * lib/ldexpl.c: Insert space before function parameter list and before
70383         function argument list.
70384         * lib/logl.c: Likewise.
70385         * lib/sqrtl.c: Likewise.
70386         * lib/trim.c: Likewise.
70387         * lib/cosl.c: Use GNU style indentation. Insert space before function
70388         argument list.
70389         * lib/sinl.c: Likewise.
70390         * lib/tsearch.c: Insert space after 'for'.
70391         Reported by Jim Meyering.
70393 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
70395         * maint.mk (sc_Wundef_boolean): Check for the presence of the
70396         config header before grepping, as it's not present before
70397         autoreconf/configure are run.  Reported by Simon Josefsson.
70399 2010-03-23  Bruno Haible  <bruno@clisp.org>
70401         pt_chown: Make it work with automake < 1.11.
70402         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
70403         Reported by Simon Josefsson.
70405 2010-03-23  Bruno Haible  <bruno@clisp.org>
70407         pt_chown: Don't depend on GPLed modules.
70408         * lib/pt_chown.c: Don't include idpriv.h.
70409         (main): Don't drop privileges.
70410         * modules/pt_chown (Depends-on): Remove idpriv-drop.
70411         Reported by Simon Josefsson.
70413 2010-03-24  Simon Josefsson  <simon@josefsson.org>
70415         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
70416         suggestions from karl@freefriends.org (Karl Berry).
70418 2010-03-22  Eric Blake  <eblake@redhat.com>
70420         gethostname: further tweaks
70421         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
70422         are overriding gethostname.
70423         Suggested by Bruno Haible.
70425 2010-03-21  Bruno Haible  <bruno@clisp.org>
70427         Fix comments.
70428         * lib/forkpty.c (rpl_forkpty): Fix comment.
70429         * lib/openpty.c (rpl_openpty): Likewise.
70430         Reported by Eric Blake.
70432 2010-03-22  Eric Blake  <eblake@redhat.com>
70434         gethostname: fix build on mingw
70435         * lib/unistd.in.h (includes): Work around fact that mingw
70436         <winsock2.h> re-includes <unistd.h>, by avoiding any
70437         redeclarations if we are being included by <winsock2.h>.
70438         Reported by Matthias Bolte.
70440 2010-03-21  Bruno Haible  <bruno@clisp.org>
70442         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70443         * lib/forkpty.c (forkpty): New replacement function, from glibc with
70444         modifications.
70445         * lib/pty.in.h (forkpty): Update declaration. Add comments.
70446         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
70447         provide the replacement.
70448         * modules/forkpty (Depends-on): Add openpty, login_tty.
70449         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
70450         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
70451         * doc/glibc-functions/forkpty.texi: More supported platforms.
70452         * config/srclist.txt: Add forkpty.c (commented).
70454 2010-03-21  Bruno Haible  <bruno@clisp.org>
70456         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
70457         (Makefile.am): Verify that PTY_LIB is defined.
70459         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
70461 2010-03-21  Bruno Haible  <bruno@clisp.org>
70463         Tests for module 'login_tty'.
70464         * modules/login_tty-tests: New file.
70465         * tests/test-login_tty.c: New file.
70467         New module 'login_tty'.
70468         * lib/login_tty.c: New file.
70469         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
70470         * modules/login_tty: New file.
70471         * doc/glibc-functions/login_tty.texi: Mention the new module.
70473 2010-03-21  Bruno Haible  <bruno@clisp.org>
70475         login_tty: Documentation.
70476         * doc/glibc-functions/login_tty.texi: New file.
70477         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
70479 2010-03-21  Bruno Haible  <bruno@clisp.org>
70481         pty: Consistent macro naming.
70482         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
70483         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
70484         * modules/pty (configure.ac): Update.
70486 2010-03-21  Bruno Haible  <bruno@clisp.org>
70488         Tests for openpty: Make stricter.
70489         * tests/test-openpty.c (main): Add test of canonical processing and
70490         erase.
70491         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
70493         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70494         * lib/openpty.c (openpty): New replacement function.
70495         * lib/pty.in.h: Include <termios.h>.
70496         (openpty): Update declaration. Add comments.
70497         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
70498         is not declared, arrange to provide the replacement. Check for _getpty
70499         and posix_openpt.
70500         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
70501         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
70502         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
70503         * modules/pty-tests (test_pty_c___LDADD): New variable.
70504         * doc/glibc-functions/openpty.texi: More supported platforms.
70506 2010-03-21  Bruno Haible  <bruno@clisp.org>
70508         setenv: Tweaks.
70509         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
70510         the test program.
70511         * doc/posix-functions/setenv.texi: Update platforms list.
70513 2010-03-21  Bruno Haible  <bruno@clisp.org>
70515         New module 'unlockpt'.
70516         * lib/unlockpt.c: New file, from glibc with modifications.
70517         * m4/unlockpt.m4: New file.
70518         * modules/unlockpt: New file.
70519         * lib/stdlib.in.h (unlockpt): New declaration.
70520         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
70521         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
70522         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
70523         HAVE_UNLOCKPT.
70524         * doc/posix-functions/unlockpt.texi: Mention the new module.
70525         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
70526         * config/srclist.txt: Add unlockpt.c (commented).
70528 2010-03-21  Jim Meyering  <meyering@redhat.com>
70530         maint.mk: prohibit inclusion of "intprops.h" without use
70531         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
70533 2010-03-21  Bruno Haible  <bruno@clisp.org>
70535         New module 'grantpt'.
70536         * lib/grantpt.c: New file, from glibc with modifications.
70537         * m4/grantpt.m4: New file.
70538         * modules/grantpt: New file.
70539         * lib/stdlib.in.h (grantpt): New declaration.
70540         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
70541         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
70542         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
70543         HAVE_GRANTPT.
70544         * doc/posix-functions/grantpt.texi: Mention the new module.
70545         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
70546         * config/srclist.txt: Add grantpt.c (commented).
70548 2010-03-21  Bruno Haible  <bruno@clisp.org>
70550         New module 'pt_chown'.
70551         * lib/pt_chown.c: New file, from glibc with modifications.
70552         * lib/pty-private.h: New file, from glibc with modifications.
70553         * modules/pt_chown: New file.
70554         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
70556 2010-03-21  Bruno Haible  <bruno@clisp.org>
70558         Tests for module 'ptsname'.
70559         * modules/ptsname-tests: New file.
70560         * tests/test-ptsname.c: New file.
70562         New module 'ptsname'.
70563         * lib/ptsname.c: New file, from glibc with modifications.
70564         * m4/ptsname.m4: New file.
70565         * modules/ptsname: New file.
70566         * lib/stdlib.in.h (ptsname): New declaration.
70567         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
70568         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
70569         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
70570         HAVE_PTSNAME.
70571         * doc/posix-functions/ptsname.texi: Mention the new module.
70572         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
70573         * config/srclist.txt: Add ptsname.c (commented).
70575 2010-03-21  Bruno Haible  <bruno@clisp.org>
70577         Tests for module 'ttyname_r'.
70578         * modules/ttyname_r-tests: New file.
70579         * tests/test-ttyname_r.c: New file.
70581         New module 'ttyname_r'.
70582         * lib/ttyname_r.c: New file.
70583         * m4/ttyname_r.m4: New file.
70584         * modules/ttyname_r: New file.
70585         * lib/unistd.in.h (ttyname_r): New declaration.
70586         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
70587         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
70588         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
70589         HAVE_TTYNAME_R.
70590         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
70591         * doc/posix-functions/ttyname_r.texi: Mention the new module.
70593 2010-03-20  Bruno Haible  <bruno@clisp.org>
70595         signal: Undefine macro definitions in C++ mode.
70596         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
70597         sigfillset): Undefine macro definitions from the system header in C++
70598         mode.
70599         Reported by John W. Eaton <jwe@gnu.org>.
70601 2010-03-20  Bruno Haible  <bruno@clisp.org>
70603         Ensure no #include statements inside extern "C" { ... }.
70604         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
70605         contain #include statements.
70606         * lib/time.in.h: Likewise.
70608 2010-03-20  Bruno Haible  <bruno@clisp.org>
70610         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
70611         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
70612         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
70613         Reported by John W. Eaton <jwe@gnu.org>.
70615 2010-03-20  Bruno Haible  <bruno@clisp.org>
70617         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
70618         Reported by Jim Meyering.
70620 2010-03-20  Bruno Haible  <bruno@clisp.org>
70622         pipe: Set errno upon failure.
70623         * lib/pipe.h: Specify that when -1 is returned, errno is set.
70624         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
70625         errno value in error message.
70627 2010-03-20  Bruno Haible  <bruno@clisp.org>
70628             Jim Meyering  <meyering@redhat.com>
70630         lchown: Avoid "unused variable" warning.
70631         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
70633 2010-03-20  Bruno Haible  <bruno@clisp.org>
70635         Work around unlink() bug on MacOS X 10.5.6.
70636         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
70637         attempting to unlink a parent directory.
70638         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
70639         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
70640         activate for the replacement function.
70641         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
70643 2010-03-20  Bruno Haible  <bruno@clisp.org>
70645         Fix link errors on Solaris 8.
70646         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
70647         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
70649 2010-03-19  Jim Meyering  <meyering@redhat.com>
70651         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
70652         The _LIBC implementation of build_range_exp correctly honors the
70653         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
70654         However, the non-_LIBC implementation would ignore that syntax-bit
70655         flag and return REG_ERANGE unconditionally.
70656         This change makes it honor that flag.
70657         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
70658         Make two pointer parameters "const".
70659         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
70660         (parse_bracket_exp): Update caller.
70662         regex.m4: correct the reversed range endpoint ([b-a]) test
70663         * m4/regex.m4: When requiring that [b-a] evoke failure,
70664         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
70665         test pass once again for x86-based systems.
70667 2010-03-19  Bruno Haible  <bruno@clisp.org>
70669         scandir: Fix link error on Solaris 8.
70670         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
70671         macros.
70673 2010-03-19  Bruno Haible  <bruno@clisp.org>
70675         getusershell: Fix documentation.
70676         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
70677         module.
70678         * doc/glibc-functions/setusershell.texi: Likewise.
70680         getusershell: Provide declaration, missing on Solaris 9.
70681         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
70682         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
70683         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
70684         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
70685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70686         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
70687         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
70688         HAVE_GETUSERSHELL.
70689         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
70691 2010-03-19  Bruno Haible  <bruno@clisp.org>
70693         wctype: Provide iswblank function.
70694         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
70695         exists and is fine.
70696         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
70697         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
70698         * tests/test-wctype.c (main): Re-enable the iswblank tests.
70699         * doc/posix-functions/iswblank.texi: Update.
70701 2010-03-19  Bruno Haible  <bruno@clisp.org>
70703         Tests of module 'pty' in C++ mode.
70704         * modules/pty-tests: New file.
70705         * tests/test-pty-c++.cc: New file.
70706         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70708 2010-03-19  Eric Blake  <eblake@redhat.com>
70710         logb: fix documentation
70711         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
70712         1.5 declaration bug.
70714         forkpty, openpty: prefer glibc's const-safe prototype
70715         * lib/forkpty.c (rpl_forkpty): New file.
70716         * lib/openpty.c (rpl_openpty): Likewise.
70717         * modules/forkpty (Files): Distribute it.
70718         * modules/openpty (Files): Likewise.
70719         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
70720         check...
70721         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
70722         replacement for non-const BSD signature.
70723         * modules/pty (Makefile.am): Substitute witnesses.
70724         * lib/pty.in.h (forkpty, openpty): Declare replacements.
70725         * tests/test-forkpty.c: Update signature check.
70726         * tests/test-openpty.c: Likewise.
70727         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
70728         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70730         forkpty, openpty: split functions into new modules
70731         * modules/pty (Makefile.am): Substitute new witnesses.
70732         (Libraries): Move library detection...
70733         * modules/forkpty: ...into new module.
70734         * modules/openpty: Another new module.
70735         * modules/pty-tests: Rename and split...
70736         * modules/forkpty-tests: ...to this...
70737         * modules/openpty-tests: ...and this.
70738         * tests/test-pty.c: Rename and split...
70739         * tests/test-forkpty.c: ...to this...
70740         * tests/test-openpty.c: ...and this.
70741         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
70742         (gl_PTY): Split library searching...
70743         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
70744         (gl_FORKPTY, gl_OPENPTY): New macros.
70745         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
70746         * NEWS: Mention the split.
70747         * MODULES.html.sh (Misc): Document the modules.
70748         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
70749         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70751         pty: improve replacement header
70752         * lib/pty.in.h: New file.
70753         * modules/pty (Files): Ship it.
70754         (Makefile.am): Always build replacement.
70755         * m4/pty.m4: Rename...
70756         * m4/pty_h.m4: ...to this.
70757         (gl_PTY): Modernize setting of witness macros; update check of
70758         forkpty to take proper advantage of cache.
70759         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
70761         getopt: avoid compiler warning
70762         * lib/getopt.c (attribute_hidden): Remove unused macro.
70764 2010-03-18  Bruno Haible  <bruno@clisp.org>
70766         Fix link errors on Solaris 8.
70767         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
70768         * modules/search-tests (test_search_c___LDADD): Likewise.
70769         * modules/signal-tests (test_signal_c___LDADD): Likewise.
70770         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
70771         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
70772         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
70773         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
70774         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
70775         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
70777 2010-03-18  Bruno Haible  <bruno@clisp.org>
70779         Fix bug introduced on 2010-03-14.
70780         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
70781         (gl_SPAWN_H): Require it.
70782         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
70783         Reported by Simon Josefsson.
70785 2010-03-18  Bruno Haible  <bruno@clisp.org>
70787         Fix typo introduced on 2009-12-31.
70788         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
70789         posix_spawn_file_actions_adddup2.
70791 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
70792         and Eric Blake  <eblake@redhat.com>
70794         test-vc-list-files-git: make more robust
70795         * tests/test-vc-list-files-git.sh: Unset problematic environment
70796         variables.  Chain commands together.
70798 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
70800         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
70801         `AC_CHECK_DECL' invocation.
70803 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
70805         * lib/inttostr.c (inttostr): Make sure the invocation of verify
70806         appears before executable statements. Suggested by Petr Sumbera
70807         <Petr.Sumbera@Sun.COM>.
70809 2010-03-14  Bruno Haible  <bruno@clisp.org>
70811         * tests/test-flock.c (test_exclusive): Comment out a test that causes
70812         portability problems. Instead use a simpler test.
70813         (main): Check that invalid arguments are rejected only on Linux.
70815 2010-03-14  Bruno Haible  <bruno@clisp.org>
70817         Fix bug introduced on 2009-12-31.
70818         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
70819         gl_PREREQ_SYS_H_WINSOCK2 always.
70820         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
70821         SYS_SOCKET_H variable.
70822         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
70823         Update comments.
70824         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
70825         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
70826         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
70827         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
70828         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
70830 2010-03-14  Bruno Haible  <bruno@clisp.org>
70832         Fix values returned by sinl, cosl.
70833         * lib/trigl.h: Add specification comments.
70834         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
70835         that combines the values from the precomputed table with the values of
70836         the Chebyshev polynomials.
70838 2010-03-14  Bruno Haible  <bruno@clisp.org>
70840         Fix compilation error when modules 'posix_spawn[p]' are not used.
70841         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
70842         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
70844 2010-03-14  Bruno Haible  <bruno@clisp.org>
70846         Fix compilation error on mingw when module 'time_r' is not used.
70847         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
70848         is 1.
70849         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
70850         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70851         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
70852         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
70854 2010-03-14  Bruno Haible  <bruno@clisp.org>
70856         Fix compilation error with Sun C.
70857         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
70858         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
70859         instead of GCC specific ULONG_LONG_MAX.
70860         * lib/xstrtoll.c: Likewise.
70861         * lib/xstrtoull.c: Likewise.
70863 2010-03-13  Bruno Haible  <bruno@clisp.org>
70865         Allow the user to disable C++ code and tests.
70866         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
70867         (gl_PROG_ANSI_CXX): Require it.
70869 2010-03-13  Bruno Haible  <bruno@clisp.org>
70871         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
70872         cases.
70874 2010-03-13  Bruno Haible  <bruno@clisp.org>
70876         Test that gnulib does not break the standard C++ headers.
70877         * tests/test-locale-c++2.cc: New file.
70878         * modules/locale-tests (Files): Add it.
70879         (Makefile.am): Compile it for test-locale-c++.
70880         * tests/test-math-c++2.cc: New file.
70881         * modules/math-tests (Files): Add it.
70882         (Makefile.am): Compile it for test-math-c++.
70883         * tests/test-signal-c++2.cc: New file.
70884         * modules/signal-tests (Files): Add it.
70885         (Makefile.am): Compile it for test-signal-c++.
70886         * tests/test-stdio-c++2.cc: New file.
70887         * modules/stdio-tests (Files): Add it.
70888         (Makefile.am): Compile it for test-stdio-c++.
70889         * tests/test-stdlib-c++2.cc: New file.
70890         * modules/stdlib-tests (Files): Add it.
70891         (Makefile.am): Compile it for test-stdlib-c++.
70892         * tests/test-string-c++2.cc: New file.
70893         * modules/string-tests (Files): Add it.
70894         (Makefile.am): Compile it for test-string-c++.
70895         * tests/test-time-c++2.cc: New file.
70896         * modules/time-tests (Files): Add it.
70897         (Makefile.am): Compile it for test-time-c++.
70898         Reported by John W. Eaton <jwe@gnu.org>.
70900 2010-03-13  Bruno Haible  <bruno@clisp.org>
70902         * gnulib-tool (func_usage): Clarify which options are available for
70903         --create-testdir and --create-megatestdir.
70905 2010-03-13  Bruno Haible  <bruno@clisp.org>
70907         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
70908         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
70909         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
70910         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
70911         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
70912         when appropriate.
70913         Reported by Jim Meyering.
70915 2010-03-12  Simon Josefsson  <simon@josefsson.org>
70917         * gnulib-tool (func_import): Explain origin of code.
70919 2010-03-12  Bruno Haible  <bruno@clisp.org>
70921         Fix problem with automake's definition of CXXLINK.
70922         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
70923         Reported by Simon Josefsson and Ludovic Courtès.
70925 2010-03-12  Bruno Haible  <bruno@clisp.org>
70927         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
70928         stable releases.
70930 2010-03-11  Bruno Haible  <bruno@clisp.org>
70932         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
70933         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
70934         whether the system provides one variant or multiple variants of the
70935         function.
70936         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
70937         C++ compilers.
70938         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
70939         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
70940         Reported by Jim Meyering.
70942 2010-03-09  Simon Josefsson  <simon@josefsson.org>
70944         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
70946 2010-03-08  Bruno Haible  <bruno@clisp.org>
70948         gnulib-tool: Add support for --libtool in --create-testdir.
70949         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
70950         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
70952 2010-03-08  Eric Blake  <eblake@redhat.com>
70954         gnulib-tool.texi: mention possibility of git submodule
70955         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
70956         submodules.
70957         * doc/.gitignore: Ignore another generated file.
70959 2010-03-08  Karl Berry  <karl@gnu.org>
70961         * doc/gnulib-tool.texi (VCS Issues): Mention third option
70962         of committing gnulib files while skipping others.
70964 2010-03-07  Bruno Haible  <bruno@clisp.org>
70966         Tests of module 'wctype' in C++ mode.
70967         * tests/test-wctype-c++.cc: New file.
70968         * modules/wctype-tests (Files): Add it and tests/signature.h.
70969         (Depends-on): Add ansi-c++-opt.
70970         (Makefile.am): Arrange to compile and run test-wctype-c++.
70972         Tests of module 'wchar' in C++ mode.
70973         * tests/test-wchar-c++.cc: New file.
70974         * modules/wchar-tests (Files): Add it and tests/signature.h.
70975         (Depends-on): Add ansi-c++-opt.
70976         (Makefile.am): Arrange to compile and run test-wchar-c++.
70977         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
70978         gl_MODULE_INDICATOR.
70980         Tests of module 'unistd' in C++ mode.
70981         * tests/test-unistd-c++.cc: New file.
70982         * modules/unistd-tests (Files): Add it and tests/signature.h.
70983         (Depends-on): Add ansi-c++-opt.
70984         (Makefile.am): Arrange to compile and run test-unistd-c++.
70985         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
70986         gl_MODULE_INDICATOR.
70988         Tests of module 'time' in C++ mode.
70989         * tests/test-time-c++.cc: New file.
70990         * modules/time-tests (Files): Add it and tests/signature.h.
70991         (Depends-on): Add ansi-c++-opt.
70992         (Makefile.am): Arrange to compile and run test-time-c++.
70993         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70995         Tests of module 'sys_time' in C++ mode.
70996         * tests/test-sys_time-c++.cc: New file.
70997         * modules/sys_time-tests (Files): Add it and tests/signature.h.
70998         (Depends-on): Add ansi-c++-opt.
70999         (Makefile.am): Arrange to compile and run test-sys_time-c++.
71000         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
71001         gl_MODULE_INDICATOR.
71003         Tests of module 'sys_stat' in C++ mode.
71004         * tests/test-sys_stat-c++.cc: New file.
71005         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
71006         (Depends-on): Add ansi-c++-opt.
71007         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
71008         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
71009         gl_MODULE_INDICATOR.
71011         Tests of module 'sys_socket' in C++ mode.
71012         * tests/test-sys_socket-c++.cc: New file.
71013         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
71014         (Depends-on): Add ansi-c++-opt.
71015         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
71016         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
71017         gl_MODULE_INDICATOR.
71019         Tests of module 'sys_select' in C++ mode.
71020         * tests/test-sys_select-c++.cc: New file.
71021         * modules/sys_select-tests (Files): Add it and tests/signature.h.
71022         (Depends-on): Add ansi-c++-opt.
71023         (Makefile.am): Arrange to compile and run test-sys_select-c++.
71024         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
71025         gl_MODULE_INDICATOR.
71027         Tests of module 'sys_ioctl' in C++ mode.
71028         * tests/test-sys_ioctl-c++.cc: New file.
71029         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
71030         (Depends-on): Add ansi-c++-opt.
71031         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
71032         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
71033         gl_MODULE_INDICATOR.
71035         Tests of module 'string' in C++ mode.
71036         * tests/test-string-c++.cc: New file.
71037         * modules/string-tests (Files): Add it and tests/signature.h.
71038         (Depends-on): Add ansi-c++-opt.
71039         (Makefile.am): Arrange to compile and run test-string-c++.
71040         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
71041         gl_MODULE_INDICATOR.
71043         Tests of module 'stdlib' in C++ mode.
71044         * tests/test-stdlib-c++.cc: New file.
71045         * modules/stdlib-tests (Files): Add it and tests/signature.h.
71046         (Depends-on): Add ansi-c++-opt.
71047         (Makefile.am): Arrange to compile and run test-stdlib-c++.
71048         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
71049         gl_MODULE_INDICATOR.
71051         Tests of module 'stdio' in C++ mode.
71052         * tests/test-stdio-c++.cc: New file.
71053         * modules/stdio-tests (Files): Add it and tests/signature.h.
71054         (Depends-on): Add ansi-c++-opt.
71055         (Makefile.am): Arrange to compile and run test-stdio-c++.
71056         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
71057         gl_MODULE_INDICATOR.
71059         Tests of module 'spawn' in C++ mode.
71060         * tests/test-spawn-c++.cc: New file.
71061         * modules/spawn-tests (Files): Add it and tests/signature.h.
71062         (Depends-on): Add ansi-c++-opt.
71063         (Makefile.am): Arrange to compile and run test-spawn-c++.
71064         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
71065         gl_MODULE_INDICATOR.
71067         Tests of module 'signal' in C++ mode.
71068         * tests/test-signal-c++.cc: New file.
71069         * modules/signal-tests (Files): Add it and tests/signature.h.
71070         (Depends-on): Add ansi-c++-opt.
71071         (Makefile.am): Arrange to compile and run test-signal-c++.
71072         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
71073         gl_MODULE_INDICATOR.
71075         Tests of module 'search' in C++ mode.
71076         * tests/test-search-c++.cc: New file.
71077         * modules/search-tests (Files): Add it and tests/signature.h.
71078         (Depends-on): Add ansi-c++-opt.
71079         (Makefile.am): Arrange to compile and run test-search-c++.
71080         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
71081         gl_MODULE_INDICATOR.
71083         Tests of module 'math' in C++ mode.
71084         * tests/test-math-c++.cc: New file.
71085         * modules/math-tests (Files): Add it and tests/signature.h.
71086         (Depends-on): Add ansi-c++-opt.
71087         (Makefile.am): Arrange to compile and run test-math-c++.
71088         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71090         Tests of module 'locale' in C++ mode.
71091         * tests/test-locale-c++.cc: New file.
71092         * modules/locale-tests (Files): Add it and tests/signature.h.
71093         (Depends-on): Add ansi-c++-opt.
71094         (Makefile.am): Arrange to compile and run test-locale-c++.
71095         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
71096         gl_MODULE_INDICATOR.
71098         Tests of module 'langinfo' in C++ mode.
71099         * tests/test-langinfo-c++.cc: New file.
71100         * modules/langinfo-tests (Files): Add it and tests/signature.h.
71101         (Depends-on): Add ansi-c++-opt.
71102         (Makefile.am): Arrange to compile and run test-langinfo-c++.
71103         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
71104         gl_MODULE_INDICATOR.
71106         Tests of module 'iconv-h' in C++ mode.
71107         * tests/test-iconv-h-c++.cc: New file.
71108         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
71109         (Depends-on): Add ansi-c++-opt.
71110         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
71112         Tests of module 'glob' in C++ mode.
71113         * tests/test-glob-c++.cc: New file.
71114         * modules/glob-tests (Files): Add it.
71115         (Depends-on): Add ansi-c++-opt.
71116         (Makefile.am): Arrange to compile and run test-glob-c++.
71118         Tests of module 'fcntl-h' in C++ mode.
71119         * tests/test-fcntl-h-c++.cc: New file.
71120         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
71121         (Depends-on): Add ansi-c++-opt.
71122         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
71123         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
71124         gl_MODULE_INDICATOR.
71126         Tests of module 'dirent' in C++ mode.
71127         * tests/test-dirent-c++.cc: New file.
71128         * modules/dirent-tests (Files): Add it and tests/signature.h.
71129         (Depends-on): Add ansi-c++-opt.
71130         (Makefile.am): Arrange to compile and run test-dirent-c++.
71131         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71132         gl_MODULE_INDICATOR.
71134         New module 'ansi-c++-opt'.
71135         * modules/ansi-c++-opt: New file.
71136         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
71138         Document C++ namespace mode.
71139         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
71141         wctype: Avoid #define replacements in C++ mode.
71142         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
71143         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
71144         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
71145         In C++, define a namespaced alias symbol.
71146         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
71147         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
71148         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
71149         rule.
71151         wchar: Avoid #define replacements in C++ mode.
71152         * lib/wchar.in.h: Include c++defs.h.
71153         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
71154         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
71155         symbol.
71156         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
71157         * modules/wchar (Depends-on): Add c++defs.
71158         (Makefile.am): Update wchar.h rule.
71160         unistd: Avoid #define replacements in C++ mode.
71161         * lib/unistd.in.h: Include c++defs.h.
71162         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
71163         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
71164         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
71165         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
71166         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
71167         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
71168         symbol.
71169         (environ): Update.
71170         * modules/unistd (Depends-on): Add c++defs.
71171         (Makefile.am): Update unistd.h rule.
71173         time: Avoid #define replacements in C++ mode.
71174         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
71175         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
71176         define a namespaced alias symbol.
71177         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
71178         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
71179         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
71180         * modules/time (Depends-on): Add c++defs, warn-on-use.
71181         (Makefile.am): Update time.h rule.
71182         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71183         * modules/nanosleep (configure.ac): Likewise.
71184         * modules/strptime (configure.ac): Likewise.
71185         * modules/timegm (configure.ac): Likewise.
71187         sys_time: Avoid #define replacements in C++ mode.
71188         * lib/sys_time.in.h: Include c++defs.h.
71189         (gettimeofday): In C++, define a namespaced alias symbol.
71190         * modules/sys_time (Depends-on): Add c++defs.
71191         (Makefile.am): Update sys/time.h rule.
71193         sys_stat: Avoid #define replacements in C++ mode.
71194         * lib/sys_stat.in.h: Include c++defs.h.
71195         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
71196         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
71197         namespaced alias symbol.
71198         In C++, define a namespaced alias symbol.
71199         * modules/sys_stat (Depends-on): Add c++defs.
71200         (Makefile.am): Update sys/stat.h rule.
71202         sys_socket: Avoid #define replacements in C++ mode.
71203         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
71204         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
71205         definitions also when the system has a <sys/socket.h>.
71206         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
71207         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
71208         In C++, define a namespaced alias symbol.
71209         * modules/sys_socket (Depends-on): Add c++defs.
71210         (Makefile.am): Update sys/socket.h rule.
71212         sys_select: Avoid #define replacements in C++ mode.
71213         * lib/sys_select.in.h: Include c++defs.h. Enable the function
71214         definitions also when the system has a <sys/select.h>.
71215         (select): In C++, define a namespaced alias symbol.
71216         * modules/sys_select (Depends-on): Add c++defs.
71217         (Makefile.am): Update sys/select.h rule.
71219         sys_ioctl: Avoid #define replacements in C++ mode.
71220         * lib/sys_ioctl.in.h: Include c++defs.h.
71221         (ioctl): In C++, define a namespaced alias symbol.
71222         * modules/sys_ioctl (Depends-on): Add c++defs.
71223         (Makefile.am): Update sys/ioctl.h rule.
71225         string: Avoid #define replacements in C++ mode.
71226         * lib/string.in.h: Include c++defs.h.
71227         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
71228         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
71229         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
71230         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
71231         strsignal, strverscmp): In C++, define a namespaced alias symbol.
71232         * modules/string (Depends-on): Add c++defs.
71233         (Makefile.am): Update string.h rule.
71235         stdlib: Avoid #define replacements in C++ mode.
71236         * lib/stdlib.in.h: Include c++defs.h.
71237         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
71238         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
71239         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
71240         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
71241         symbol.
71242         * modules/stdlib (Depends-on): Add c++defs.
71243         (Makefile.am): Update stdlib.h rule.
71245         stdio: Avoid #define replacements in C++ mode.
71246         * lib/stdio.in.h: Include c++defs.h.
71247         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
71248         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
71249         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
71250         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
71251         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
71252         namespaced alias symbol.
71253         * modules/stdio (Depends-on): Add c++defs.
71254         (Makefile.am): Update stdio.h rule.
71256         spawn: Avoid #define replacements in C++ mode.
71257         * lib/spawn.in.h: Include c++defs.h.
71258         (posix_spawn, posix_spawnp, posix_spawnattr_init,
71259         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
71260         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
71261         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
71262         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
71263         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
71264         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
71265         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
71266         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
71267         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
71268         In C++, define a namespaced alias symbol.
71269         * modules/spawn (Depends-on): Add c++defs.
71270         (Makefile.am): Update spawn.h rule.
71272         signal: Avoid #define replacements in C++ mode.
71273         * lib/signal.in.h: Include c++defs.h.
71274         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
71275         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
71276         namespaced alias symbol.
71277         * modules/signal (Depends-on): Add c++defs.
71278         (Makefile.am): Update signal.h rule.
71280         search: Avoid #define replacements in C++ mode.
71281         * lib/search.in.h: Include c++defs.h.
71282         (_gl_search_compar_fn, _gl_search_action_fn): New types.
71283         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
71284         symbol.
71285         * modules/search (Depends-on): Add c++defs.
71286         (Makefile.am): Update search.h rule.
71288         math: Avoid #define replacements in C++ mode.
71289         * lib/math.in.h: Include c++defs.h.
71290         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
71291         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
71292         trunc, truncl): In C++, define a namespaced alias symbol.
71293         * modules/math (Depends-on): Add c++defs.
71294         (Makefile.am): Update math.h rule.
71296         locale: Avoid #define replacements in C++ mode.
71297         * lib/locale.in.h: Include c++defs.h.
71298         (duplocale): In C++, define a namespaced alias symbol.
71299         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
71300         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
71301         * modules/locale (Depends-on): Add c++defs.
71302         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
71304         langinfo: Avoid #define replacements in C++ mode.
71305         * lib/langinfo.in.h: Include c++defs.h.
71306         (nl_langinfo): In C++, define a namespaced alias symbol.
71307         * modules/langinfo (Depends-on): Add c++defs.
71308         (Makefile.am): Update langinfo.h rule.
71310         iconv-h: Avoid #define replacements in C++ mode.
71311         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
71312         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71313         symbol.
71314         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
71315         whenever iconv is present.
71316         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
71317         (Makefile.am): Update iconv.h rule.
71319         glob: Avoid #define replacements in C++ mode.
71320         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
71321         (_gl_glob_errfunc_fn): New type.
71322         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
71323         symbol.
71324         * modules/glob (Depends-on): Add c++defs, warn-on-use.
71325         (Makefile.am): Update glob.h rule.
71327         fcntl-h: Avoid #define replacements in C++ mode.
71328         * lib/fcntl.in.h: Include c++defs.h.
71329         (fcntl, open, openat): In C++, define a namespaced alias symbol.
71330         * modules/fcntl-h (Depends-on): Add c++defs.
71331         (Makefile.am): Update fcntl.h rule.
71333         dirent: Avoid #define replacements in C++ mode.
71334         * lib/dirent.in.h: Include c++defs.h.
71335         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
71336         namespaced alias symbol.
71337         (dirfd): Update declaration.
71338         * modules/dirent (Depends-on): Add c++defs.
71339         (Makefile.am): Update dirent.h rule.
71341         ctype: Make it usable in C++ code.
71342         * lib/ctype.in.h: Include c++defs.h.
71343         (isblank): Declare as extern "C".
71344         * modules/ctype (Depends-on): Add c++defs.
71345         (Makefile.am): Update ctype.h rule.
71347         New module 'c++defs'.
71348         * modules/c++defs: New file.
71349         * build-aux/c++defs.h: New file.
71350         Reported by John W. Eaton <jwe@gnu.org>.
71352 2010-03-07  Bruno Haible  <bruno@clisp.org>
71354         logb: Provide missing declaration for Cygwin.
71355         * lib/math.in.h (logb): New declaration.
71356         * m4/logb.m4: New file.
71357         * modules/logb (Files): Add m4/logb.m4.
71358         (Depends-on): Add math.
71359         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
71360         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
71361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
71362         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
71363         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
71365 2010-03-07  Bruno Haible  <bruno@clisp.org>
71367         Fix test-cond link error.
71368         * tests/test-cond.c: Include <stdio.h>.
71370 2010-03-07  Bruno Haible  <bruno@clisp.org>
71372         Fix test-dirent-safer link error.
71373         * modules/dirent-safer-tests (Makefile.am): Define
71374         test_dirent_safer_LDADD.
71376 2010-03-07  Bruno Haible  <bruno@clisp.org>
71378         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
71379         among default module list.
71381 2010-03-07  Bruno Haible  <bruno@clisp.org>
71383         Fix link error on platforms with GNU libiconv.
71384         * modules/unistr/u8-strcoll-tests (Makefile): Define
71385         test_u8_strcoll_LDADD.
71386         * modules/unistr/u16-strcoll-tests (Makefile): Define
71387         test_u16_strcoll_LDADD.
71388         * modules/unistr/u32-strcoll-tests (Makefile): Define
71389         test_u32_strcoll_LDADD.
71391 2010-03-07  Bruno Haible  <bruno@clisp.org>
71393         Use POSIX declarations for socket functions.
71394         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
71395         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
71396         rpl_sendto): Change declaration to match POSIX.
71397         * lib/connect.c (rpl_connect): Likewise.
71398         * lib/accept.c (rpl_accept): Likewise.
71399         * lib/bind.c (rpl_bind): Likewise.
71400         * lib/getpeername.c (rpl_getpeername): Likewise.
71401         * lib/getsockname.c (rpl_getsockname): Likewise.
71402         * lib/recv.c (rpl_recv): Likewise.
71403         * lib/send.c (rpl_send): Likewise.
71404         * lib/recvfrom.c (rpl_recvfrom): Likewise.
71405         * lib/sendto.c (rpl_sendto): Likewise.
71407 2010-03-06  Bruno Haible  <bruno@clisp.org>
71409         Clarify access, euidaccess, faccessat.
71410         * doc/posix-functions/faccessat.texi: Mention security problem under
71411         "Other problems", not "Portability problems".
71412         * doc/posix-functions/access.texi: Likewise. Mention a related security
71413         problem.
71414         * doc/glibc-functions/euidaccess.texi: Mention security problems.
71415         * lib/euidaccess.c: Add comments about platforms.
71416         * lib/unistd.in.h (access, euidaccess): Add warnings.
71418 2010-03-07  Bruno Haible  <bruno@clisp.org>
71420         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
71421         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
71422         (POSIX_SPAWN_SETSCHEDULER): Likewise.
71423         (POSIX_SPAWN_USEVFORK): Define in a way that works when
71424         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71425         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
71426         declare when POSIX_SPAWN_SETSCHEDULER is zero.
71427         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
71428         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
71429         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
71430         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
71431         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
71432         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
71433         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
71434         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
71435         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
71436         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
71437         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
71438         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
71439         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
71440         Likewise.
71441         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
71442         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
71443         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
71444         Likewise.
71445         * tests/test-spawn.c (main): Make it work when
71446         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71448 2010-03-07  Bruno Haible  <bruno@clisp.org>
71450         Fix incorrect Makefile.am generation in German locale.
71451         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71452         Execute sed command with character range in C locale.
71454 2010-03-06  Bruno Haible  <bruno@clisp.org>
71456         Tests for module 'iconv-h'.
71457         * modules/iconv-h-tests: New file.
71458         * tests/test-iconv-h.c: New file.
71460         New module 'iconv-h'.
71461         * modules/iconv-h: New file.
71462         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
71463         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
71464         (configure.ac): Remove gl_ICONV_H.
71465         (Makefile.am): Remove rule for iconv.h.
71467 2010-03-06  Bruno Haible  <bruno@clisp.org>
71469         More consistent naming of *.m4 files.
71470         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
71471         * modules/wctype (Files): Update.
71473         More consistent naming of *.m4 files.
71474         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
71475         * modules/wchar (Files): Update.
71477 2010-03-06  Jim Meyering  <meyering@redhat.com>
71479         euidaccess: relax license to LGPLv2+
71480         * modules/euidaccess (License): Relax to LGPLv2+.
71482 2010-03-06  Bruno Haible  <bruno@clisp.org>
71484         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
71485         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
71486         (Makefile.am): Augment lib_SOURCES instead.
71488 2010-03-04  Jim Meyering  <meyering@redhat.com>
71490         utime: remove obsolete module
71491         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
71492         unnecessary for years, and has been marked as obsolete for 10 months.
71493         * modules/utime: Remove file.
71494         * lib/utime.c: Remove file.
71495         * m4/utime.m4: Remove file.
71496         * m4/utimes-null.m4: Remove file.
71497         * doc/posix-functions/utime.texi (utime): Remove reference to
71498         the module.  Move the sole "fixed by gnulib" item into the
71499         "problems not fixed by Gnulib" list.
71500         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
71502 2010-03-05  Simon Josefsson  <simon@josefsson.org>
71504         * modules/exit (License): Relax license to LGPLv2+.
71505         (Status): Mark as obsolete.
71506         * NEWS: Mention deprecated 'exit' module.
71507         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
71508         of now obsolete 'exit'.
71510 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71512         fts-lgpl: remove unused module
71513         * modules/fts-lgpl: Remove.
71514         * MODULES.html.sh (func_all_modules): Adjust.
71515         * check-module (find_included_lib_files): Adjust.
71516         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
71518 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
71520         copy-acl: enhance Solaris ACL error handling
71521         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
71522         * lib/set-mode-acl.c (qset_acl): Likewise.
71524 2010-03-02  Bruno Haible  <bruno@clisp.org>
71526         spawn: Don't override the system defined values on FreeBSD 8.
71527         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
71528         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
71529         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
71530         if HAVE_POSIX_SPAWN is 1.
71531         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
71533 2010-03-01  Bruno Haible  <bruno@clisp.org>
71535         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
71536         regarding Automake.
71538 2010-02-25  Bruno Haible  <bruno@clisp.org>
71540         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
71541         * gnulib-tool: Define 'echo' as a function only before the ksh alias
71542         setting, not afterwards.
71543         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
71545 2010-02-24  Eric Blake  <eblake@redhat.com>
71547         bootstrap, git-version-gen: use timestamp
71548         * build-aux/git-version-gen (scriptversion): Force UTC.
71549         * build-aux/bootstrap (scriptversion): New variable.
71551         bootstrap: allow older git
71552         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
71553         older than 1.6.4.  Requested by the libvirt project.
71555 2010-02-23  Eric Blake  <eblake@redhat.com>
71557         warn-on-use: work with old autoconf
71558         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
71559         AS_VAR semantics of autoconf 2.60.
71560         Reported by Bruno Haible.
71562         bootstrap: improve some comments
71563         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
71564         clarification comments.
71566         gettimeofday: provide correct function
71567         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
71568         when replacement is declared, otherwise provide gettimeofday.
71569         Reported by Michael Goffioul.
71571 2010-02-23  Jim Meyering  <meyering@redhat.com>
71573         lib-ignore: relax license to "unlimited", not LGPLv2+
71574         * modules/lib-ignore (License): Relax to "unlimited".
71576 2010-02-23  Jim Meyering  <meyering@redhat.com>
71578         lib-ignore: relax license to LGPLv2+
71579         * modules/lib-ignore (License): Relax to LGPLv2+.
71581 2010-02-22  Eric Blake  <eblake@redhat.com>
71583         lseek: avoid bash 3.2 broken pipe bug
71584         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
71585         warning from bash 3.2.
71586         Reported by Ben Pfaff, with analysis from Bruno Haible.
71588         bootstrap: support non-FSF copyright holder
71589         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
71590         bootstrap.conf override of COPYRIGHT_HOLDER.
71591         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
71593         bootstrap: interoperate with gettext 0.14.1
71594         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
71596         bootstrap: allow for alternate submodule location
71597         * build-aux/bootstrap (gnulib_path): New variable; use instead of
71598         hardcoding submodule location.
71599         (gnulib_mk): Allow direct use of Makefile.am.
71601         bootstrap: use GNULIB_SRCDIR to reduce disk usage
71602         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
71603         rather than reconfiguring where the submodule points.
71605         gettimeofday: restore support for platforms that lack function
71606         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
71607         replacement if function is missing.
71608         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
71609         * modules/sys_time (Makefile.am): Substitute it.
71610         * lib/sys_time.in.h (gettimeofday): Check it.
71611         Reported by Michael Goffioul.
71613 2010-02-21  Bruno Haible  <bruno@clisp.org>
71615         * lib/stdio.in.h (obstack_printf): Fix typo.
71617 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
71619         vc-list-files: use bzr ls's -R option
71620         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
71621         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
71623 2010-02-21  Jim Meyering  <meyering@redhat.com>
71625         init.sh: fix EXEEXT shims to work also for names like test-prog
71626         * tests/init.sh: Re-exec a better shell, when needed.
71627         If the current shell lacks support for posix $(...), an init.sh-using
71628         test will now try to find a shell that supports that.  If EXEEXT is
71629         nonempty, we also require support for hyphen-in-alias-name and shell
71630         substitutions like ${var#glob}.  Failure to find such a shell results
71631         in a skipped test.
71633 2010-02-21  Bruno Haible  <bruno@clisp.org>
71635         Really work around "broken pipe" error message from bash 3.2.
71636         * gnulib-tool (func_reset_sigpipe): Remove function.
71637         (echo): In bash 3.2, define to a function that uses printf.
71638         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
71640 2010-02-20  Bruno Haible  <bruno@clisp.org>
71642         Restore support for automake 1.9.6 with autoconf 2.61.
71643         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
71644         Reported by James Youngman <jay@gnu.org>.
71646 2010-02-20  Bruno Haible  <bruno@clisp.org>
71648         Improve *printf warning condition.
71649         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
71650         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
71651         and the function is overridden due to SIGPIPE emulation.
71653 2010-02-20  Bruno Haible  <bruno@clisp.org>
71655         * lib/stdio.in.h: Tweak comments.
71657 2010-02-19  Bruno Haible  <bruno@clisp.org>
71659         Make it easier to find modules. New gnulib-tool option '--find'.
71660         * gnulib-tool: New option --find.
71661         (func_usage): Document it.
71662         (func_sanitize_modulelist): New function, extracted from
71663         func_all_modules.
71664         (func_all_modules): Invoke it.
71665         * doc/gnulib-tool.texi (Which modules?): New node.
71667 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
71669         * lib/sys_select.in.h: Provide select replacement even if
71670         sys/select.h exists on a system, for Interix.
71672 2010-02-18  Jim Meyering  <meyering@redhat.com>
71674         init.sh: don't use $(...) just yet
71675         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
71676         to accommodate e.g., Solaris' /bin/sh.
71678 2010-02-17  Bruno Haible  <bruno@clisp.org>
71680         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
71681         Reported by Ludovic Courtès <ludo@gnu.org>.
71683 2010-02-16  Simon Josefsson  <simon@josefsson.org>
71685         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
71686         linking with -lintl.
71688 2010-02-17  Simon Josefsson  <simon@josefsson.org>
71690         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
71691         if not provided by the system's netdb.h.  Reported by
71692         ludo@gnu.org (Ludovic Courtès).
71694 2010-02-15  Jim Meyering  <meyering@redhat.com>
71696         init.sh: improve portability and efficiency
71697         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
71698         "dummy" in a for loop.
71699         Use '!', not '^' to select the complement of a character set used
71700         in a "case" statement.
71701         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
71702         Suggestions from Eric Blake.
71704         init.sh: automatically accommodate programs with the .exe suffix
71705         Automatically arrange for an invocation of "prog" to execute the
71706         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
71707         may use the simpler "prog", yet still work when built on a system
71708         that requires specifying the added suffix.
71709         Do this by constructing a function named "prog" that invokes
71710         "prog.exe" for each .exe file in selected directories.
71711         * tests/init.sh (find_exe_basenames_): New function.
71712         (create_exe_shim_functions_): New function.
71713         (path_prepend_): Use it.
71715         maint.mk: mark syntax-check sc_*.m rules as .PHONY
71716         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
71717         "make -t syntax-check" doesn't create a ton of sc_*.m files.
71719 2010-02-14  Jim Meyering  <meyering@redhat.com>
71721         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
71722         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
71723         (sc_prohibit_hash_pjw_without_use): New rule.
71725         maint.mk: allow the default upload destination dir to be overridden
71726         * top/maint.mk (upload_dest_dir_): Define with a default that
71727         preserves the status quo.
71728         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
71729         Reported by Peter Simons.
71731         maint.mk: prohibit inclusion of "hash.h" without_use
71732         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
71734 2010-02-10  Jim Meyering  <meyering@redhat.com>
71736         maint.mk: prohibit inclusion of "ignore-value.h" without_use
71737         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
71739 2010-02-09  Eric Blake  <ebb9@byu.net>
71740         and Bruno Haible  <bruno@clisp.org>
71742         obstack-printf-posix: ensure declaration
71743         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
71744         extracted from gl_FUNC_OBSTACK_PRINTF.
71745         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
71746         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
71747         Likewise.
71748         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
71749         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
71750         0.
71752 2010-02-08  Bruno Haible  <bruno@clisp.org>
71754         gnulib-tool: Fix typo in 2010-02-07 commit.
71755         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
71756         Reported by Eric Blake.
71758 2010-02-07  Bruno Haible  <bruno@clisp.org>
71760         gnulib-tool: Fix up caching patches.
71761         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
71762         option --no-cache. Use associative arrays when supported by the shell.
71763         (sed_comments): New variable.
71764         (modcache): Renamed from do_cache.
71765         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
71766         abbreviate unnecessarily.
71767         (have_associative): New variable.
71768         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
71769         way also for ksh and zsh.
71770         (func_init_sed_convert_to_cache_statements): New function, extracted
71771         from func_cache_lookup_module. Add support for associative arrays.
71772         Don't set the c_MODULE_cached variable here. Ignore all lines before
71773         the first field header. Remove only the final newline, not all trailing
71774         newlines. Support empty fields correctly. Limit the use of 'eval' to
71775         assignments.
71776         (func_get_description, func_get_status, func_get_notice,
71777         func_get_applicability, func_get_filelist, func_get_dependencies,
71778         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
71779         func_get_automake_snippet, func_get_include_directive,
71780         func_get_link_directive, func_get_license, func_get_maintainer):
71781         Update documentation. List the unoptimized code first. Add support for
71782         associative arrays. Limit the use of 'eval' to assignments.
71783         (func_get_applicability): Undo stylistic pessimisations.
71784         (func_get_automake_snippet, func_get_include_directive): Reduce code
71785         duplication.
71786         (func_modules_transitive_closure, func_modules_add_dummy,
71787         func_modules_notice, func_modules_to_filelist, func_add_file,
71788         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
71789         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
71790         func_create_testdir, func_create_megatestdir): Update documentation.
71792 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71794         * gnulib-tool (func_cache_lookup_module): Store the module name
71795         belonging to the cache variable; error out if two different
71796         module names map to the same cache variable name.
71798 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71800         gnulib-tool: Make caching optional.
71801         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
71802         Update matching short versions of --no-changelog.
71803         (func_usage): Update.
71804         (sed_extract_cache_prog): Renamed from ...
71805         (sed_extract_prog): ... this; revert to old extraction script.
71806         (func_get_description, func_get_status)
71807         (func_get_notice, func_get_applicability, func_get_filelist)
71808         (func_get_dependencies, func_get_autoconf_early_snippet)
71809         (func_get_autoconf_snippet, func_get_automake_snippet)
71810         (func_get_include_directive, func_get_link_directive)
71811         (func_get_license, func_get_maintainer): If $do_cache is false,
71812         use old, non-caching extraction scripts.
71813         Suggestion by Bruno Haible.
71815 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71817         gnulib-tool: cache module metainformation.
71818         * gnulib-tool (sed_extract_prog): Match newline before each
71819         header, and rewrite header to a shell variable suffix.
71820         (func_cache_var, func_cache_lookup_module): New functions,
71821         to turn a module name into a cache variable prefix, and to
71822         look up and cache module metainformation.
71823         (func_get_description, func_get_status)
71824         (func_get_notice, func_get_applicability, func_get_filelist)
71825         (func_get_dependencies, func_get_autoconf_early_snippet)
71826         (func_get_autoconf_snippet, func_get_automake_snippet)
71827         (func_get_include_directive, func_get_link_directive)
71828         (func_get_license, func_get_maintainer): Use
71829         func_cache_lookup_module.
71831 2010-02-07  Bruno Haible  <bruno@clisp.org>
71833         fnctl: Fix missing dependency.
71834         * modules/fcntl (Depends-on): Add getdtablesize.
71835         Reported by John W. Eaton <jwe@gnu.org>.
71837 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71839         Argp: fix recognition of short alias options.
71841         * lib/argp-parse.c (convert_options): Fix improper use of
71842         `|' between character values.
71843         * tests/test-argp.c (group1_option): New alias option
71844         --read (-r).
71845         (group1_parser): Special handling for 'r'.
71846         (test15): New test case.
71847         (test_fun): Add test15.
71848         * tests/test-argp-2.sh: Update expected --help and --usage
71849         outputs.
71851 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71853         * tests/test-argp.c: Fix indentation.
71855 2010-02-04  Eric Blake  <ebb9@byu.net>
71857         gettimeofday: expose type of second argument
71858         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
71859         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
71860         * tests/test-gettimeofday.c: Use it to silence warning.
71861         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
71862         the issue.
71864 2010-02-03  Jim Meyering  <meyering@redhat.com>
71866         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
71867         * lib/regcomp.c (TYPE_SIGNED): Define.
71868         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
71870         regcomp.c: avoid a new -Wshadow warning
71871         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
71873 2010-02-01  Jim Meyering  <meyering@redhat.com>
71875         removing useless parentheses in cpp #define directives
71876         For motivation, see commit c0221df4, "define STREQ(a,b)
71877         consistently, removing useless parentheses"
71878         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
71879         * lib/mountlist.c (MNT_IGNORE): Likewise.
71880         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
71882 2010-02-01  Eric Blake  <ebb9@byu.net>
71884         sys_time: use link-warning
71885         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
71886         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
71887         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
71888         * modules/sys_time (Depends-on): Add warn-on-use.
71889         (Makefile.am): Always build replacement.
71890         (configure.ac): Update substitutions.
71891         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
71892         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
71893         bother with SYS_TIME_H.
71894         * modules/gettimeofday (configure.ac): Declare indicator.
71895         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
71896         in use.
71898         closein-tests: silence compiler warning
71899         * tests/test-closein.c (main): Ignore fread result.
71900         * modules/closein-tests (Depends-on): Add ignore-value.
71902         tests: silence warning about system return
71903         * tests/test-areadlink-with-size.c (main): Ignore system result.
71904         * tests/test-areadlink.c (main): Likewise.
71905         * tests/test-areadlinkat-with-size.c (main): Likewise.
71906         * tests/test-areadlinkat.c (main): Likewise.
71907         * tests/test-canonicalize-lgpl.c (main): Likewise.
71908         * tests/test-canonicalize.c (main): Likewise.
71909         * tests/test-chown.c (main): Likewise.
71910         * tests/test-fchownat.c (main): Likewise.
71911         * tests/test-fdutimensat.c (main): Likewise.
71912         * tests/test-fstatat.c (main): Likewise.
71913         * tests/test-futimens.c (main): Likewise.
71914         * tests/test-lchown.c (main): Likewise.
71915         * tests/test-link.c (main): Likewise.
71916         * tests/test-linkat.c (main): Likewise.
71917         * tests/test-lstat.c (main): Likewise.
71918         * tests/test-mkdir.c (main): Likewise.
71919         * tests/test-mkdirat.c (main): Likewise.
71920         * tests/test-mkfifo.c (main): Likewise.
71921         * tests/test-mkfifoat.c (main): Likewise.
71922         * tests/test-mknod.c (main): Likewise.
71923         * tests/test-readlink.c (main): Likewise.
71924         * tests/test-remove.c (main): Likewise.
71925         * tests/test-rename.c (main): Likewise.
71926         * tests/test-renameat.c (main): Likewise.
71927         * tests/test-rmdir.c (main): Likewise.
71928         * tests/test-symlink.c (main): Likewise.
71929         * tests/test-symlinkat.c (main): Likewise.
71930         * tests/test-unlink.c (main): Likewise.
71931         * tests/test-unlinkat.c (main): Likewise.
71932         * tests/test-utimens.c (main): Likewise.
71933         * tests/test-utimensat.c (main): Likewise.
71934         * modules/areadlink-tests (Depends-on): Add ignore-value.
71935         * modules/areadlink-with-size-tests (Depends-on): Likewise.
71936         * modules/areadlinkat-tests (Depends-on): Likewise.
71937         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
71938         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
71939         * modules/canonicalize-tests (Depends-on): Likewise.
71940         * modules/chown-tests (Depends-on): Likewise.
71941         * modules/fdutimensat-tests (Depends-on): Likewise.
71942         * modules/futimens-tests (Depends-on): Likewise.
71943         * modules/lchown-tests (Depends-on): Likewise.
71944         * modules/link-tests (Depends-on): Likewise.
71945         * modules/linkat-tests (Depends-on): Likewise.
71946         * modules/lstat-tests (Depends-on): Likewise.
71947         * modules/mkdir-tests (Depends-on): Likewise.
71948         * modules/mkfifo-tests (Depends-on): Likewise.
71949         * modules/mkfifoat-tests (Depends-on): Likewise.
71950         * modules/mknod-tests (Depends-on): Likewise.
71951         * modules/openat-tests (Depends-on): Likewise.
71952         * modules/readlink-tests (Depends-on): Likewise.
71953         * modules/remove-tests (Depends-on): Likewise.
71954         * modules/rename-tests (Depends-on): Likewise.
71955         * modules/renameat-tests (Depends-on): Likewise.
71956         * modules/rmdir-tests (Depends-on): Likewise.
71957         * modules/symlink-tests (Depends-on): Likewise.
71958         * modules/symlinkat-tests (Depends-on): Likewise.
71959         * modules/unlink-tests (Depends-on): Likewise.
71960         * modules/utimens-tests (Depends-on): Likewise.
71961         * modules/utimensat-tests (Depends-on): Likewise.
71963 2010-01-31  Bruno Haible  <bruno@clisp.org>
71965         Perform the same test for many <math.h> functions.
71966         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
71967         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
71968         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
71969         of gl_MATHFUNC.
71970         * modules/acos (configure.ac): Likewise.
71971         * modules/asin (configure.ac): Likewise.
71972         * modules/atan (configure.ac): Likewise.
71973         * modules/atan2 (configure.ac): Likewise.
71974         * modules/cbrt (configure.ac): Likewise.
71975         * modules/copysign (configure.ac): Likewise.
71976         * modules/cos (configure.ac): Likewise.
71977         * modules/cosh (configure.ac): Likewise.
71978         * modules/erf (configure.ac): Likewise.
71979         * modules/erfc (configure.ac): Likewise.
71980         * modules/exp (configure.ac): Likewise.
71981         * modules/fmod (configure.ac): Likewise.
71982         * modules/hypot (configure.ac): Likewise.
71983         * modules/j0 (configure.ac): Likewise.
71984         * modules/j1 (configure.ac): Likewise.
71985         * modules/jn (configure.ac): Likewise.
71986         * modules/lgamma (configure.ac): Likewise.
71987         * modules/log (configure.ac): Likewise.
71988         * modules/log10 (configure.ac): Likewise.
71989         * modules/log1p (configure.ac): Likewise.
71990         * modules/pow (configure.ac): Likewise.
71991         * modules/remainder (configure.ac): Likewise.
71992         * modules/sin (configure.ac): Likewise.
71993         * modules/sinh (configure.ac): Likewise.
71994         * modules/tan (configure.ac): Likewise.
71995         * modules/tanh (configure.ac): Likewise.
71996         * modules/y0 (configure.ac): Likewise.
71997         * modules/y1 (configure.ac): Likewise.
71998         * modules/yn (configure.ac): Likewise.
71999         Suggested by Paolo Bonzini.
72001 2010-01-31  Bruno Haible  <bruno@clisp.org>
72003         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
72005 2010-01-31  Bruno Haible  <bruno@clisp.org>
72007         Work around getdelim() bug on FreeBSD 8.0.
72008         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
72009         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
72010         not work.
72011         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
72012         is 1.
72013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
72014         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
72015         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
72016         a non-zero size.
72017         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
72019 2010-01-31  Bruno Haible  <bruno@clisp.org>
72021         Work around getline() bug on FreeBSD 8.0.
72022         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
72023         and a non-zero size.
72024         * tests/test-getline.c (main): Likewise.
72025         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
72026         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
72028 2010-01-28  Eric Blake  <ebb9@byu.net>
72030         regex: fix build failure
72031         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
72032         platforms.
72034 2010-01-28  Jim Meyering  <meyering@redhat.com>
72036         regex: do not ignore memory allocation failure
72037         * lib/regex_internal.c (create_cd_newstate): Detect
72038         re_node_set_init_copy failure.   Extracted from glibc commit
72039         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72041         regex: sync more white-space changes from libc
72042         * lib/regex_internal.c: White-space only changes.
72043         * lib/regexec.c: Likewise.
72045         regex: add many uses of __attribute_warn_unused_result__
72046         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
72047         * lib/regexec.c: Likewise.
72048         Extracted from a messy glibc commit.
72050         regcomp.c: spelling and merge-artifact from glibc
72051         * lib/regcomp.c: Merge remainder of glibc's
72052         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72054         regcomp.c: sync white-space changes from glibc
72055         * lib/regcomp.c: Merge to accommodate white space
72056         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72058         regcomp.c: do not ignore internal return values
72059         * lib/regcomp.c: Do not ignore internal return values.
72060         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
72061         but without its white-space changes and spelling fixes.
72063         regex_internal.h: define __attribute_warn_unused_result__
72064         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
72066         maint: add a syntax-check rule to check for vulnerable Makefile.in
72067         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
72069 2010-01-27  Jim Meyering  <meyering@redhat.com>
72071         ncftpput-ftp: clean up spaces
72072         * build-aux/ncftpput-ftp: Make Copyright line consistent.
72073         Remove trailing blanks.
72075 2010-01-27  Simon Josefsson  <simon@josefsson.org>
72077         * build-aux/git-version-gen: Fix copyright statement.
72078         * build-aux/gnupload: Likewise.
72079         * tests/test-arcfour.c: Likewise.
72080         * tests/test-arctwo.c: Likewise.
72081         * tests/test-count-one-bits.c: Likewise.
72082         * tests/test-crc.c: Likewise.
72083         * tests/test-des.c: Likewise.
72084         * tests/test-gc-arcfour.c: Likewise.
72085         * tests/test-gc-arctwo.c: Likewise.
72086         * tests/test-gc-des.c: Likewise.
72087         * tests/test-gc-hmac-md5.c: Likewise.
72088         * tests/test-gc-hmac-sha1.c: Likewise.
72089         * tests/test-gc-md2.c: Likewise.
72090         * tests/test-gc-md4.c: Likewise.
72091         * tests/test-gc-md5.c: Likewise.
72092         * tests/test-gc-pbkdf2-sha1.c: Likewise.
72093         * tests/test-gc-rijndael.c: Likewise.
72094         * tests/test-gc-sha1.c: Likewise.
72095         * tests/test-gc.c: Likewise.
72096         * tests/test-gethostname.c: Likewise.
72097         * tests/test-gettimeofday.c: Likewise.
72098         * tests/test-hash.c: Likewise.
72099         * tests/test-hmac-md5.c: Likewise.
72100         * tests/test-hmac-sha1.c: Likewise.
72101         * tests/test-md2.c: Likewise.
72102         * tests/test-md4.c: Likewise.
72103         * tests/test-md5.c: Likewise.
72104         * tests/test-memchr.c: Likewise.
72105         * tests/test-memchr2.c: Likewise.
72106         * tests/test-memcmp.c: Likewise.
72107         * tests/test-memmem.c: Likewise.
72108         * tests/test-memrchr.c: Likewise.
72109         * tests/test-rawmemchr.c: Likewise.
72110         * tests/test-read-file.c: Likewise.
72111         * tests/test-rijndael.c: Likewise.
72112         * tests/test-sockets.c: Likewise.
72113         * tests/test-strchrnul.c: Likewise.
72114         * tests/test-strstr.c: Likewise.
72115         * tests/test-strtod.c: Likewise.
72116         * build-aux/ncftpput-ftp: Likewise.
72118 2010-01-26  Eric Blake  <ebb9@byu.net>
72120         ignore-value: update recommended header name
72121         * modules/ignore-value (Include): Only use <> for headers that
72122         exist in glibc.
72124 2010-01-26  Jim Meyering  <meyering@redhat.com>
72126         test-userspec.c: avoid compiler warnings
72127         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
72128         and "initialization discards qualifiers..." warnings.
72129         Put the first "uid" in its own scope, and make char* members "const".
72131 2010-01-25  Bruno Haible  <bruno@clisp.org>
72133         gnulib-tool: Make warning diagnostics consistent.
72134         * gnulib-tool (func_warning): New function.
72135         Use it everywhere where gnulib-tool produces output to stderr and it is
72136         not a fatal error.
72138 2010-01-25  Bruno Haible  <bruno@clisp.org>
72140         Fix test dependencies.
72141         * modules/xstrtol-tests (Depends-on): Add inttypes.
72142         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
72144 2010-01-25  Pádraig Brady  <P@draigBrady.com>
72146         syntax-check: detect incorrect boolean macro values in config.h
72147         * modules/maintainer-makefile (configure.ac): Parameterize the location
72148         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
72149         The logic is from Eric Blake and the location indicated by Jim Meyering.
72150         Note the more natural CONFIG_HEADER name is prohibited by automake
72151         for backwards compatibility reasons.
72152         * top/maint.mk (sc_Wundef_boolean): New rule.
72154 2010-01-25  Jim Meyering  <meyering@redhat.com>
72156         bootstrap: detect MacOS 10.6's shasum, too
72157         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
72158         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
72160 2010-01-23  Jim Meyering  <meyering@redhat.com>
72162         xstrtoll: new module
72163         * modules/xstrtoll: New file.
72164         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
72165         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
72166         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
72167         ./configure fails if you use this module and lack "long long".
72168         * modules/xstrtoll-tests: New module.
72169         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
72170         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
72171         new init.sh-based test framework.
72173 2010-01-24  Bruno Haible  <bruno@clisp.org>
72175         Tests for module 'yn'.
72176         * modules/yn-tests: New file.
72177         * tests/test-yn.c: New file.
72179         Tests for module 'y1'.
72180         * modules/y1-tests: New file.
72181         * tests/test-y1.c: New file.
72183         Tests for module 'y0'.
72184         * modules/y0-tests: New file.
72185         * tests/test-y0.c: New file.
72187         Tests for module 'tanh'.
72188         * modules/tanh-tests: New file.
72189         * tests/test-tanh.c: New file.
72191         Tests for module 'tan'.
72192         * modules/tan-tests: New file.
72193         * tests/test-tan.c: New file.
72195         Tests for module 'sqrt'.
72196         * modules/sqrt-tests: New file.
72197         * tests/test-sqrt.c: New file.
72199         Tests for module 'sinh'.
72200         * modules/sinh-tests: New file.
72201         * tests/test-sinh.c: New file.
72203         Tests for module 'sin'.
72204         * modules/sin-tests: New file.
72205         * tests/test-sin.c: New file.
72207         Tests for module 'rint'.
72208         * modules/rint-tests: New file.
72209         * tests/test-rint.c: New file.
72211         Tests for module 'remainder'.
72212         * modules/remainder-tests: New file.
72213         * tests/test-remainder.c: New file.
72215         Tests for module 'pow'.
72216         * modules/pow-tests: New file.
72217         * tests/test-pow.c: New file.
72219         Tests for module 'nextafter'.
72220         * modules/nextafter-tests: New file.
72221         * tests/test-nextafter.c: New file.
72223         Tests for module 'modf'.
72224         * modules/modf-tests: New file.
72225         * tests/test-modf.c: New file.
72227         Tests for module 'logb'.
72228         * modules/logb-tests: New file.
72229         * tests/test-logb.c: New file.
72231         Tests for module 'log1p'.
72232         * modules/log1p-tests: New file.
72233         * tests/test-log1p.c: New file.
72235         Tests for module 'log10'.
72236         * modules/log10-tests: New file.
72237         * tests/test-log10.c: New file.
72239         Tests for module 'log'.
72240         * modules/log-tests: New file.
72241         * tests/test-log.c: New file.
72243         Tests for module 'lgamma'.
72244         * modules/lgamma-tests: New file.
72245         * tests/test-lgamma.c: New file.
72247         Tests for module 'ldexp'.
72248         * modules/ldexp-tests: New file.
72249         * tests/test-ldexp.c: New file.
72251         Tests for module 'jn'.
72252         * modules/jn-tests: New file.
72253         * tests/test-jn.c: New file.
72255         Tests for module 'j1'.
72256         * modules/j1-tests: New file.
72257         * tests/test-j1.c: New file.
72259         Tests for module 'j0'.
72260         * modules/j0-tests: New file.
72261         * tests/test-j0.c: New file.
72263         Tests for module 'hypot'.
72264         * modules/hypot-tests: New file.
72265         * tests/test-hypot.c: New file.
72267         Tests for module 'fmod'.
72268         * modules/fmod-tests: New file.
72269         * tests/test-fmod.c: New file.
72271         Tests for module 'fabs'.
72272         * modules/fabs-tests: New file.
72273         * tests/test-fabs.c: New file.
72275         Tests for module 'exp'.
72276         * modules/exp-tests: New file.
72277         * tests/test-exp.c: New file.
72279         Tests for module 'erfc'.
72280         * modules/erfc-tests: New file.
72281         * tests/test-erfc.c: New file.
72283         Tests for module 'erf'.
72284         * modules/erf-tests: New file.
72285         * tests/test-erf.c: New file.
72287         Tests for module 'cosh'.
72288         * modules/cosh-tests: New file.
72289         * tests/test-cosh.c: New file.
72291         Tests for module 'cos'.
72292         * modules/cos-tests: New file.
72293         * tests/test-cos.c: New file.
72295         Tests for module 'copysign'.
72296         * modules/copysign-tests: New file.
72297         * tests/test-copysign.c: New file.
72299         Tests for module 'cbrt'.
72300         * modules/cbrt-tests: New file.
72301         * tests/test-cbrt.c: New file.
72303         Tests for module 'atan2'.
72304         * modules/atan2-tests: New file.
72305         * tests/test-atan2.c: New file.
72307         Tests for module 'atan'.
72308         * modules/atan-tests: New file.
72309         * tests/test-atan.c: New file.
72311         Tests for module 'asin'.
72312         * modules/asin-tests: New file.
72313         * tests/test-asin.c: New file.
72315         Tests for module 'acos'.
72316         * modules/acos-tests: New file.
72317         * tests/test-acos.c: New file.
72319 2010-01-24  Bruno Haible  <bruno@clisp.org>
72321         Fix tests for common <math.h> functions.
72322         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
72323         code snippet that references the function pointer, rather than merely
72324         calling the function. Substitute the FUNC_LIBM variable.
72325         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
72326         * modules/acos (configure.ac): Likewise.
72327         * modules/asin (configure.ac): Likewise.
72328         * modules/atan (configure.ac): Likewise.
72329         * modules/atan2 (configure.ac): Likewise.
72330         * modules/cbrt (configure.ac): Likewise.
72331         * modules/copysign (configure.ac): Likewise.
72332         * modules/cos (configure.ac): Likewise.
72333         * modules/cosh (configure.ac): Likewise.
72334         * modules/erf (configure.ac): Likewise.
72335         * modules/erfc (configure.ac): Likewise.
72336         * modules/exp (configure.ac): Likewise.
72337         * modules/fabs (configure.ac): Likewise.
72338         * modules/fmod (configure.ac): Likewise.
72339         * modules/hypot (configure.ac): Likewise.
72340         * modules/j0 (configure.ac): Likewise.
72341         * modules/j1 (configure.ac): Likewise.
72342         * modules/jn (configure.ac): Likewise.
72343         * modules/ldexp (configure.ac): Likewise.
72344         * modules/lgamma (configure.ac): Likewise.
72345         * modules/log (configure.ac): Likewise.
72346         * modules/log10 (configure.ac): Likewise.
72347         * modules/log1p (configure.ac): Likewise.
72348         * modules/logb (configure.ac): Likewise.
72349         * modules/modf (configure.ac): Likewise.
72350         * modules/nextafter (configure.ac): Likewise.
72351         * modules/pow (configure.ac): Likewise.
72352         * modules/remainder (configure.ac): Likewise.
72353         * modules/rint (configure.ac): Likewise.
72354         * modules/sin (configure.ac): Likewise.
72355         * modules/sinh (configure.ac): Likewise.
72356         * modules/tan (configure.ac): Likewise.
72357         * modules/tanh (configure.ac): Likewise.
72358         * modules/y0 (configure.ac): Likewise.
72359         * modules/y1 (configure.ac): Likewise.
72360         * modules/yn (configure.ac): Likewise.
72362 2010-01-24  Bruno Haible  <bruno@clisp.org>
72364         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
72365         * tests/test-acosl.c (x): New variable.
72366         (main): Store argument in x and fetch it from x.
72367         * tests/test-asinl.c (x): New variable.
72368         (main): Store argument in x and fetch it from x.
72369         * tests/test-atanl.c (x): New variable.
72370         (main): Store argument in x and fetch it from x.
72371         * tests/test-cosl.c (x): New variable.
72372         (main): Store argument in x and fetch it from x.
72373         * tests/test-expl.c (x): New variable.
72374         (main): Store argument in x and fetch it from x.
72375         * tests/test-logl.c (x): New variable.
72376         (main): Store argument in x and fetch it from x.
72377         * tests/test-sinl.c (x): New variable.
72378         (main): Store argument in x and fetch it from x.
72379         * tests/test-sqrtl.c (x): New variable.
72380         (main): Store argument in x and fetch it from x.
72381         * tests/test-tanl.c (x): New variable.
72382         (main): Store argument in x and fetch it from x.
72384 2010-01-24  Bruno Haible  <bruno@clisp.org>
72386         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
72387         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
72388         assignments to the initial TESTS_ENVIRONMENT.
72389         * doc/gnulib.texi (Unit test modules): Document it.
72390         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
72391         TESTS_ENVIRONMENT.
72392         * modules/btowc-tests (Makefile.am): Likewise.
72393         * modules/c-stack-tests (Makefile.am): Likewise.
72394         * modules/c-strcase-tests (Makefile.am): Likewise.
72395         * modules/copy-file-tests (Makefile.am): Likewise.
72396         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
72397         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
72398         * modules/mbrtowc-tests (Makefile.am): Likewise.
72399         * modules/mbscasecmp-tests (Makefile.am): Likewise.
72400         * modules/mbscasestr-tests (Makefile.am): Likewise.
72401         * modules/mbschr-tests (Makefile.am): Likewise.
72402         * modules/mbscspn-tests (Makefile.am): Likewise.
72403         * modules/mbsinit-tests (Makefile.am): Likewise.
72404         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
72405         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
72406         * modules/mbspbrk-tests (Makefile.am): Likewise.
72407         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
72408         * modules/mbsrchr-tests (Makefile.am): Likewise.
72409         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
72410         * modules/mbsspn-tests (Makefile.am): Likewise.
72411         * modules/mbsstr-tests (Makefile.am): Likewise.
72412         * modules/nl_langinfo-tests (Makefile.am): Likewise.
72413         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
72414         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
72415         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
72416         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
72417         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
72418         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
72419         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
72420         * modules/wcrtomb-tests (Makefile.am): Likewise.
72421         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
72422         * modules/wcsrtombs-tests (Makefile.am): Likewise.
72423         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
72424         assignments from TESTS_ENVIRONMENT.
72425         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
72426         augmentation.
72427         * modules/argp-version-etc-tests (Makefile.am): Likewise.
72428         * modules/atexit-tests (Makefile.am): Likewise.
72429         * modules/binary-io-tests (Makefile.am): Likewise.
72430         * modules/closein-tests (Makefile.am): Likewise.
72431         * modules/dprintf-posix-tests (Makefile.am): Likewise.
72432         * modules/exclude-tests (Makefile.am): Likewise.
72433         * modules/fflush-tests (Makefile.am): Likewise.
72434         * modules/fpending-tests (Makefile.am): Likewise.
72435         * modules/fprintf-posix-tests (Makefile.am): Likewise.
72436         * modules/freadahead-tests (Makefile.am): Likewise.
72437         * modules/freadptr-tests (Makefile.am): Likewise.
72438         * modules/freadseek-tests (Makefile.am): Likewise.
72439         * modules/fseek-tests (Makefile.am): Likewise.
72440         * modules/fseeko-tests (Makefile.am): Likewise.
72441         * modules/ftell-tests (Makefile.am): Likewise.
72442         * modules/ftello-tests (Makefile.am): Likewise.
72443         * modules/idpriv-drop-tests (Makefile.am): Likewise.
72444         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
72445         * modules/lseek-tests (Makefile.am): Likewise.
72446         * modules/parse-duration-tests (Makefile.am): Likewise.
72447         * modules/perror-tests (Makefile.am): Likewise.
72448         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
72449         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
72450         * modules/pipe-tests (Makefile.am): Likewise.
72451         * modules/pread-tests (Makefile.am): Likewise.
72452         * modules/printf-posix-tests (Makefile.am): Likewise.
72453         * modules/select-tests (Makefile.am): Likewise.
72454         * modules/sigpipe-tests (Makefile.am): Likewise.
72455         * modules/tsearch-tests (Makefile.am): Likewise.
72456         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
72457         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
72458         * modules/uniname/uniname-tests (Makefile.am): Likewise.
72459         * modules/uniwidth/width-tests (Makefile.am): Likewise.
72460         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
72461         * modules/version-etc-tests (Makefile.am): Likewise.
72462         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
72463         * modules/vprintf-posix-tests (Makefile.am): Likewise.
72464         * modules/xalloc-die-tests (Makefile.am): Likewise.
72465         * modules/xprintf-posix-tests (Makefile.am): Likewise.
72466         * modules/xstrtoimax-tests (Makefile.am): Likewise.
72467         * modules/xstrtol-tests (Makefile.am): Likewise.
72468         * modules/xstrtoumax-tests (Makefile.am): Likewise.
72469         * modules/yesno-tests (Makefile.am): Likewise.
72470         Suggested by Jim Meyering.
72472 2010-01-24  Bruno Haible  <bruno@clisp.org>
72474         More documentation.
72475         * doc/gnulib.texi (Writing modules): New chapter.
72476         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
72477         the new chapter.
72479 2010-01-24  Jim Meyering  <meyering@redhat.com>
72481         maint.mk: do not prepend "./" after filtering
72482         * top/maint.mk (_prepend_srcdir_prefix): New variable
72483         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
72484         "./" when $(srcdir) is ".".
72486         define STREQ(a,b) consistently, removing useless parentheses
72487         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
72488         since the only risk is that "a" or "b" contains an unparenthesized
72489         comma, but if either did that, STREQ would have 3 or more arguments.
72490         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
72491         * lib/fts.c (STREQ): Remove unnecessary parentheses.
72492         * lib/hash-triple.c (STREQ): Likewise.
72493         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
72494         * lib/getugroups.c (STREQ): Likewise.
72496 2010-01-23  Jim Meyering  <meyering@redhat.com>
72498         maint.mk: fix syntax-check in a non-srcdir build directory
72499         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
72500         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
72502 2010-01-22  Jim Meyering  <meyering@redhat.com>
72504         userspec: add unit tests
72505         * tests/test-userspec.c: New file.
72506         * modules/userspec-tests: Likewise.
72508 2010-01-21  Jim Meyering  <meyering@redhat.com>
72510         maint.mk: handle source file names containing "." robustly
72511         * top/maint.mk (_dot_escaped_srcdir): Define.
72512         (VC_LIST): Use it in LHS of sed substitution.
72514 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
72516         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
72517         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
72518         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
72519         from a non-srcdir build.
72521 2010-01-20  Eric Blake  <ebb9@byu.net>
72523         warn-on-use: use instead of link-warning
72524         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
72525         * modules/unistd (Depends-on, Makefile.am): Likewise.
72526         * modules/arpa_inet (Depends-on): Replace link-warning with
72527         warn-on-use.
72528         (Makefile.am): Update rules accordingly.
72529         * modules/ctype (Depends-on, Makefile.am): Likewise.
72530         * modules/dirent (Depends-on, Makefile.am): Likewise.
72531         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
72532         * modules/inttypes (Depends-on, Makefile.am): Likewise.
72533         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72534         * modules/locale (Depends-on, Makefile.am): Likewise.
72535         * modules/math (Depends-on, Makefile.am): Likewise.
72536         * modules/search (Depends-on, Makefile.am): Likewise.
72537         * modules/signal (Depends-on, Makefile.am): Likewise.
72538         * modules/spawn (Depends-on, Makefile.am): Likewise.
72539         * modules/stdlib (Depends-on, Makefile.am): Likewise.
72540         * modules/string (Depends-on, Makefile.am): Likewise.
72541         * modules/strings (Depends-on, Makefile.am): Likewise.
72542         * modules/sys_file (Depends-on, Makefile.am): Likewise.
72543         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
72544         * modules/sys_select (Depends-on, Makefile.am): Likewise.
72545         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
72546         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
72547         * modules/sys_times (Depends-on, Makefile.am): Likewise.
72548         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72549         * modules/wchar (Depends-on, Makefile.am): Likewise.
72550         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
72551         should be poisoned.
72552         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
72553         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
72554         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
72555         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72556         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72557         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
72558         * m4/math_h.m4 (gl_MATH_H): Likewise.
72559         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72560         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
72561         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
72562         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
72563         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
72564         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
72565         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
72566         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
72567         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
72568         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72569         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
72570         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
72571         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72572         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72573         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
72574         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72575         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
72576         GL_LINK_WARNING.
72577         * lib/ctype.in.h: Likewise.
72578         * lib/dirent.in.h: Likewise.
72579         * lib/fcntl.in.h: Likewise.
72580         * lib/inttypes.in.h: Likewise.
72581         * lib/langinfo.in.h: Likewise.
72582         * lib/locale.in.h: Likewise.
72583         * lib/math.in.h: Likewise.
72584         * lib/search.in.h: Likewise.
72585         * lib/signal.in.h: Likewise.
72586         * lib/spawn.in.h: Likewise.
72587         * lib/stdio.in.h: Likewise.
72588         * lib/stdlib.in.h: Likewise.
72589         * lib/string.in.h: Likewise.
72590         * lib/strings.in.h: Likewise.
72591         * lib/sys_file.in.h: Likewise.
72592         * lib/sys_ioctl.in.h: Likewise.
72593         * lib/sys_select.in.h: Likewise.
72594         * lib/sys_socket.in.h: Likewise.
72595         * lib/sys_stat.in.h: Likewise.
72596         * lib/sys_times.in.h: Likewise.
72597         * lib/sys_utsname.in.h: Likewise.
72598         * lib/unistd.in.h: Likewise.
72599         * lib/wchar.in.h: Likewise.
72601 2010-01-20  Bruno Haible  <bruno@clisp.org>
72603         Avoid duplicate -lm.
72604         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
72605         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
72606         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
72607         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
72608         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
72609         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
72610         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
72611         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
72612         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
72613         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
72614         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
72615         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
72616         Reported by Paolo Bonzini.
72618 2010-01-19  Bruno Haible  <bruno@clisp.org>
72620         langinfo, nl_langinfo: Relicense under LGPLv2+.
72621         * modules/langinfo (License): Change to LGPLv2+.
72622         * modules/nl_langinfo (License): Likewise.
72623         Patch by David Lutterkort <lutter@redhat.com>.
72625 2010-01-19  Bruno Haible  <bruno@clisp.org>
72627         Avoid compilation error with cc on OSF/1 5.1.
72628         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
72629         statement, not before.
72630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72632 2010-01-18  Bruno Haible  <bruno@clisp.org>
72634         Avoid a link error due to the __printf__ symbol.
72635         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
72636         and 2.6.x.
72637         (__format__, __printf__): Remove definitions.
72638         * lib/argp-fmtstream.h: Likewise.
72639         * lib/argp.h: Likewise.
72640         * lib/error.h: Likewise.
72641         * lib/vasnprintf.h: Likewise.
72642         * lib/xprintf.h: Likewise.
72643         * lib/xvasprintf.h: Likewise.
72644         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72646 2010-01-18  Bruno Haible  <bruno@clisp.org>
72648         Tests for module 'tanl'.
72649         * modules/tanl-tests: New file.
72650         * tests/test-tanl.c: New file.
72652         Tests for module 'sqrtl'.
72653         * modules/sqrtl-tests: New file.
72654         * tests/test-sqrtl.c: New file.
72656         Tests for module 'sinl'.
72657         * modules/sinl-tests: New file.
72658         * tests/test-sinl.c: New file.
72660         Tests for module 'logl'.
72661         * modules/logl-tests: New file.
72662         * tests/test-logl.c: New file.
72664         Tests for module 'expl'.
72665         * modules/expl-tests: New file.
72666         * tests/test-expl.c: New file.
72668         Tests for module 'cosl'.
72669         * modules/cosl-tests: New file.
72670         * tests/test-cosl.c: New file.
72672         Tests for module 'atanl'.
72673         * modules/atanl-tests: New file.
72674         * tests/test-atanl.c: New file.
72676         Tests for module 'asinl'.
72677         * modules/asinl-tests: New file.
72678         * tests/test-asinl.c: New file.
72680         Tests for module 'acosl'.
72681         * modules/acosl-tests: New file.
72682         * tests/test-acosl.c: New file.
72684         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72685         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
72686         tanl): Use the standard gnulib idiom.
72687         * lib/cosl.c: Don't include trigl.c and sincosl.c.
72688         * lib/sinl.c: Likewise.
72689         * lib/tanl.c: Don't include trigl.c.
72690         (kernel_tanl): Make static.
72691         * lib/sincosl.c: Include trigl.h first.
72692         * lib/trigl.c: Likewise.
72693         * m4/acosl.m4: New file.
72694         * m4/asinl.m4: New file.
72695         * m4/atanl.m4: New file.
72696         * m4/cosl.m4: New file.
72697         * m4/expl.m4: New file.
72698         * m4/logl.m4: New file.
72699         * m4/sinl.m4: New file.
72700         * m4/sqrtl.m4: New file.
72701         * m4/tanl.m4: New file.
72702         * m4/mathl.m4: Remove file.
72703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
72704         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72705         Don't initialize GNULIB_MATHL.
72706         * modules/acosl: New file.
72707         * modules/asinl: New file.
72708         * modules/atanl: New file.
72709         * modules/cosl: New file.
72710         * modules/expl: New file.
72711         * modules/logl: New file.
72712         * modules/sinl: New file.
72713         * modules/sqrtl: New file.
72714         * modules/tanl: New file.
72715         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
72716         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
72717         substitute GNULIB_MATHL.
72718         * modules/mathl: Rewritten.
72719         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
72720         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
72721         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
72722         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
72723         * doc/posix-functions/expl.texi: Mention the 'expl' module.
72724         * doc/posix-functions/logl.texi: Mention the 'logl' module.
72725         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
72726         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
72727         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
72729 2010-01-18  Bruno Haible  <bruno@clisp.org>
72731         sqrt: Make gl_FUNC_SQRT requirable.
72732         * m4/sqrt.m4: New file.
72733         * modules/sqrt (Files): Add it.
72734         (configure.ac): Invoke gl_FUNC_SQRT.
72736 2010-01-18  Bruno Haible  <bruno@clisp.org>
72738         New modules for common <math.h> functions.
72739         * m4/mathfunc.m4: New file.
72740         * modules/acos: New file.
72741         * modules/asin: New file.
72742         * modules/atan: New file.
72743         * modules/atan2: New file.
72744         * modules/cbrt: New file.
72745         * modules/copysign: New file.
72746         * modules/cos: New file.
72747         * modules/cosh: New file.
72748         * modules/erf: New file.
72749         * modules/erfc: New file.
72750         * modules/exp: New file.
72751         * modules/fabs: New file.
72752         * modules/fmod: New file.
72753         * modules/hypot: New file.
72754         * modules/j0: New file.
72755         * modules/j1: New file.
72756         * modules/jn: New file.
72757         * modules/ldexp: New file.
72758         * modules/lgamma: New file.
72759         * modules/log: New file.
72760         * modules/log10: New file.
72761         * modules/log1p: New file.
72762         * modules/logb: New file.
72763         * modules/modf: New file.
72764         * modules/nextafter: New file.
72765         * modules/pow: New file.
72766         * modules/remainder: New file.
72767         * modules/rint: New file.
72768         * modules/sin: New file.
72769         * modules/sinh: New file.
72770         * modules/sqrt: New file.
72771         * modules/tan: New file.
72772         * modules/tanh: New file.
72773         * modules/y0: New file.
72774         * modules/y1: New file.
72775         * modules/yn: New file.
72776         * doc/posix-functions/acos.texi: Mention the 'acos' module.
72777         * doc/posix-functions/asin.texi: Mention the 'asin' module.
72778         * doc/posix-functions/atan.texi: Mention the 'atan' module.
72779         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
72780         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
72781         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
72782         * doc/posix-functions/cos.texi: Mention the 'cos' module.
72783         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
72784         * doc/posix-functions/erf.texi: Mention the 'erf' module.
72785         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
72786         * doc/posix-functions/exp.texi: Mention the 'exp' module.
72787         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
72788         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
72789         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
72790         * doc/posix-functions/j0.texi: Mention the 'j0' module.
72791         * doc/posix-functions/j1.texi: Mention the 'j1' module.
72792         * doc/posix-functions/jn.texi: Mention the 'jn' module.
72793         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
72794         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
72795         * doc/posix-functions/log.texi: Mention the 'log' module.
72796         * doc/posix-functions/log10.texi: Mention the 'log10' module.
72797         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
72798         * doc/posix-functions/logb.texi: Mention the 'logb' module.
72799         * doc/posix-functions/modf.texi: Mention the 'modf' module.
72800         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
72801         * doc/posix-functions/pow.texi: Mention the 'pow' module.
72802         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
72803         * doc/posix-functions/rint.texi: Mention the 'rint' module.
72804         * doc/posix-functions/sin.texi: Mention the 'sin' module.
72805         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
72806         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
72807         * doc/posix-functions/tan.texi: Mention the 'tan' module.
72808         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
72809         * doc/posix-functions/y0.texi: Mention the 'y0' module.
72810         * doc/posix-functions/y1.texi: Mention the 'y1' module.
72811         * doc/posix-functions/yn.texi: Mention the 'yn' module.
72813 2010-01-18  Jim Meyering  <meyering@redhat.com>
72815         ignore-value: relax license to LGPLv2+
72816         * modules/ignore-value (License): Relax to LGPLv2+.
72818         getdate: don't leak when TZ contains two or more '"'s
72819         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
72820         double quote in TZ after the first one.
72822         readtokens: do not leak internal token_lengths buffer
72823         * lib/readtokens.c (readtokens): Free the local, lengths,
72824         when the supplied "token_lengths" parameter is NULL.
72826 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72828         Fix a couple of missing LIBTHREAD link failures on AIX.
72829         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
72830         $(LIBTHREAD).
72831         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
72833         Link test-poll against INET_PTON_LIB.
72834         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
72835         for inet_pton on Solaris 10.
72837 2010-01-17  Bruno Haible  <bruno@clisp.org>
72839         unistdio/*-sprintf: Fix typo in module description.
72840         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
72841         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
72842         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
72843         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
72844         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
72845         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
72846         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
72847         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72849 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72851         gnulib-tool: fix filelist for AIX, HP-UX ksh.
72852         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
72853         variables in shell case patterns, for AIX and HP-UX ksh.
72855         Split large sed scripts, for HP-UX sed.
72856         * modules/stdio: Split sed scripts around 50 sed commands,
72857         to avoid HP-UX limit of 99 commands, in the near future.
72858         * modules/string: Likewise.
72859         * modules/unistd: Likewise.
72861         gnulib-tool: avoid writing in the current directory.
72862         * gnulib-tool (func_emit_lib_Makefile_am)
72863         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
72864         not in the current directory, so concurrent gnulib-tool
72865         instances do not interfere.
72867 2010-01-16  Jim Meyering  <meyering@redhat.com>
72869         doc: update users.txt
72870         * users.txt: Add grep.
72871         (diffutils, gzip): Update URLs.
72873 2010-01-12  Bruno Haible  <bruno@clisp.org>
72875         posix_spawn: Avoid test failure on Cygwin.
72876         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
72877         characters.
72878         Reported by Simon Josefsson.
72880 2010-01-12  Bruno Haible  <bruno@clisp.org>
72882         * tests/test-cond.c (main): When skipping the test, show the reason.
72884 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72886         * lib/striconv.c (str_cd_iconv): Avoid if before free.
72888 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72890         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
72891         VC_LIST_ALWAYS_EXCLUDE_REGEX.
72893 2010-01-12  Eric Blake  <ebb9@byu.net>
72895         build: guarantee AS_VAR_IF
72896         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
72897         (gl_AS_VAR_IF): Move...
72898         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
72899         Reported by Simon Josefsson.
72901 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72903         * lib/stdio.in.h: Fix typo.
72905 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72907         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
72908         libgpg-error.
72910 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72912         * tests/test-xalloc-die.sh: Use $EXEEXT.
72914 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72915             Bruno Haible  <bruno@clisp.org>
72917         getlogin, getlogin_r: Avoid test failure.
72918         * tests/test-getlogin.c: Include <stdio.h>.
72919         (main): Skip the test when the function fails because stdin is not a
72920         tty.
72921         * tests/test-getlogin_r.c: Include <stdio.h>.
72922         (main): Skip the test when the function fails because stdin is not a
72923         tty.
72925 2010-01-11  Eric Blake  <ebb9@byu.net>
72927         tests: avoid more large file warnings
72928         * tests/test-fflush.c: Avoid warning about ftell use.
72929         * tests/test-fseek.c: Avoid warning about fseek use.
72931 2010-01-10  Bruno Haible  <bruno@clisp.org>
72933         nproc: Work better on Linux when /proc and /sys are not mounted.
72934         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
72935         as lower bound when, on glibc/Linux systems,
72936         sysconf (_SC_NPROCESSORS_CONF) returns 1.
72937         Suggested by Pádraig Brady <P@draigbrady.com>.
72938         Reported by Dmitry V. Levin <ldv@altlinux.org>.
72940         nproc: Refactor.
72941         * lib/nproc.c (num_processors_via_affinity_mask): New function,
72942         extracted from num_processors.
72943         (num_processors): Call it.
72945 2010-01-11  Jim Meyering  <meyering@redhat.com>
72947         utimecmp: avoid new warning from upcoming gcc-4.5.0
72948         * lib/utimecmp.c (BILLION): Define using #define rather than an
72949         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
72951 2010-01-11  Eric Blake  <ebb9@byu.net>
72953         math: add portability warnings for classification macros
72954         * modules/math (Depends-on): Add warn-on-use.
72955         (Makefile.am): Provide new substitutions.
72956         * m4/math_h.m4 (gl_MATH_H): Require inline.
72957         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
72958         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
72959         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
72960         implement warnings.
72962         unistd: warn on use of environ without module
72963         * modules/unistd (Depends-on): Add warn-on-use.
72964         (Makefile.am): Provide new substitutions.
72965         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
72966         * lib/unistd.in.h (environ): Wrap with a warning helper function.
72968         stdio: warn on suspicious uses
72969         * modules/stdio (Depends-on): Add warn-on-use.
72970         (Makefile.am): Provide new substitutions.
72971         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
72972         fseeko.
72973         * lib/stdio.in.h (gets): Always warn on use.
72974         (fseek, ftell): Adjust when warnings are issued, and honor
72975         _GL_NO_LARGE_FILES as a way to silence the warning.
72976         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
72977         any warning about large file offsets.
72978         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
72979         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
72980         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
72981         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
72982         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
72983         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
72984         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
72985         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
72987         warn-on-use: new module
72988         * modules/warn-on-use: New file.
72989         * build-aux/warn-on-use.h: Likewise.
72990         * m4/warn-on-use.m4: Likewise.
72991         * MODULES.html.sh (Support for building): Mention it.
72993 2010-01-10  Bruno Haible  <bruno@clisp.org>
72995         Tests for module 'unistr/u32-strdup'.
72996         * modules/unistr/u32-strdup-tests: New file.
72997         * tests/unistr/test-u32-strdup.c: New file.
72999         Tests for module 'unistr/u16-strdup'.
73000         * modules/unistr/u16-strdup-tests: New file.
73001         * tests/unistr/test-u16-strdup.c: New file.
73003         Tests for module 'unistr/u8-strdup'.
73004         * modules/unistr/u8-strdup-tests: New file.
73005         * tests/unistr/test-u8-strdup.c: New file.
73006         * tests/unistr/test-strdup.h: New file.
73008         Tests for module 'unistr/u32-strncmp'.
73009         * modules/unistr/u32-strncmp-tests: New file.
73010         * tests/unistr/test-u32-strncmp.c: New file.
73012         Tests for module 'unistr/u16-strncmp'.
73013         * modules/unistr/u16-strncmp-tests: New file.
73014         * tests/unistr/test-u16-strncmp.c: New file.
73016         Tests for module 'unistr/u8-strncmp'.
73017         * modules/unistr/u8-strncmp-tests: New file.
73018         * tests/unistr/test-u8-strncmp.c: New file.
73019         * tests/unistr/test-strncmp.h: New file.
73021         Tests for module 'unistr/u32-strcoll'.
73022         * modules/unistr/u32-strcoll-tests: New file.
73023         * tests/unistr/test-u32-strcoll.c: New file.
73025         Tests for module 'unistr/u16-strcoll'.
73026         * modules/unistr/u16-strcoll-tests: New file.
73027         * tests/unistr/test-u16-strcoll.c: New file.
73029         Tests for module 'unistr/u8-strcoll'.
73030         * modules/unistr/u8-strcoll-tests: New file.
73031         * tests/unistr/test-u8-strcoll.c: New file.
73033         Tests for module 'unistr/u32-strcmp'.
73034         * modules/unistr/u32-strcmp-tests: New file.
73035         * tests/unistr/test-u32-strcmp.c: New file.
73036         * tests/unistr/test-u32-strcmp.h: New file.
73038         Tests for module 'unistr/u16-strcmp'.
73039         * modules/unistr/u16-strcmp-tests: New file.
73040         * tests/unistr/test-u16-strcmp.c: New file.
73041         * tests/unistr/test-u16-strcmp.h: New file.
73043         Tests for module 'unistr/u8-strcmp'.
73044         * modules/unistr/u8-strcmp-tests: New file.
73045         * tests/unistr/test-u8-strcmp.c: New file.
73046         * tests/unistr/test-u8-strcmp.h: New file.
73047         * tests/unistr/test-strcmp.h: New file.
73049         Tests for module 'unistr/u32-strncat'.
73050         * modules/unistr/u32-strncat-tests: New file.
73051         * tests/unistr/test-u32-strncat.c: New file.
73053         Tests for module 'unistr/u16-strncat'.
73054         * modules/unistr/u16-strncat-tests: New file.
73055         * tests/unistr/test-u16-strncat.c: New file.
73057         Tests for module 'unistr/u8-strncat'.
73058         * modules/unistr/u8-strncat-tests: New file.
73059         * tests/unistr/test-u8-strncat.c: New file.
73060         * tests/unistr/test-strncat.h: New file.
73062         Tests for module 'unistr/u32-strcat'.
73063         * modules/unistr/u32-strcat-tests: New file.
73064         * tests/unistr/test-u32-strcat.c: New file.
73066         Tests for module 'unistr/u16-strcat'.
73067         * modules/unistr/u16-strcat-tests: New file.
73068         * tests/unistr/test-u16-strcat.c: New file.
73070         Tests for module 'unistr/u8-strcat'.
73071         * modules/unistr/u8-strcat-tests: New file.
73072         * tests/unistr/test-u8-strcat.c: New file.
73073         * tests/unistr/test-strcat.h: New file.
73075         Tests for module 'unistr/u32-stpncpy'.
73076         * modules/unistr/u32-stpncpy-tests: New file.
73077         * tests/unistr/test-u32-stpncpy.c: New file.
73079         Tests for module 'unistr/u16-stpncpy'.
73080         * modules/unistr/u16-stpncpy-tests: New file.
73081         * tests/unistr/test-u16-stpncpy.c: New file.
73083         Tests for module 'unistr/u8-stpncpy'.
73084         * modules/unistr/u8-stpncpy-tests: New file.
73085         * tests/unistr/test-u8-stpncpy.c: New file.
73086         * tests/unistr/test-stpncpy.h: New file.
73088         Tests for module 'unistr/u32-strncpy'.
73089         * modules/unistr/u32-strncpy-tests: New file.
73090         * tests/unistr/test-u32-strncpy.c: New file.
73092         Tests for module 'unistr/u16-strncpy'.
73093         * modules/unistr/u16-strncpy-tests: New file.
73094         * tests/unistr/test-u16-strncpy.c: New file.
73096         Tests for module 'unistr/u8-strncpy'.
73097         * modules/unistr/u8-strncpy-tests: New file.
73098         * tests/unistr/test-u8-strncpy.c: New file.
73099         * tests/unistr/test-strncpy.h: New file.
73101         Tests for module 'unistr/u32-stpcpy'.
73102         * modules/unistr/u32-stpcpy-tests: New file.
73103         * tests/unistr/test-u32-stpcpy.c: New file.
73105         Tests for module 'unistr/u16-stpcpy'.
73106         * modules/unistr/u16-stpcpy-tests: New file.
73107         * tests/unistr/test-u16-stpcpy.c: New file.
73109         Tests for module 'unistr/u8-stpcpy'.
73110         * modules/unistr/u8-stpcpy-tests: New file.
73111         * tests/unistr/test-u8-stpcpy.c: New file.
73112         * tests/unistr/test-stpcpy.h: New file.
73114         Tests for module 'unistr/u32-strcpy'.
73115         * modules/unistr/u32-strcpy-tests: New file.
73116         * tests/unistr/test-u32-strcpy.c: New file.
73118         Tests for module 'unistr/u16-strcpy'.
73119         * modules/unistr/u16-strcpy-tests: New file.
73120         * tests/unistr/test-u16-strcpy.c: New file.
73122         Tests for module 'unistr/u8-strcpy'.
73123         * modules/unistr/u8-strcpy-tests: New file.
73124         * tests/unistr/test-u8-strcpy.c: New file.
73125         * tests/unistr/test-strcpy.h: New file.
73127         Tests for module 'unistr/u32-strnlen'.
73128         * modules/unistr/u32-strnlen-tests: New file.
73129         * tests/unistr/test-u32-strnlen.c: New file.
73131         Tests for module 'unistr/u16-strnlen'.
73132         * modules/unistr/u16-strnlen-tests: New file.
73133         * tests/unistr/test-u16-strnlen.c: New file.
73135         Tests for module 'unistr/u8-strnlen'.
73136         * modules/unistr/u8-strnlen-tests: New file.
73137         * tests/unistr/test-u8-strnlen.c: New file.
73138         * tests/unistr/test-strnlen.h: New file.
73140         Tests for module 'unistr/u32-strlen'.
73141         * modules/unistr/u32-strlen-tests: New file.
73142         * tests/unistr/test-u32-strlen.c: New file.
73144         Tests for module 'unistr/u16-strlen'.
73145         * modules/unistr/u16-strlen-tests: New file.
73146         * tests/unistr/test-u16-strlen.c: New file.
73148         Tests for module 'unistr/u8-strlen'.
73149         * modules/unistr/u8-strlen-tests: New file.
73150         * tests/unistr/test-u8-strlen.c: New file.
73152         Tests for module 'unistr/u32-prev'.
73153         * modules/unistr/u32-prev-tests: New file.
73154         * tests/unistr/test-u32-prev.c: New file.
73156         Tests for module 'unistr/u16-prev'.
73157         * modules/unistr/u16-prev-tests: New file.
73158         * tests/unistr/test-u16-prev.c: New file.
73160         Tests for module 'unistr/u8-prev'.
73161         * modules/unistr/u8-prev-tests: New file.
73162         * tests/unistr/test-u8-prev.c: New file.
73164         Tests for module 'unistr/u32-next'.
73165         * modules/unistr/u32-next-tests: New file.
73166         * tests/unistr/test-u32-next.c: New file.
73168         Tests for module 'unistr/u16-next'.
73169         * modules/unistr/u16-next-tests: New file.
73170         * tests/unistr/test-u16-next.c: New file.
73172         Tests for module 'unistr/u8-next'.
73173         * modules/unistr/u8-next-tests: New file.
73174         * tests/unistr/test-u8-next.c: New file.
73176         Tests for module 'unistr/u32-strmbtouc'.
73177         * modules/unistr/u32-strmbtouc-tests: New file.
73178         * tests/unistr/test-u32-strmbtouc.c: New file.
73180         Tests for module 'unistr/u16-strmbtouc'.
73181         * modules/unistr/u16-strmbtouc-tests: New file.
73182         * tests/unistr/test-u16-strmbtouc.c: New file.
73184         Tests for module 'unistr/u8-strmbtouc'.
73185         * modules/unistr/u8-strmbtouc-tests: New file.
73186         * tests/unistr/test-u8-strmbtouc.c: New file.
73188         Tests for module 'unistr/u32-strmblen'.
73189         * modules/unistr/u32-strmblen-tests: New file.
73190         * tests/unistr/test-u32-strmblen.c: New file.
73192         Tests for module 'unistr/u16-strmblen'.
73193         * modules/unistr/u16-strmblen-tests: New file.
73194         * tests/unistr/test-u16-strmblen.c: New file.
73196         Tests for module 'unistr/u8-strmblen'.
73197         * modules/unistr/u8-strmblen-tests: New file.
73198         * tests/unistr/test-u8-strmblen.c: New file.
73200         Tests for module 'unistr/u32-cpy-alloc'.
73201         * modules/unistr/u32-cpy-alloc-tests: New file.
73202         * tests/unistr/test-u32-cpy-alloc.c: New file.
73204         Tests for module 'unistr/u16-cpy-alloc'.
73205         * modules/unistr/u16-cpy-alloc-tests: New file.
73206         * tests/unistr/test-u16-cpy-alloc.c: New file.
73208         Tests for module 'unistr/u8-cpy-alloc'.
73209         * modules/unistr/u8-cpy-alloc-tests: New file.
73210         * tests/unistr/test-u8-cpy-alloc.c: New file.
73211         * tests/unistr/test-cpy-alloc.h: New file.
73213         Tests for module 'unistr/u32-mbsnlen'.
73214         * modules/unistr/u32-mbsnlen-tests: New file.
73215         * tests/unistr/test-u32-mbsnlen.c: New file.
73217         Tests for module 'unistr/u16-mbsnlen'.
73218         * modules/unistr/u16-mbsnlen-tests: New file.
73219         * tests/unistr/test-u16-mbsnlen.c: New file.
73221         Tests for module 'unistr/u8-mbsnlen'.
73222         * modules/unistr/u8-mbsnlen-tests: New file.
73223         * tests/unistr/test-u8-mbsnlen.c: New file.
73225         Tests for module 'unistr/u32-chr'.
73226         * modules/unistr/u32-chr-tests: New file.
73227         * tests/unistr/test-u32-chr.c: New file.
73229         Tests for module 'unistr/u16-chr'.
73230         * modules/unistr/u16-chr-tests: New file.
73231         * tests/unistr/test-u16-chr.c: New file.
73233         Tests for module 'unistr/u8-chr'.
73234         * modules/unistr/u8-chr-tests: New file.
73235         * tests/unistr/test-u8-chr.c: New file.
73236         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
73238         Tests for module 'unistr/u32-cmp2'.
73239         * modules/unistr/u32-cmp2-tests: New file.
73240         * tests/unistr/test-u32-cmp2.c: New file.
73242         Tests for module 'unistr/u16-cmp2'.
73243         * modules/unistr/u16-cmp2-tests: New file.
73244         * tests/unistr/test-u16-cmp2.c: New file.
73246         Tests for module 'unistr/u8-cmp2'.
73247         * modules/unistr/u8-cmp2-tests: New file.
73248         * tests/unistr/test-u8-cmp2.c: New file.
73249         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
73251         Tests for module 'unistr/u32-cmp'.
73252         * modules/unistr/u32-cmp-tests: New file.
73253         * tests/unistr/test-u32-cmp.c: New file.
73255         Tests for module 'unistr/u16-cmp'.
73256         * modules/unistr/u16-cmp-tests: New file.
73257         * tests/unistr/test-u16-cmp.c: New file.
73259         Tests for module 'unistr/u8-cmp'.
73260         * modules/unistr/u8-cmp-tests: New file.
73261         * tests/unistr/test-u8-cmp.c: New file.
73262         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
73264         Tests for module 'unistr/u32-set'.
73265         * modules/unistr/u32-set-tests: New file.
73266         * tests/unistr/test-u32-set.c: New file.
73268         Tests for module 'unistr/u16-set'.
73269         * modules/unistr/u16-set-tests: New file.
73270         * tests/unistr/test-u16-set.c: New file.
73272         Tests for module 'unistr/u8-set'.
73273         * modules/unistr/u8-set-tests: New file.
73274         * tests/unistr/test-u8-set.c: New file.
73275         * tests/unistr/test-set.h: New file.
73277         Tests for module 'unistr/u32-move'.
73278         * modules/unistr/u32-move-tests: New file.
73279         * tests/unistr/test-u32-move.c: New file.
73281         Tests for module 'unistr/u16-move'.
73282         * modules/unistr/u16-move-tests: New file.
73283         * tests/unistr/test-u16-move.c: New file.
73285         Tests for module 'unistr/u8-move'.
73286         * modules/unistr/u8-move-tests: New file.
73287         * tests/unistr/test-u8-move.c: New file.
73288         * tests/unistr/test-move.h: New file.
73290         Tests for module 'unistr/u32-cpy'.
73291         * modules/unistr/u32-cpy-tests: New file.
73292         * tests/unistr/test-u32-cpy.c: New file.
73294         Tests for module 'unistr/u16-cpy'.
73295         * modules/unistr/u16-cpy-tests: New file.
73296         * tests/unistr/test-u16-cpy.c: New file.
73298         Tests for module 'unistr/u8-cpy'.
73299         * modules/unistr/u8-cpy-tests: New file.
73300         * tests/unistr/test-u8-cpy.c: New file.
73301         * tests/unistr/test-cpy.h: New file.
73303 2010-01-09  Bruno Haible  <bruno@clisp.org>
73305         Tests for module 'unistr/u32-uctomb'.
73306         * modules/unistr/u32-uctomb-tests: New file.
73307         * tests/unistr/test-u32-uctomb.c: New file.
73309         Tests for module 'unistr/u16-uctomb'.
73310         * modules/unistr/u16-uctomb-tests: New file.
73311         * tests/unistr/test-u16-uctomb.c: New file.
73313         Tests for module 'unistr/u8-uctomb'.
73314         * modules/unistr/u8-uctomb-tests: New file.
73315         * tests/unistr/test-u8-uctomb.c: New file.
73317         Tests for module 'unistr/u32-mbtoucr'.
73318         * modules/unistr/u32-mbtoucr-tests: New file.
73319         * tests/unistr/test-u32-mbtoucr.c: New file.
73321         Tests for module 'unistr/u16-mbtoucr'.
73322         * modules/unistr/u16-mbtoucr-tests: New file.
73323         * tests/unistr/test-u16-mbtoucr.c: New file.
73325         Tests for module 'unistr/u8-mbtoucr'.
73326         * modules/unistr/u8-mbtoucr-tests: New file.
73327         * tests/unistr/test-u8-mbtoucr.c: New file.
73329         Tests for module 'unistr/u32-mbtouc'.
73330         * modules/unistr/u32-mbtouc-tests: New file.
73331         * tests/unistr/test-u32-mbtouc.c: New file.
73333         Tests for module 'unistr/u16-mbtouc'.
73334         * modules/unistr/u16-mbtouc-tests: New file.
73335         * tests/unistr/test-u16-mbtouc.c: New file.
73337         Tests for module 'unistr/u8-mbtouc'.
73338         * modules/unistr/u8-mbtouc-tests: New file.
73339         * tests/unistr/test-u8-mbtouc.c: New file.
73341         Tests for module 'unistr/u32-mbtouc-unsafe'.
73342         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
73343         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
73344         * tests/unistr/test-u32-mbtouc.h: New file.
73346         Tests for module 'unistr/u16-mbtouc-unsafe'.
73347         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
73348         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
73349         * tests/unistr/test-u16-mbtouc.h: New file.
73351         Tests for module 'unistr/u8-mbtouc-unsafe'.
73352         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
73353         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
73354         * tests/unistr/test-u8-mbtouc.h: New file.
73356         Tests for module 'unistr/u32-mblen'.
73357         * modules/unistr/u32-mblen-tests: New file.
73358         * tests/unistr/test-u32-mblen.c: New file.
73360         Tests for module 'unistr/u16-mblen'.
73361         * modules/unistr/u16-mblen-tests: New file.
73362         * tests/unistr/test-u16-mblen.c: New file.
73364         Tests for module 'unistr/u8-mblen'.
73365         * modules/unistr/u8-mblen-tests: New file.
73366         * tests/unistr/test-u8-mblen.c: New file.
73368         Tests for module 'unistr/u32-to-u16'.
73369         * modules/unistr/u32-to-u16-tests: New file.
73370         * tests/unistr/test-u32-to-u16.c: New file.
73372         Tests for module 'unistr/u32-to-u8'.
73373         * modules/unistr/u32-to-u8-tests: New file.
73374         * tests/unistr/test-u32-to-u8.c: New file.
73376         Tests for module 'unistr/u16-to-u32'.
73377         * modules/unistr/u16-to-u32-tests: New file.
73378         * tests/unistr/test-u16-to-u32.c: New file.
73380         Tests for module 'unistr/u16-to-u8'.
73381         * modules/unistr/u16-to-u8-tests: New file.
73382         * tests/unistr/test-u16-to-u8.c: New file.
73384         Tests for module 'unistr/u8-to-u32'.
73385         * modules/unistr/u8-to-u32-tests: New file.
73386         * tests/unistr/test-u8-to-u32.c: New file.
73388         Tests for module 'unistr/u8-to-u16'.
73389         * modules/unistr/u8-to-u16-tests: New file.
73390         * tests/unistr/test-u8-to-u16.c: New file.
73392         Tests for module 'unistr/u32-check'.
73393         * modules/unistr/u32-check-tests: New file.
73394         * tests/unistr/test-u32-check.c: New file.
73396         Tests for module 'unistr/u16-check'.
73397         * modules/unistr/u16-check-tests: New file.
73398         * tests/unistr/test-u16-check.c: New file.
73400         Tests for module 'unistr/u8-check'.
73401         * modules/unistr/u8-check-tests: New file.
73402         * tests/unistr/test-u8-check.c: New file.
73404         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
73405         (category_equals): New function.
73406         (main): Add more tests.
73407         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
73409         * tests/unictype/test-bidi_byname.c (main): Add more tests.
73411 2010-01-10  Bruno Haible  <bruno@clisp.org>
73413         unistr/u*-strcoll: Try harder to distinguish different strings.
73414         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
73415         compare s1 and s2 to see if they are different.
73417 2010-01-10  Bruno Haible  <bruno@clisp.org>
73419         unistr/u*-stpncpy: Fix the return value.
73420         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
73421         description of the return value consistent with stpncpy in glibc.
73422         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
73423         written non-NUL unit.
73425 2010-01-10  Bruno Haible  <bruno@clisp.org>
73427         unistr/u*-next: Add missing dependencies.
73428         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
73429         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
73430         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
73432 2010-01-10  Bruno Haible  <bruno@clisp.org>
73434         unistr/u8-mbsnlen: Fix return value for incomplete character.
73435         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
73436         u8_mblen.
73437         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
73438         Remove unistr/u8-mblen.
73439         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
73440         u16_mblen.
73441         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
73442         Remove unistr/u16-mblen.
73444 2010-01-10  Bruno Haible  <bruno@clisp.org>
73446         wchar: Fix compilation error when <wchar.h> is used from coreutils.
73447         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
73448         Reported by Brian Gough <bjg@gnu.org> and
73449         Chris Clayton <chris2553@googlemail.com> via
73450         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
73452 2010-01-09  Bruno Haible  <bruno@clisp.org>
73454         unistr/u16-to-u32: Reject invalid input.
73455         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
73456         u16_mbtouc.
73457         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
73458         Remove unistr/u16-mbtouc.
73460         unistr/u16-to-u8: Reject invalid input.
73461         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
73462         u16_mbtouc.
73463         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
73464         Remove unistr/u16-mbtouc.
73466         unistr/u8-to-u32: Reject invalid input.
73467         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
73468         u8_mbtouc.
73469         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
73470         Remove unistr/u8-mbtouc.
73472         unistr/u8-to-u16: Reject invalid input.
73473         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
73474         u8_mbtouc.
73475         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
73476         Remove unistr/u8-mbtouc.
73478 2010-01-09  Bruno Haible  <bruno@clisp.org>
73480         Tests for module 'getlogin'.
73481         * modules/getlogin-tests: New file.
73482         * tests/test-getlogin.c: New file.
73484         New module 'getlogin'.
73485         * lib/unistd.in.h (getlogin): New declaration.
73486         * lib/getlogin.c: New file.
73487         * m4/getlogin.m4: New file.
73488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
73489         HAVE_GETLOGIN.
73490         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
73491         HAVE_GETLOGIN.
73492         * modules/getlogin: New file.
73493         * doc/posix-functions/getlogin.texi: Mention the new module.
73494         Reported by John W. Eaton <jwe@gnu.org>.
73496 2010-01-09  Bruno Haible  <bruno@clisp.org>
73498         getlogin_r: Support for native Windows.
73499         * lib/getlogin_r.c: Include <windows.h>
73500         (getlogin_r): Implement for native Windows.
73501         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
73502         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
73503         via John W. Eaton <jwe@gnu.org>.
73505 2010-01-09  Bruno Haible  <bruno@clisp.org>
73507         getlogin_r: Small fixes.
73508         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
73509         succeeds.
73510         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
73511         before testing whether getlogin_r is declared. No need to set
73512         HAVE_DECL_GETLOGIN_R to 1.
73513         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
73515 2010-01-09  Bruno Haible  <bruno@clisp.org>
73517         * lib/unistd.in.h (getlogin_r): Add comment.
73519 2010-01-09  Bruno Haible  <bruno@clisp.org>
73521         Tests for module 'getlogin_r'.
73522         * modules/getlogin_r-tests: New file.
73523         * tests/test-getlogin_r.c: New file.
73525 2010-01-09  Jim Meyering  <meyering@redhat.com>
73527         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
73528         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
73529         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
73531 2010-01-08  Simon Josefsson  <simon@josefsson.org>
73533         * lib/dup2.c (rpl_dup2): Improve comment.
73535 2010-01-08  Eric Blake  <ebb9@byu.net>
73537         maint.mk: allow packages to add makefile @@ exceptions
73538         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
73539         (sc_makefile_check): Rename...
73540         (sc_makefile_at_at_check): ...to this, and use hook.
73542         dup2: work around mingw bug
73543         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
73544         Reported by Simon Josefsson.
73546 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
73548         glob: Fix C++ compilation.
73549         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
73550         C++.
73552 2010-01-07  Bruno Haible  <bruno@clisp.org>
73554         Fix indentation of wctype.in.h, broken since 2007-01-06.
73555         * lib/wctype.in.h: Fix indentation of preprocessor directives.
73557 2010-01-07  Bruno Haible  <bruno@clisp.org>
73559         mbslen: Avoid collision with system function.
73560         * lib/string.in.h [MirBSD]: Include <wchar.h>.
73561         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
73562         * m4/mbslen.m4: New file.
73563         * modules/mbslen (Files): Add it.
73564         (configure.ac): Invoke gl_MBSLEN.
73565         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
73566         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
73567         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
73568         via Ian Beckwith <ianb@erislabs.net>.
73570 2010-01-07  Bruno Haible  <bruno@clisp.org>
73572         dirent: Document the last fix.
73573         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
73575 2010-01-07  Bruno Haible  <bruno@clisp.org>
73577         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
73578         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
73579         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
73580         va_list are defined.
73581         * doc/posix-headers/stdio.texi: Document the bug of missing types.
73582         Reported by Eric Blake.
73584 2010-01-07  Bruno Haible  <bruno@clisp.org>
73586         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
73587         * modules/xlist (Depends-on): Add 'list',
73588         * modules/xoset (Depends-on): Add 'oset'.
73589         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73591 2010-01-07  Bruno Haible  <bruno@clisp.org>
73593         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
73594         * doc/posix-functions/strncasecmp.texi: Likewise.
73596 2010-01-07  Bruno Haible  <bruno@clisp.org>
73598         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
73600 2010-01-07  John W. Eaton  <jwe@octave.org>
73602         wctype: allow C++ use
73603         * lib/wctype.in.h: Add extern "C" block for C++.
73605 2010-01-06  Eric Blake  <ebb9@byu.net>
73607         maint.mk: detect incorrect GFDL usage
73608         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
73610 2010-01-06  Jim Meyering  <meyering@redhat.com>
73611         and Eric Blake  <ebb9@byu.net>
73613         maint.mk: ignore multi-line copyright in NEWS
73614         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
73616 2010-01-06  Eric Blake  <ebb9@byu.net>
73618         select: add missing dependency
73619         * modules/select-tests (Depends-on): Move sockets dependency...
73620         * modules/select (Depends-on): ...here.
73621         Reported by Ian Beckwith.
73623         doc: regenerate INSTALL
73624         * doc/INSTALL: Reflect recent autoconf update.
73625         * doc/INSTALL.ISO: Likewise.
73626         * doc/INSTALL.UTF-8: Likewise.
73628         pread: fix compilation on glibc
73629         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
73630         Reported by Ralf Wildenhues.
73632         dirent: fix test failure
73633         * lib/dirent.in.h (includes): Guarantee ino_t.
73634         Reported by Ralf Wildenhues.
73636 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
73638         linkat, renameat: avoid bad free
73639         * lib/at-func2.c (at_func2): Fix typo.
73640         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
73642 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73644         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
73645         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
73646         to avoid failure of symlink test later.
73648 2010-01-06  Eric Blake  <ebb9@byu.net>
73650         stdio, unistd: guarantee ssize_t
73651         * lib/unistd.in.h (includes): Ensure that types required by POSIX
73652         2008 are exposed when needed.
73653         * lib/stdio.in.h (includes): Likewise.
73654         Reported by Ralf Wildenhues.
73656 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
73658         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
73659         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
73660         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
73662 2010-01-06  Jim Meyering  <meyering@redhat.com>
73664         readtokens: this module *does* require xalloc.h
73665         It uses only functions that were omitted by the old syntax-check rule.
73666         * lib/readtokens.c: Include "xalloc.h" once again.
73667         * modules/readtokens (Depends-on): Add xalloc.
73668         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
73670 2010-01-05  Eric Blake  <ebb9@byu.net>
73672         maint: support 'make announcement' from a VPATH build
73673         * top/maint.mk (announcement): Look for correct NEWS file.
73675 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
73677         utimens (fdutimens): ignore a negative FD, per contract
73678         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
73679         when we have a valid file descriptor.  Otherwise, using a brand
73680         new glibc (with just-patched futimens that now fails with EBADF)
73681         would cause this function to fail with ENOSYS.
73682         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
73683         See also http://bugzilla.redhat.com/552320.
73685 2010-01-05  Eric Blake  <ebb9@byu.net>
73687         strcase: document what it provides
73688         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
73689         gnulib module.
73690         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
73691         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
73693 2010-01-05  Jim Meyering  <meyering@redhat.com>
73695         maint: remove useless inclusions of "xalloc.h"
73696         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
73697         * lib/readtokens.c: Likewise.
73698         * lib/same.c: Likewise.
73699         * modules/getloadavg (Depends-on): Remove xalloc.
73700         * modules/readtokens: Likewise.
73701         * modules/same: Likewise.
73703         maint.mk: include 4 more function names in alloca.h-checking regexp
73704         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
73705         regexp.  Before, we would give a false-positive (saying alloca.h
73706         is included unnecessarily) when the only uses involved omitted symbols.
73708         xalloc.h: use consistent formatting
73709         * lib/xalloc.h: Move declarations to start in the first column.
73711 2010-01-05  Eric Blake  <ebb9@byu.net>
73713         mkdir: avoid xalloc
73714         * lib/mkdir.c (includes): Drop unused header.
73715         Reported by John W. Eaton.
73717 2010-01-04  Jim Meyering  <meyering@redhat.com>
73719         nl_langinfo: avoid configure-time syntax error
73720         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
73721         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
73722         the empty string.  Don't let that provoke a shell syntax error.
73724         regcomp, regexec, fnmatch: avoid array bounds read error
73725         * lib/regcomp.c (build_equiv_class): From glibc:
73726         Use only the low 24 bits of a findidx return value as an index
73727         into the weights array.  Patch by Ulrich Drepper:
73728         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
73729         * lib/regexec.c (check_node_accept_bytes): Likewise.
73730         * lib/fnmatch_loop.c (FCT): Likewise.
73732         regcomp: skip collseq lookup when there are no rules
73733         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
73734         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
73736         regcomp: recognize ill-formed { } expressions
73737         * lib/regcomp.c (parse_dup_op): From glibc:
73738         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
73740         regcomp: fix typo in comment
73741         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
73742         s/satisfy/satisfies/.
73744         regcomp: sync from glibc: remove dead store
73745         * lib/regcomp.c (duplicate_node_closure): Remove useless
73746         search_duplicated_node call and dead store.
73748         regcomp: sync from glibc; always use nl_langinfo
73749         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
73750         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
73751         * modules/regex (Depends-on): Add nl_langinfo.
73753 2010-01-04  Eric Blake  <ebb9@byu.net>
73755         fdopendir: fix configure test
73756         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
73758 2010-01-01  Bruno Haible  <bruno@clisp.org>
73760         wchar: Remove unused configure check.
73761         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
73763 2010-01-01  Eric Blake  <ebb9@byu.net>
73765         headers: make check of system header explicit
73766         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
73767         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
73768         ourselves.
73769         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73770         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73771         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
73772         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
73773         internals.
73774         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
73775         missing.
73776         Suggested by Bruno Haible.
73778 2010-01-01  Jim Meyering  <meyering@redhat.com>
73780         ChangeLog: tweak to eliminate unnecessary copyright line
73781         * ChangeLog: Remove a copyright line that was mistakenly updated
73782         by today's update-copyright run.  Reported by Eric Blake.
73784         test-update-copyright: don't let envvar setting cause test failure
73785         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
73787 2010-01-01  Bruno Haible  <bruno@clisp.org>
73789         localename: Avoid gcc warning.
73790         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
73791         function if it is not used.
73793 2010-01-01  Jim Meyering  <meyering@redhat.com>
73795         update nearly all FSF copyright year lists to include 2010
73796         Use the same procedure as for 2009, outlined in
73797         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
73799         version-etc: set COPYRIGHT_YEAR to 2010
73800         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
73802 2009-12-31  Eric Blake  <ebb9@byu.net>
73804         doc: correct availability of cygwin 1.5.x getopt
73805         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
73806         variables.
73807         * doc/posix-functions/opterr.texi (opterr): Likewise.
73808         * doc/posix-functions/optind.texi (optind): Likewise.
73809         * doc/posix-functions/optopt.texi (optopt): Likewise.
73810         * doc/posix-functions/tzname.texi (tzname): Likewise.
73812         openat: update maintainer
73813         * modules/openat (Maintainer): Add myself.
73815         utimens: avoid shadowing warning
73816         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
73817         buffers into one, to avoid shadowing, as well as avoiding a
73818         redundant stat.
73819         Reported by Jim Meyering.
73821         test-dup2: avoid compiler warning
73822         * tests/test-dup2.c (is_inheritable): Only define if used.
73824 2010-01-01  Bruno Haible  <bruno@clisp.org>
73826         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
73827         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
73828         defined, use wctomb instead of wcrtomb.
73830 2010-01-01  Bruno Haible  <bruno@clisp.org>
73832         iconv: Reject native Solaris iconv.
73833         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
73834         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
73836 2009-12-31  Bruno Haible  <bruno@clisp.org>
73838         * tests/test-signal.c (main): Remove test of 'SIG'.
73840 2009-12-31  Bruno Haible  <bruno@clisp.org>
73842         spawn: Fix incomplete fix.
73843         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73844         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73845         warnings for GNULIB_POSIXCHECK again.
73846         Reported by Eric Blake.
73848 2009-12-31  Bruno Haible  <bruno@clisp.org>
73850         Avoid namespace pollution on glibc systems.
73851         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
73852         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
73853         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
73854         glibc systems.
73856 2009-12-31  Bruno Haible  <bruno@clisp.org>
73858         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
73859         (gl_REPLACE_WCHAR_H): Turn into a no-op.
73860         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
73861         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
73862         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
73863         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
73864         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
73866 2009-12-31  Bruno Haible  <bruno@clisp.org>
73868         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
73869         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
73870         afterwards.
73872 2009-12-31  Bruno Haible  <bruno@clisp.org>
73874         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
73875         SYS_UTSNAME_H.
73877 2009-12-31  Bruno Haible  <bruno@clisp.org>
73879         spawn: Fix misapplied patch.
73880         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73881         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73882         warnings for GNULIB_POSIXCHECK.
73884 2009-12-31  Bruno Haible  <bruno@clisp.org>
73886         times: Update after sys_times changed.
73887         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
73888         * modules/times (Files): Add it.
73889         (configure.ac): Invoke gl_FUNC_TIMES.
73891 2009-12-31  Bruno Haible  <bruno@clisp.org>
73893         Use AC_C_INLINE where necessary.
73894         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
73895         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
73896         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73897         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
73898         * m4/mbfile.m4 (gl_MBFILE): Likewise.
73899         * m4/mbiter.m4 (gl_MBITER): Likewise.
73900         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73901         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
73902         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
73903         * modules/u64 (configure.ac): Likewise.
73905 2009-12-31  Bruno Haible  <bruno@clisp.org>
73907         Use AC_C_INLINE instead of module 'inline' where possible.
73908         * modules/inline (Description): Clarify purpose.
73909         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
73910         * modules/count-one-bits (Depends-on): Remove inline.
73911         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
73912         * modules/openat (Depends-on): Remove inline.
73913         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
73914         instead of depending on module 'inline'.
73915         * modules/filevercmp (Depends-on, configure.ac): Likewise.
73916         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
73917         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
73918         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
73919         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
73920         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
73921         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
73922         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
73923         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
73924         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
73925         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
73926         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
73927         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
73928         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
73929         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
73930         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
73931         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
73932         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
73933         Likewise.
73934         * modules/unictype/property-ascii-hex-digit (Depends-on,
73935         configure.ac): Likewise.
73936         * modules/unictype/property-bidi-arabic-digit (Depends-on,
73937         configure.ac): Likewise.
73938         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
73939         configure.ac): Likewise.
73940         * modules/unictype/property-bidi-block-separator (Depends-on,
73941         configure.ac): Likewise.
73942         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
73943         configure.ac): Likewise.
73944         * modules/unictype/property-bidi-common-separator (Depends-on,
73945         configure.ac): Likewise.
73946         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
73947         Likewise.
73948         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
73949         configure.ac): Likewise.
73950         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
73951         configure.ac): Likewise.
73952         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
73953         configure.ac): Likewise.
73954         * modules/unictype/property-bidi-european-digit (Depends-on,
73955         configure.ac): Likewise.
73956         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
73957         configure.ac): Likewise.
73958         * modules/unictype/property-bidi-left-to-right (Depends-on,
73959         configure.ac): Likewise.
73960         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
73961         configure.ac): Likewise.
73962         * modules/unictype/property-bidi-other-neutral (Depends-on,
73963         configure.ac): Likewise.
73964         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
73965         Likewise.
73966         * modules/unictype/property-bidi-segment-separator (Depends-on,
73967         configure.ac): Likewise.
73968         * modules/unictype/property-bidi-whitespace (Depends-on,
73969         configure.ac): Likewise.
73970         * modules/unictype/property-combining (Depends-on, configure.ac):
73971         Likewise.
73972         * modules/unictype/property-composite (Depends-on, configure.ac):
73973         Likewise.
73974         * modules/unictype/property-currency-symbol (Depends-on,
73975         configure.ac): Likewise.
73976         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
73977         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
73978         Likewise.
73979         * modules/unictype/property-default-ignorable-code-point (Depends-on,
73980         configure.ac): Likewise.
73981         * modules/unictype/property-deprecated (Depends-on, configure.ac):
73982         Likewise.
73983         * modules/unictype/property-diacritic (Depends-on, configure.ac):
73984         Likewise.
73985         * modules/unictype/property-extender (Depends-on, configure.ac):
73986         Likewise.
73987         * modules/unictype/property-format-control (Depends-on, configure.ac):
73988         Likewise.
73989         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
73990         Likewise.
73991         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
73992         Likewise.
73993         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
73994         Likewise.
73995         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
73996         Likewise.
73997         * modules/unictype/property-hyphen (Depends-on, configure.ac):
73998         Likewise.
73999         * modules/unictype/property-id-continue (Depends-on, configure.ac):
74000         Likewise.
74001         * modules/unictype/property-id-start (Depends-on, configure.ac):
74002         Likewise.
74003         * modules/unictype/property-ideographic (Depends-on, configure.ac):
74004         Likewise.
74005         * modules/unictype/property-ids-binary-operator (Depends-on,
74006         configure.ac): Likewise.
74007         * modules/unictype/property-ids-trinary-operator (Depends-on,
74008         configure.ac): Likewise.
74009         * modules/unictype/property-ignorable-control (Depends-on,
74010         configure.ac): Likewise.
74011         * modules/unictype/property-iso-control (Depends-on, configure.ac):
74012         Likewise.
74013         * modules/unictype/property-join-control (Depends-on, configure.ac):
74014         Likewise.
74015         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
74016         Likewise.
74017         * modules/unictype/property-line-separator (Depends-on, configure.ac):
74018         Likewise.
74019         * modules/unictype/property-logical-order-exception (Depends-on,
74020         configure.ac): Likewise.
74021         * modules/unictype/property-lowercase (Depends-on, configure.ac):
74022         Likewise.
74023         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
74024         * modules/unictype/property-non-break (Depends-on, configure.ac):
74025         Likewise.
74026         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
74027         Likewise.
74028         * modules/unictype/property-numeric (Depends-on, configure.ac):
74029         Likewise.
74030         * modules/unictype/property-other-alphabetic (Depends-on,
74031         configure.ac): Likewise.
74032         * modules/unictype/property-other-default-ignorable-code-point
74033         (Depends-on, configure.ac): Likewise.
74034         * modules/unictype/property-other-grapheme-extend (Depends-on,
74035         configure.ac): Likewise.
74036         * modules/unictype/property-other-id-continue (Depends-on,
74037         configure.ac): Likewise.
74038         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
74039         Likewise.
74040         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
74041         Likewise.
74042         * modules/unictype/property-other-math (Depends-on, configure.ac):
74043         Likewise.
74044         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
74045         Likewise.
74046         * modules/unictype/property-paired-punctuation (Depends-on,
74047         configure.ac): Likewise.
74048         * modules/unictype/property-paragraph-separator (Depends-on,
74049         configure.ac): Likewise.
74050         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
74051         Likewise.
74052         * modules/unictype/property-pattern-white-space (Depends-on,
74053         configure.ac): Likewise.
74054         * modules/unictype/property-private-use (Depends-on, configure.ac):
74055         Likewise.
74056         * modules/unictype/property-punctuation (Depends-on, configure.ac):
74057         Likewise.
74058         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
74059         Likewise.
74060         * modules/unictype/property-radical (Depends-on, configure.ac):
74061         Likewise.
74062         * modules/unictype/property-sentence-terminal (Depends-on,
74063         configure.ac): Likewise.
74064         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
74065         Likewise.
74066         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
74067         * modules/unictype/property-terminal-punctuation (Depends-on,
74068         configure.ac): Likewise.
74069         * modules/unictype/property-titlecase (Depends-on, configure.ac):
74070         Likewise.
74071         * modules/unictype/property-unassigned-code-value (Depends-on,
74072         configure.ac): Likewise.
74073         * modules/unictype/property-unified-ideograph (Depends-on,
74074         configure.ac): Likewise.
74075         * modules/unictype/property-uppercase (Depends-on, configure.ac):
74076         Likewise.
74077         * modules/unictype/property-variation-selector (Depends-on,
74078         configure.ac): Likewise.
74079         * modules/unictype/property-white-space (Depends-on, configure.ac):
74080         Likewise.
74081         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
74082         Likewise.
74083         * modules/unictype/property-xid-start (Depends-on, configure.ac):
74084         Likewise.
74085         * modules/unictype/property-zero-width (Depends-on, configure.ac):
74086         Likewise.
74087         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
74088         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
74089         Likewise.
74091 2009-12-31  Bruno Haible  <bruno@clisp.org>
74093         Remove unnecessary AC_C_INLINE invocation.
74094         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
74095         since 2009-08-21.
74097 2009-12-31  Jim Meyering  <meyering@redhat.com>
74099         maint.mk: don't require explicit gpg_key_ID in cfg.mk
74100         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
74101         With this change, we can all remove the gpg_key_ID = ... definition
74102         from our respective cfg.mk files.
74104         maint.mk: create announcement template in ~/, not in /tmp
74105         * top/maint.mk (emit_upload_commands): Adjust.
74106         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
74107         Remove temporary file, .ci-msg.
74109 2009-12-31  Eric Blake  <ebb9@byu.net>
74111         link-warning: always build headers with link warnings
74112         * modules/arpa_inet (Makefile.am): Always build replacement
74113         header.
74114         * modules/ctype (Makefile.am): Likewise.
74115         * modules/dirent (Makefile.am): Likewise.
74116         * modules/inttypes (Makefile.am): Likewise.
74117         * modules/langinfo (Makefile.am): Likewise.
74118         * modules/locale (Makefile.am): Likewise.
74119         * modules/spawn (Makefile.am): Likewise.
74120         * modules/sys_file (Makefile.am): Likewise.
74121         * modules/sys_ioctl (Makefile.am): Likewise.
74122         * modules/sys_select (Makefile.am): Likewise.
74123         * modules/sys_socket (Makefile.am): Likewise.
74124         * modules/sys_times (Makefile.am): Likewise.
74125         * modules/sys_utsname (Makefile.am): Likewise.
74126         * modules/sys_wait (Makefile.am): Likewise.
74127         * modules/wchar (Makefile.am): Likewise.
74128         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
74129         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
74130         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
74131         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
74132         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
74133         Likewise.
74134         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
74135         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
74136         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
74137         Likewise.
74138         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
74139         Likewise.
74140         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
74141         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
74142         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
74143         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74144         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
74145         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74146         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74147         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
74148         (gl_WCHAR_H_DEFAULTS): Likewise.
74150 2009-12-31  Eric Blake  <ebb9@byu.net>
74152         signal, spawn: use link warnings
74153         * lib/signal.in.h (sigset_t): Make unconditional.
74154         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
74155         (sigpending, sigprocmask, sigaction): Add link warnings.
74156         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
74157         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
74158         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
74159         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
74160         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
74161         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
74162         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
74163         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
74164         (posix_spawn_file_actions_destroy)
74165         (posix_spawn_file_actions_addopen)
74166         (posix_spawn_file_actions_addclose)
74167         (posix_spawn_file_actions_adddup2): Likewise.
74168         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
74169         * tests/test-signal.c (main): Enhance test.
74171         spawn: improve wrapper support
74172         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
74173         (gl_SPAWN_H_DEFAULTS): New defaults.
74174         * modules/spawn (Makefile.am): Substitute them.
74175         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
74176         Only declare if missing or broken.
74178         sys_times, sys_utsname: use include_next
74179         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
74180         header.
74181         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
74182         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74183         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74184         * modules/sys_times (Depends-on): Add include_next.
74185         (Makefile.am): Substitute additional values.
74186         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
74187         * lib/sys_times.in.h (includes): Include native header, if
74188         available.
74189         * lib/sys_utsname.in.h (includes): Likewise.
74190         * tests/test-sys_times.c (main): Enhance test.
74192         fdutimensat: revert prior patch
74193         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
74194         utimens.h.
74195         Reported by Bruno Haible.
74197 2009-12-30  Eric Blake  <ebb9@byu.net>
74199         sys_wait: drop link-warning dependency
74200         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
74201         link-warning efforts.
74202         * lib/sys_wait.in.h: Likewise.
74204         fdutimensat: remove bogus dependency
74205         * modules/fdutimensat (Depends-on): Drop inline.
74207         unistd: fix typo
74208         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
74210 2009-12-30  Bruno Haible  <bruno@clisp.org>
74212         Fix compilation error with Solaris cc.
74213         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
74214         * lib/unicase/u16-is-invariant.c: Likewise.
74215         * lib/unicase/u32-is-invariant.c: Likewise.
74216         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74218 2009-12-30  Bruno Haible  <bruno@clisp.org>
74220         Fix test crash.
74221         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
74222         locales.
74223         Reported by Simon Josefsson <simon@josefsson.org>.
74225 2009-12-30  Bruno Haible  <bruno@clisp.org>
74227         Fix compilation error on most platforms.
74228         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
74229         Reported by Simon Josefsson <simon@josefsson.org>
74230         and Nelson H. F. Beebe <beebe@math.utah.edu>.
74232 2009-12-30  Eric Blake  <ebb9@byu.net>
74234         futimens, utimensat: work around ntfs-3g bug
74235         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
74236         a ctime bug is present, and expand workaround to cover ntfs-3g.
74237         * lib/utimens.c (fdutimens, lutimens): Likewise.
74238         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
74239         (validate_timespec): Adjust return value.
74240         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
74241         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
74242         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
74244 2009-12-29  Eric Blake  <ebb9@byu.net>
74246         link-warning: make usage consistent
74247         * modules/ctype (Depends-on): Add link-warning.
74248         (Makefile.am): Update rules accordingly.
74249         * modules/langinfo (Depends-on, Makefile.am): Likewise.
74250         * modules/locale (Depends-on, Makefile.am): Likewise.
74251         * modules/sys_file (Makefile.am): Likewise.
74252         * modules/getopt-posix (Makefile.am): Delete unused link warning
74253         efforts.
74254         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
74255         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
74256         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
74257         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
74259         stdio: remove unused variables
74260         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
74261         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
74262         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
74264         tests: test more substitute headers
74265         * modules/ctype-tests: New file.
74266         * modules/dirent-tests: Likewise.
74267         * modules/spawn-tests: Likewise.
74268         * modules/sys_file-tests: Likewise.
74269         * modules/sys_ioctl-tests: Likewise.
74270         * modules/sys_wait-tests: Likewise.
74271         * tests/test-ctype.c: Likewise.
74272         * tests/test-dirent.c: Likewise.
74273         * tests/test-spawn.c: Likewise.
74274         * tests/test-sys_file.c: Likewise.
74275         * tests/test-sys_ioctl.c: Likewise.
74276         * tests/test-sys_wait.c: Likewise.
74277         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
74278         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
74279         whether or not flock is in use.
74281         tests: remove License section from module
74282         * modules/arpa_inet-tests: Remove unneeded section.
74283         * modules/byteswap-tests: Likewise.
74284         * modules/ceilf-tests: Likewise.
74285         * modules/ceill-tests: Likewise.
74286         * modules/crypto/des-tests: Likewise.
74287         * modules/crypto/gc-arcfour-tests: Likewise.
74288         * modules/crypto/gc-arctwo-tests: Likewise.
74289         * modules/crypto/gc-des-tests: Likewise.
74290         * modules/crypto/gc-hmac-md5-tests: Likewise.
74291         * modules/crypto/gc-hmac-sha1-tests: Likewise.
74292         * modules/crypto/gc-md2-tests: Likewise.
74293         * modules/crypto/gc-md4-tests: Likewise.
74294         * modules/crypto/gc-md5-tests: Likewise.
74295         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
74296         * modules/crypto/gc-rijndael-tests: Likewise.
74297         * modules/crypto/gc-sha1-tests: Likewise.
74298         * modules/crypto/gc-tests: Likewise.
74299         * modules/crypto/md2-tests: Likewise.
74300         * modules/crypto/md4-tests: Likewise.
74301         * modules/fcntl-h-tests: Likewise.
74302         * modules/floorf-tests: Likewise.
74303         * modules/floorl-tests: Likewise.
74304         * modules/frexp-nolibm-tests: Likewise.
74305         * modules/frexp-tests: Likewise.
74306         * modules/frexpl-nolibm-tests: Likewise.
74307         * modules/frexpl-tests: Likewise.
74308         * modules/getaddrinfo-tests: Likewise.
74309         * modules/inttypes-tests: Likewise.
74310         * modules/isfinite-tests: Likewise.
74311         * modules/isinf-tests: Likewise.
74312         * modules/ldexpl-tests: Likewise.
74313         * modules/locale-tests: Likewise.
74314         * modules/math-tests: Likewise.
74315         * modules/netdb-tests: Likewise.
74316         * modules/netinet_in-tests: Likewise.
74317         * modules/printf-frexp-tests: Likewise.
74318         * modules/printf-frexpl-tests: Likewise.
74319         * modules/priv-set-tests: Likewise.
74320         * modules/random_r-tests: Likewise.
74321         * modules/round-tests: Likewise.
74322         * modules/roundf-tests: Likewise.
74323         * modules/roundl-tests: Likewise.
74324         * modules/search-tests: Likewise.
74325         * modules/select-tests: Likewise.
74326         * modules/signal-tests: Likewise.
74327         * modules/stdbool-tests: Likewise.
74328         * modules/stddef-tests: Likewise.
74329         * modules/stdint-tests: Likewise.
74330         * modules/stdio-tests: Likewise.
74331         * modules/stdlib-tests: Likewise.
74332         * modules/string-tests: Likewise.
74333         * modules/strings-tests: Likewise.
74334         * modules/sys_select-tests: Likewise.
74335         * modules/sys_socket-tests: Likewise.
74336         * modules/sys_stat-tests: Likewise.
74337         * modules/sys_time-tests: Likewise.
74338         * modules/sys_utsname-tests: Likewise.
74339         * modules/sysexits-tests: Likewise.
74340         * modules/time-tests: Likewise.
74341         * modules/trunc-tests: Likewise.
74342         * modules/truncf-tests: Likewise.
74343         * modules/truncl-tests: Likewise.
74344         * modules/tsearch-tests: Likewise.
74345         * modules/unistd-tests: Likewise.
74346         * modules/wchar-tests: Likewise.
74347         * modules/wctype-tests: Likewise.
74349         tests: fix license on several tests
74350         * tests/test-des.c: Update to GPLv3+.
74351         * tests/test-flock.c: Likewise.
74352         * tests/test-fsync.c: Likewise.
74353         * tests/test-futimens.h: Likewise.
74354         * tests/test-gc-arcfour.c: Likewise.
74355         * tests/test-gc-arctwo.c: Likewise.
74356         * tests/test-gc-des.c: Likewise.
74357         * tests/test-gc-hmac-md5.c: Likewise.
74358         * tests/test-gc-hmac-sha1.c: Likewise.
74359         * tests/test-gc-md2.c: Likewise.
74360         * tests/test-gc-md4.c: Likewise.
74361         * tests/test-gc-md5.c: Likewise.
74362         * tests/test-gc-pbkdf2-sha1.c: Likewise.
74363         * tests/test-gc-rijndael.c: Likewise.
74364         * tests/test-gc-sha1.c: Likewise.
74365         * tests/test-gc.c: Likewise.
74366         * tests/test-getcwd.c: Likewise.
74367         * tests/test-link.c: Likewise.
74368         * tests/test-link.h: Likewise.
74369         * tests/test-lutimens.h: Likewise.
74370         * tests/test-md2.c: Likewise.
74371         * tests/test-md4.c: Likewise.
74372         * tests/test-mkdir.h: Likewise.
74373         * tests/test-rename.c: Likewise.
74374         * tests/test-rename.h: Likewise.
74375         * tests/test-safe-alloc.c: Likewise.
74376         * tests/test-utimens-common.h: Likewise.
74377         * tests/test-utimens.h: Likewise.
74379         maint: sync license texts
74380         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
74381         * doc/gpl-3.0.texi: Revert copyright year update.
74382         * doc/lgpl-3.0.texi: Likewise.
74384 2009-12-29  Jim Meyering  <meyering@redhat.com>
74386         update nearly all FSF copyright year lists to include 2009
74387         The files named by the following are exempted:
74388             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
74389               test -f "$dst" && { echo "$dst"; continue; }
74390               test -d "$dst" || continue
74391               echo "$dst"/$(basename "$src")
74392             done > exempt
74393             git ls-files tests/unictype >> exempt
74394         In the remaining files, convert to all-interval notation if
74395         - there is already at least one year interval like 2000-2003
74396         - the file is maintained by me
74397         - the file is in lib/uni*/, where that style already prevails
74398         Otherwise, use update-copyright's default.
74400 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74401         and Eric Blake  <ebb9@byu.net>
74403         tests: don't require debug system() to pass
74404         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
74405         * tests/test-rmdir.h (test_rmdir_func): Likewise.
74406         * tests/test-unlink.h (test_unlink_func): Likewise.
74407         * tests/test-fstatat.c (main): ...into callers.
74408         * tests/test-lstat.c (main): Likewise.
74409         * tests/test-rmdir.c (main): Likewise.
74410         * tests/test-unlink.c (main): Likewise.
74411         * tests/test-unlinkat.c (main): Likewise.
74412         * tests/test-areadlink-with-size.c (main): Don't require a
74413         debug-only system call to pass, aiding cross-testing to mingw.
74414         * tests/test-areadlink.c (main): Likewise.
74415         * tests/test-areadlinkat-with-size.c (main): Likewise.
74416         * tests/test-areadlinkat.c (main): Likewise.
74417         * tests/test-canonicalize-lgpl.c (main): Likewise.
74418         * tests/test-canonicalize.c (main): Likewise.
74419         * tests/test-chown.c (main): Likewise.
74420         * tests/test-fchownat.c (main): Likewise.
74421         * tests/test-lchown.c (main): Likewise.
74422         * tests/test-fdutimensat.c (main): Likewise.
74423         * tests/test-futimens.c (main): Likewise.
74424         * tests/test-link.c (main): Likewise.
74425         * tests/test-linkat.c (main): Likewise.
74426         * tests/test-mkdir.c (main): Likewise.
74427         * tests/test-mkdirat.c (main): Likewise.
74428         * tests/test-mkfifo.c (main): Likewise.
74429         * tests/test-mkfifoat.c (main): Likewise.
74430         * tests/test-mknod.c (main): Likewise.
74431         * tests/test-readlink.c (main): Likewise.
74432         * tests/test-remove.c (main): Likewise.
74433         * tests/test-rename.c (main): Likewise.
74434         * tests/test-renameat.c (main): Likewise.
74435         * tests/test-symlink.c (main): Likewise.
74436         * tests/test-symlinkat.c (main): Likewise.
74437         * tests/test-utimens.c (main): Likewise.
74438         * tests/test-utimensat.c (main): Likewise.
74440 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74442         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
74443         on $(UNUSED_PARAMETER_H) to avoid build failure.
74445 2009-12-28  Jim Meyering  <meyering@redhat.com>
74447         update-copyright: you may specify a max. line length other than 72
74448         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74450         maint: use consistent FSF copyright line syntax
74451         * lib/posixtm.c: Add missing comma in FSF copyright line.
74452         * lib/posixtm.h: Likewise.
74453         * lib/getugroups.c: Add missing ", Inc.".
74455         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
74456         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
74457         FSF copyright line.  Remove trailing blanks.
74459 2009-12-28  Eric Blake  <ebb9@byu.net>
74461         test-dup2: reduce dependencies
74462         * modules/cloexec (Configure.ac): Set witness.
74463         * modules/dup2-tests (Depends-on): Drop cloexec.
74464         * tests/test-dup2.c (main): Skip portion of test if cloexec module
74465         not present.
74466         Suggested by Bruno Haible.
74468 2009-12-26  Bruno Haible  <bruno@clisp.org>
74470         Remove an unneeded dependency.
74471         * modules/fseterr (Depends-on): Remove dup2.
74473 2009-12-26  Eric Blake  <ebb9@byu.net>
74475         tests: use macros.h in more places
74476         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
74477         (ASSERT_STREAM): Provide default of stderr.
74478         * tests/test-dirent-safer.c: Include macros.h, using alternate
74479         stream for assertions.
74480         * tests/test-dup-safer.c: Likewise.
74481         * tests/test-freopen-safer.c: Likewise.
74482         * tests/test-getopt.c: Likewise.
74483         * tests/test-openat-safer.c: Likewise.
74484         * tests/test-pipe.c: Likewise.
74485         * tests/test-popen-safer.c: Likewise.
74486         * modules/dirent-safer-tests (Files): Include macros.h.
74487         * modules/unistd-safer-tests (Files): Likewise.
74488         * modules/freopen-safer-tests (Files): Likewise.
74489         * modules/getopt-posix-tests (Files): Likewise.
74490         * modules/openat-safer-tests (Files): Likewise.
74491         * modules/pipe-tests (Files): Likewise.
74493 2009-12-26  Bruno Haible  <bruno@clisp.org>
74495         javacomp-script: Portability fix.
74496         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
74497         that it also works on Solaris.
74499 2009-12-26  Bruno Haible  <bruno@clisp.org>
74501         localename: Fix storage allocation of gl_locale_name_thread's result.
74502         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
74503         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
74504         all platforms that have 'uselocale'.
74505         (gl_locale_name_thread_unsafe): New function, extracted from
74506         gl_locale_name_thread.
74507         (gl_locale_name_thread): Call struniq on all platforms that have
74508         'uselocale'.
74509         * tests/test-localename.c (test_locale_name_thread): Check that the
74510         resulting strings are permanently allocated.
74511         * modules/localename-tests (Depends-on): Add strdup.
74513 2009-12-26  Bruno Haible  <bruno@clisp.org>
74515         * tests/test-localename.c (categories): Fill in the strings.
74517 2009-12-26  Jim Meyering  <meyering@redhat.com>
74519         isdir: complete the removal of m4/isdir.m4
74520         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
74522         isdir: clean up, since at least grep still uses it
74523         * lib/isdir.c: Include "isdir.h".
74524         (S_ISDIR): Remove now-unneeded definition.
74525         * modules/isdir (Files): Add lib/isdir.h.
74526         * lib/isdir.h: New file, with declaration.
74527         * m4/isdir.m4: Remove file -- unneeded.
74529 2009-12-25  Bruno Haible  <bruno@clisp.org>
74531         selinux-h: Make generated .h files standalone.
74532         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
74533         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
74534         * lib/se-selinux.in.h: Likewise.
74535         * modules/selinux-h (Depends-on): Add unused-parameter.
74536         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
74537         selinux/selinux.h and selinux/context.h.
74538         Suggested by Eric Blake.
74540 2009-12-25  Bruno Haible  <bruno@clisp.org>
74542         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
74543         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
74544         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
74545         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
74546         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
74548 2009-12-24  Bruno Haible  <bruno@clisp.org>
74550         openat: Fix warning.
74551         * lib/openat-proc.c: Include <unistd.h>.
74553 2009-12-24  Bruno Haible  <bruno@clisp.org>
74555         New module 'unused-parameter'.
74556         * build-aux/unused-parameter.h: New file, extracted from earlier
74557         gnulib-common.m4.
74558         * modules/unused-parameter: New file.
74559         * lib/unistr.h: Include unused-parameter.h.
74560         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
74561         _GL_UNUSED.
74562         * modules/unistr/base (Depends-on): Add unused-parameter.
74564 2009-12-24  Bruno Haible  <bruno@clisp.org>
74566         Add missing dependencies to 'extensions' module.
74567         * m4/extensions.m4: Add comment.
74568         * modules/accept4 (Depends-on): Add extensions.
74569         * modules/dup3 (Depends-on): Likewise.
74570         * modules/fcntl (Depends-on): Likewise.
74571         * modules/futimens (Depends-on): Likewise.
74572         * modules/mknod (Depends-on): Likewise.
74573         * modules/pipe2 (Depends-on): Likewise.
74574         * modules/stat-time (Depends-on): Likewise.
74575         * modules/strcasestr-simple (Depends-on): Likewise.
74576         * modules/strsignal (Depends-on): Likewise.
74577         * modules/utimensat (Depends-on): Likewise.
74578         * modules/localcharset (Depends-on): Likewise. Needed because of
74579         gl_FCNTL_O_FLAGS.
74580         * modules/wcrtomb (Depends-on): Likewise. Needed because of
74581         AC_TYPE_MBSTATE_T.
74582         * modules/wcsnrtombs (Depends-on): Likewise.
74583         * modules/wcsrtombs (Depends-on): Likewise.
74585 2009-12-24  Bruno Haible  <bruno@clisp.org>
74587         binary-io: Avoid gcc warning due to SET_BINARY.
74588         * lib/binary-io.h (SET_BINARY): Cast the result to void.
74589         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
74591 2009-12-24  Bruno Haible  <bruno@clisp.org>
74593         Avoid future namespace pollution on glibc systems.
74594         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
74595         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
74596         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
74597         glibc systems.
74599 2009-12-24  Bruno Haible  <bruno@clisp.org>
74601         Refactor common macros used in tests.
74602         * tests/macros.h: New file.
74603         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
74604         and/or <stdlib.h>, if appropriate.
74605         (ASSERT, SIZEOF): Remove macros.
74606         * tests/test-areadlink-with-size.c: Likewise.
74607         * tests/test-areadlinkat.c: Likewise.
74608         * tests/test-areadlinkat-with-size.c: Likewise.
74609         * tests/test-argmatch.c: Likewise.
74610         * tests/test-argv-iter.c: Likewise.
74611         * tests/test-array-mergesort.c: Likewise.
74612         * tests/test-array_list.c: Likewise.
74613         * tests/test-array_oset.c: Likewise.
74614         * tests/test-avltree_list.c: Likewise.
74615         * tests/test-avltree_oset.c: Likewise.
74616         * tests/test-avltreehash_list.c: Likewise.
74617         * tests/test-base64.c: Likewise.
74618         * tests/test-binary-io.c: Likewise.
74619         * tests/test-bitrotate.c: Likewise.
74620         * tests/test-btowc.c: Likewise.
74621         * tests/test-byteswap.c: Likewise.
74622         * tests/test-c-ctype.c: Likewise.
74623         * tests/test-c-stack.c: Likewise.
74624         * tests/test-c-strcasecmp.c: Likewise.
74625         * tests/test-c-strcasestr.c: Likewise.
74626         * tests/test-c-strncasecmp.c: Likewise.
74627         * tests/test-c-strstr.c: Likewise.
74628         * tests/test-canonicalize-lgpl.c: Likewise.
74629         * tests/test-canonicalize.c: Likewise.
74630         * tests/test-carray_list.c: Likewise.
74631         * tests/test-ceilf1.c: Likewise.
74632         * tests/test-ceilf2.c: Likewise.
74633         * tests/test-ceill.c: Likewise.
74634         * tests/test-chown.c: Likewise.
74635         * tests/test-cloexec.c: Likewise.
74636         * tests/test-copy-acl.c: Likewise.
74637         * tests/test-copy-file.c: Likewise.
74638         * tests/test-count-one-bits.c: Likewise.
74639         * tests/test-dprintf-posix.c: Likewise.
74640         * tests/test-dup2.c: Likewise.
74641         * tests/test-dup3.c: Likewise.
74642         * tests/test-duplocale.c: Likewise.
74643         * tests/test-fbufmode.c: Likewise.
74644         * tests/test-fchdir.c: Likewise.
74645         * tests/test-fchownat.c: Likewise.
74646         * tests/test-fcntl-safer.c: Likewise.
74647         * tests/test-fcntl.c: Likewise.
74648         * tests/test-fdopendir.c: Likewise.
74649         * tests/test-fdutimensat.c: Likewise.
74650         * tests/test-fflush2.c: Likewise.
74651         * tests/test-file-has-acl.c: Likewise.
74652         * tests/test-filevercmp.c: Likewise.
74653         * tests/test-flock.c: Likewise.
74654         * tests/test-floorf1.c: Likewise.
74655         * tests/test-floorf2.c: Likewise.
74656         * tests/test-floorl.c: Likewise.
74657         * tests/test-fnmatch.c: Likewise.
74658         * tests/test-fopen.h: Likewise.
74659         * tests/test-fpending.c: Likewise.
74660         * tests/test-fprintf-posix.c: Likewise.
74661         * tests/test-fpurge.c: Likewise.
74662         * tests/test-freadable.c: Likewise.
74663         * tests/test-freadahead.c: Likewise.
74664         * tests/test-freading.c: Likewise.
74665         * tests/test-freadptr.c: Likewise.
74666         * tests/test-freadptr2.c: Likewise.
74667         * tests/test-freadseek.c: Likewise.
74668         * tests/test-freopen.c: Likewise.
74669         * tests/test-frexp.c: Likewise.
74670         * tests/test-frexpl.c: Likewise.
74671         * tests/test-fseek.c: Likewise.
74672         * tests/test-fseeko.c: Likewise.
74673         * tests/test-fstatat.c: Likewise.
74674         * tests/test-fstrcmp.c: Likewise.
74675         * tests/test-fsync.c: Likewise.
74676         * tests/test-ftell.c: Likewise.
74677         * tests/test-ftello.c: Likewise.
74678         * tests/test-func.c: Likewise.
74679         * tests/test-futimens.c: Likewise.
74680         * tests/test-fwritable.c: Likewise.
74681         * tests/test-fwriting.c: Likewise.
74682         * tests/test-getcwd.c: Likewise.
74683         * tests/test-getdate.c: Likewise.
74684         * tests/test-getdelim.c: Likewise.
74685         * tests/test-getdtablesize.c: Likewise.
74686         * tests/test-getgroups.c: Likewise.
74687         * tests/test-getline.c: Likewise.
74688         * tests/test-getndelim2.c: Likewise.
74689         * tests/test-glob.c: Likewise.
74690         * tests/test-hash.c: Likewise.
74691         * tests/test-i-ring.c: Likewise.
74692         * tests/test-iconv-utf.c: Likewise.
74693         * tests/test-iconv.c: Likewise.
74694         * tests/test-idpriv-drop.c: Likewise.
74695         * tests/test-idpriv-droptemp.c: Likewise.
74696         * tests/test-inet_ntop.c: Likewise.
74697         * tests/test-inet_pton.c: Likewise.
74698         * tests/test-isblank.c: Likewise.
74699         * tests/test-isfinite.c: Likewise.
74700         * tests/test-isinf.c: Likewise.
74701         * tests/test-isnan.c: Likewise.
74702         * tests/test-isnand.h: Likewise.
74703         * tests/test-isnanf.h: Likewise.
74704         * tests/test-isnanl.h: Likewise.
74705         * tests/test-lchown.c: Likewise.
74706         * tests/test-ldexpl.c: Likewise.
74707         * tests/test-link.c: Likewise.
74708         * tests/test-linkat.c: Likewise.
74709         * tests/test-linked_list.c: Likewise.
74710         * tests/test-linkedhash_list.c: Likewise.
74711         * tests/test-localename.c: Likewise.
74712         * tests/test-lseek.c: Likewise.
74713         * tests/test-lstat.c: Likewise.
74714         * tests/test-mbmemcasecmp.c: Likewise.
74715         * tests/test-mbmemcasecoll.c: Likewise.
74716         * tests/test-mbrtowc.c: Likewise.
74717         * tests/test-mbscasecmp.c: Likewise.
74718         * tests/test-mbscasestr1.c: Likewise.
74719         * tests/test-mbscasestr2.c: Likewise.
74720         * tests/test-mbscasestr3.c: Likewise.
74721         * tests/test-mbscasestr4.c: Likewise.
74722         * tests/test-mbschr.c: Likewise.
74723         * tests/test-mbscspn.c: Likewise.
74724         * tests/test-mbsinit.c: Likewise.
74725         * tests/test-mbsncasecmp.c: Likewise.
74726         * tests/test-mbsnrtowcs.c: Likewise.
74727         * tests/test-mbspbrk.c: Likewise.
74728         * tests/test-mbspcasecmp.c: Likewise.
74729         * tests/test-mbsrchr.c: Likewise.
74730         * tests/test-mbsrtowcs.c: Likewise.
74731         * tests/test-mbsspn.c: Likewise.
74732         * tests/test-mbsstr1.c: Likewise.
74733         * tests/test-mbsstr2.c: Likewise.
74734         * tests/test-mbsstr3.c: Likewise.
74735         * tests/test-memchr.c: Likewise.
74736         * tests/test-memchr2.c: Likewise.
74737         * tests/test-memcmp.c: Likewise.
74738         * tests/test-memmem.c: Likewise.
74739         * tests/test-memrchr.c: Likewise.
74740         * tests/test-mkdir.c: Likewise.
74741         * tests/test-mkdirat.c: Likewise.
74742         * tests/test-mkfifo.c: Likewise.
74743         * tests/test-mkfifoat.c: Likewise.
74744         * tests/test-mknod.c: Likewise.
74745         * tests/test-nanosleep.c: Likewise.
74746         * tests/test-nl_langinfo.c: Likewise.
74747         * tests/test-obstack-printf.c: Likewise.
74748         * tests/test-open.c: Likewise.
74749         * tests/test-openat.c: Likewise.
74750         * tests/test-pipe-filter-gi1.c: Likewise.
74751         * tests/test-pipe-filter-gi2-main.c: Likewise.
74752         * tests/test-pipe-filter-ii1.c: Likewise.
74753         * tests/test-pipe-filter-ii2-main.c: Likewise.
74754         * tests/test-pipe2.c: Likewise.
74755         * tests/test-popen.h: Likewise.
74756         * tests/test-posixtm.c: Likewise.
74757         * tests/test-pread.c: Likewise.
74758         * tests/test-printf-frexp.c: Likewise.
74759         * tests/test-printf-frexpl.c: Likewise.
74760         * tests/test-printf-posix.c: Likewise.
74761         * tests/test-priv-set.c: Likewise.
74762         * tests/test-quotearg.c: Likewise.
74763         * tests/test-random_r.c: Likewise.
74764         * tests/test-rawmemchr.c: Likewise.
74765         * tests/test-rbtree_list.c: Likewise.
74766         * tests/test-rbtree_oset.c: Likewise.
74767         * tests/test-rbtreehash_list.c: Likewise.
74768         * tests/test-readlink.c: Likewise.
74769         * tests/test-remove.c: Likewise.
74770         * tests/test-rename.c: Likewise.
74771         * tests/test-renameat.c: Likewise.
74772         * tests/test-rmdir.c: Likewise.
74773         * tests/test-round1.c: Likewise.
74774         * tests/test-roundf1.c: Likewise.
74775         * tests/test-roundl.c: Likewise.
74776         * tests/test-safe-alloc.c: Likewise.
74777         * tests/test-sameacls.c: Likewise.
74778         * tests/test-set-mode-acl.c: Likewise.
74779         * tests/test-setenv.c: Likewise.
74780         * tests/test-sigaction.c: Likewise.
74781         * tests/test-signbit.c: Likewise.
74782         * tests/test-sleep.c: Likewise.
74783         * tests/test-snprintf-posix.c: Likewise.
74784         * tests/test-snprintf.c: Likewise.
74785         * tests/test-sprintf-posix.c: Likewise.
74786         * tests/test-stat-time.c: Likewise.
74787         * tests/test-stat.c: Likewise.
74788         * tests/test-strcasestr.c: Likewise.
74789         * tests/test-strchrnul.c: Likewise.
74790         * tests/test-strerror.c: Likewise.
74791         * tests/test-striconv.c: Likewise.
74792         * tests/test-striconveh.c: Likewise.
74793         * tests/test-striconveha.c: Likewise.
74794         * tests/test-strsignal.c: Likewise.
74795         * tests/test-strstr.c: Likewise.
74796         * tests/test-strtod.c: Likewise.
74797         * tests/test-strverscmp.c: Likewise.
74798         * tests/test-symlink.c: Likewise.
74799         * tests/test-symlinkat.c: Likewise.
74800         * tests/test-trunc1.c: Likewise.
74801         * tests/test-trunc2.c: Likewise.
74802         * tests/test-truncf1.c: Likewise.
74803         * tests/test-truncf2.c: Likewise.
74804         * tests/test-truncl.c: Likewise.
74805         * tests/test-uname.c: Likewise.
74806         * tests/test-unlink.c: Likewise.
74807         * tests/test-unlinkat.c: Likewise.
74808         * tests/test-unsetenv.c: Likewise.
74809         * tests/test-usleep.c: Likewise.
74810         * tests/test-utimens.c: Likewise.
74811         * tests/test-utimensat.c: Likewise.
74812         * tests/test-vasnprintf-posix.c: Likewise.
74813         * tests/test-vasnprintf-posix2.c: Likewise.
74814         * tests/test-vasnprintf.c: Likewise.
74815         * tests/test-vasprintf-posix.c: Likewise.
74816         * tests/test-vasprintf.c: Likewise.
74817         * tests/test-vdprintf-posix.c: Likewise.
74818         * tests/test-vfprintf-posix.c: Likewise.
74819         * tests/test-vprintf-posix.c: Likewise.
74820         * tests/test-vsnprintf-posix.c: Likewise.
74821         * tests/test-vsnprintf.c: Likewise.
74822         * tests/test-vsprintf-posix.c: Likewise.
74823         * tests/test-wcrtomb.c: Likewise.
74824         * tests/test-wcsnrtombs.c: Likewise.
74825         * tests/test-wcsrtombs.c: Likewise.
74826         * tests/test-wctype.c: Likewise.
74827         * tests/test-wcwidth.c: Likewise.
74828         * tests/test-xfprintf-posix.c: Likewise.
74829         * tests/test-xmemdup0.c: Likewise.
74830         * tests/test-xprintf-posix.c: Likewise.
74831         * tests/test-xvasprintf.c: Likewise.
74832         * tests/unicase/test-locale-language.c: Likewise.
74833         * tests/unicase/test-mapping-part1.h: Likewise.
74834         * tests/unicase/test-predicate-part1.h: Likewise.
74835         * tests/unicase/test-u8-casecmp.c: Likewise.
74836         * tests/unicase/test-u8-casecoll.c: Likewise.
74837         * tests/unicase/test-u8-casefold.c: Likewise.
74838         * tests/unicase/test-u8-is-cased.c: Likewise.
74839         * tests/unicase/test-u8-is-casefolded.c: Likewise.
74840         * tests/unicase/test-u8-is-lowercase.c: Likewise.
74841         * tests/unicase/test-u8-is-titlecase.c: Likewise.
74842         * tests/unicase/test-u8-is-uppercase.c: Likewise.
74843         * tests/unicase/test-u8-tolower.c: Likewise.
74844         * tests/unicase/test-u8-totitle.c: Likewise.
74845         * tests/unicase/test-u8-toupper.c: Likewise.
74846         * tests/unicase/test-u16-casecmp.c: Likewise.
74847         * tests/unicase/test-u16-casecoll.c: Likewise.
74848         * tests/unicase/test-u16-casefold.c: Likewise.
74849         * tests/unicase/test-u16-is-cased.c: Likewise.
74850         * tests/unicase/test-u16-is-casefolded.c: Likewise.
74851         * tests/unicase/test-u16-is-lowercase.c: Likewise.
74852         * tests/unicase/test-u16-is-titlecase.c: Likewise.
74853         * tests/unicase/test-u16-is-uppercase.c: Likewise.
74854         * tests/unicase/test-u16-tolower.c: Likewise.
74855         * tests/unicase/test-u16-totitle.c: Likewise.
74856         * tests/unicase/test-u16-toupper.c: Likewise.
74857         * tests/unicase/test-u32-casecmp.c: Likewise.
74858         * tests/unicase/test-u32-casecoll.c: Likewise.
74859         * tests/unicase/test-u32-casefold.c: Likewise.
74860         * tests/unicase/test-u32-is-cased.c: Likewise.
74861         * tests/unicase/test-u32-is-casefolded.c: Likewise.
74862         * tests/unicase/test-u32-is-lowercase.c: Likewise.
74863         * tests/unicase/test-u32-is-titlecase.c: Likewise.
74864         * tests/unicase/test-u32-is-uppercase.c: Likewise.
74865         * tests/unicase/test-u32-tolower.c: Likewise.
74866         * tests/unicase/test-u32-totitle.c: Likewise.
74867         * tests/unicase/test-u32-toupper.c: Likewise.
74868         * tests/unicase/test-ulc-casecmp.c: Likewise.
74869         * tests/unicase/test-ulc-casecoll.c: Likewise.
74870         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
74871         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
74872         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
74873         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
74874         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
74875         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
74876         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
74877         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
74878         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
74879         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
74880         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
74881         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
74882         * tests/unictype/test-bidi_byname.c: Likewise.
74883         * tests/unictype/test-bidi_name.c: Likewise.
74884         * tests/unictype/test-bidi_of.c: Likewise.
74885         * tests/unictype/test-bidi_test.c: Likewise.
74886         * tests/unictype/test-block_list.c: Likewise.
74887         * tests/unictype/test-block_of.c: Likewise.
74888         * tests/unictype/test-block_test.c: Likewise.
74889         * tests/unictype/test-categ_and.c: Likewise.
74890         * tests/unictype/test-categ_and_not.c: Likewise.
74891         * tests/unictype/test-categ_byname.c: Likewise.
74892         * tests/unictype/test-categ_name.c: Likewise.
74893         * tests/unictype/test-categ_none.c: Likewise.
74894         * tests/unictype/test-categ_of.c: Likewise.
74895         * tests/unictype/test-categ_or.c: Likewise.
74896         * tests/unictype/test-categ_test_withtable.c: Likewise.
74897         * tests/unictype/test-combining.c: Likewise.
74898         * tests/unictype/test-decdigit.c: Likewise.
74899         * tests/unictype/test-digit.c: Likewise.
74900         * tests/unictype/test-mirror.c: Likewise.
74901         * tests/unictype/test-numeric.c: Likewise.
74902         * tests/unictype/test-pr_byname.c: Likewise.
74903         * tests/unictype/test-pr_test.c: Likewise.
74904         * tests/unictype/test-predicate-part1.h: Likewise.
74905         * tests/unictype/test-scripts.c: Likewise.
74906         * tests/unictype/test-sy_c_ident.c: Likewise.
74907         * tests/unictype/test-sy_java_ident.c: Likewise.
74908         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
74909         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
74910         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
74911         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
74912         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
74913         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
74914         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
74915         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
74916         * tests/uninorm/test-canonical-decomposition.c: Likewise.
74917         * tests/uninorm/test-compat-decomposition.c: Likewise.
74918         * tests/uninorm/test-composition.c: Likewise.
74919         * tests/uninorm/test-decomposing-form.c: Likewise.
74920         * tests/uninorm/test-decomposition.c: Likewise.
74921         * tests/uninorm/test-u8-nfc.c: Likewise.
74922         * tests/uninorm/test-u8-nfd.c: Likewise.
74923         * tests/uninorm/test-u8-nfkc.c: Likewise.
74924         * tests/uninorm/test-u8-nfkd.c: Likewise.
74925         * tests/uninorm/test-u8-normcmp.c: Likewise.
74926         * tests/uninorm/test-u8-normcoll.c: Likewise.
74927         * tests/uninorm/test-u16-nfc.c: Likewise.
74928         * tests/uninorm/test-u16-nfd.c: Likewise.
74929         * tests/uninorm/test-u16-nfkc.c: Likewise.
74930         * tests/uninorm/test-u16-nfkd.c: Likewise.
74931         * tests/uninorm/test-u16-normcmp.c: Likewise.
74932         * tests/uninorm/test-u16-normcoll.c: Likewise.
74933         * tests/uninorm/test-u32-nfc.c: Likewise.
74934         * tests/uninorm/test-u32-nfd.c: Likewise.
74935         * tests/uninorm/test-u32-nfkc.c: Likewise.
74936         * tests/uninorm/test-u32-nfkd.c: Likewise.
74937         * tests/uninorm/test-u32-normalize-big.c: Likewise.
74938         * tests/uninorm/test-u32-normcmp.c: Likewise.
74939         * tests/uninorm/test-u32-normcoll.c: Likewise.
74940         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
74941         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
74942         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
74943         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
74944         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
74945         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
74946         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
74947         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
74948         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
74949         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
74950         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
74951         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
74952         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
74953         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
74954         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
74955         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
74956         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
74957         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
74958         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
74959         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
74960         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
74961         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
74962         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
74963         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
74964         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
74965         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
74966         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
74967         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
74968         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
74969         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
74970         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
74971         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
74972         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
74973         * tests/uniwidth/test-u8-strwidth.c: Likewise.
74974         * tests/uniwidth/test-u8-width.c: Likewise.
74975         * tests/uniwidth/test-u16-strwidth.c: Likewise.
74976         * tests/uniwidth/test-u16-width.c: Likewise.
74977         * tests/uniwidth/test-u32-strwidth.c: Likewise.
74978         * tests/uniwidth/test-u32-width.c: Likewise.
74979         * tests/uniwidth/test-uc_width.c: Likewise.
74980         * tests/uniwidth/test-uc_width2.c: Likewise.
74981         * modules/acl-tests (Files): Add tests/macros.h.
74982         * modules/areadlink-tests (Files): Likewise.
74983         * modules/areadlink-with-size-tests (Files): Likewise.
74984         * modules/areadlinkat-tests (Files): Likewise.
74985         * modules/areadlinkat-with-size-tests (Files): Likewise.
74986         * modules/argmatch-tests (Files): Likewise.
74987         * modules/argv-iter-tests (Files): Likewise.
74988         * modules/array-list-tests (Files): Likewise.
74989         * modules/array-mergesort-tests (Files): Likewise.
74990         * modules/array-oset-tests (Files): Likewise.
74991         * modules/avltree-list-tests (Files): Likewise.
74992         * modules/avltree-oset-tests (Files): Likewise.
74993         * modules/avltreehash-list-tests (Files): Likewise.
74994         * modules/base64-tests (Files): Likewise.
74995         * modules/binary-io-tests (Files): Likewise.
74996         * modules/bitrotate-tests (Files): Likewise.
74997         * modules/btowc-tests (Files): Likewise.
74998         * modules/byteswap-tests (Files): Likewise.
74999         * modules/c-ctype-tests (Files): Likewise.
75000         * modules/c-stack-tests (Files): Likewise.
75001         * modules/c-strcase-tests (Files): Likewise.
75002         * modules/c-strcasestr-tests (Files): Likewise.
75003         * modules/c-strstr-tests (Files): Likewise.
75004         * modules/canonicalize-lgpl-tests (Files): Likewise.
75005         * modules/canonicalize-tests (Files): Likewise.
75006         * modules/carray-list-tests (Files): Likewise.
75007         * modules/ceilf-tests (Files): Likewise.
75008         * modules/ceill-tests (Files): Likewise.
75009         * modules/chown-tests (Files): Likewise.
75010         * modules/cloexec-tests (Files): Likewise.
75011         * modules/copy-file-tests (Files): Likewise.
75012         * modules/count-one-bits-tests (Files): Likewise.
75013         * modules/dprintf-posix-tests (Files): Likewise.
75014         * modules/dup2-tests (Files): Likewise.
75015         * modules/dup3-tests (Files): Likewise.
75016         * modules/duplocale-tests (Files): Likewise.
75017         * modules/fbufmode-tests (Files): Likewise.
75018         * modules/fchdir-tests (Files): Likewise.
75019         * modules/fcntl-safer-tests (Files): Likewise.
75020         * modules/fcntl-tests (Files): Likewise.
75021         * modules/fdopendir-tests (Files): Likewise.
75022         * modules/fdutimensat-tests (Files): Likewise.
75023         * modules/fflush-tests (Files): Likewise.
75024         * modules/filevercmp-tests (Files): Likewise.
75025         * modules/flock-tests (Files): Likewise.
75026         * modules/floorf-tests (Files): Likewise.
75027         * modules/floorl-tests (Files): Likewise.
75028         * modules/fnmatch-tests (Files): Likewise.
75029         * modules/fopen-safer-tests (Files): Likewise.
75030         * modules/fopen-tests (Files): Likewise.
75031         * modules/fpending-tests (Files): Likewise.
75032         * modules/fprintf-posix-tests (Files): Likewise.
75033         * modules/fpurge-tests (Files): Likewise.
75034         * modules/freadable-tests (Files): Likewise.
75035         * modules/freadahead-tests (Files): Likewise.
75036         * modules/freading-tests (Files): Likewise.
75037         * modules/freadptr-tests (Files): Likewise.
75038         * modules/freadseek-tests (Files): Likewise.
75039         * modules/freopen-tests (Files): Likewise.
75040         * modules/frexp-nolibm-tests (Files): Likewise.
75041         * modules/frexp-tests (Files): Likewise.
75042         * modules/frexpl-nolibm-tests (Files): Likewise.
75043         * modules/frexpl-tests (Files): Likewise.
75044         * modules/fseek-tests (Files): Likewise.
75045         * modules/fseeko-tests (Files): Likewise.
75046         * modules/fstrcmp-tests (Files): Likewise.
75047         * modules/fsync-tests (Files): Likewise.
75048         * modules/ftell-tests (Files): Likewise.
75049         * modules/ftello-tests (Files): Likewise.
75050         * modules/func-tests (Files): Likewise.
75051         * modules/futimens-tests (Files): Likewise.
75052         * modules/fwritable-tests (Files): Likewise.
75053         * modules/fwriting-tests (Files): Likewise.
75054         * modules/getcwd-tests (Files): Likewise.
75055         * modules/getdate-tests (Files): Likewise.
75056         * modules/getdelim-tests (Files): Likewise.
75057         * modules/getdtablesize-tests (Files): Likewise.
75058         * modules/getgroups-tests (Files): Likewise.
75059         * modules/getline-tests (Files): Likewise.
75060         * modules/getndelim2-tests (Files): Likewise.
75061         * modules/glob-tests (Files): Likewise.
75062         * modules/hash-tests (Files): Likewise.
75063         * modules/i-ring-tests (Files): Likewise.
75064         * modules/iconv-tests (Files): Likewise.
75065         * modules/iconv_open-utf-tests (Files): Likewise.
75066         * modules/idpriv-drop-tests (Files): Likewise.
75067         * modules/idpriv-droptemp-tests (Files): Likewise.
75068         * modules/inet_ntop-tests (Files): Likewise.
75069         * modules/inet_pton-tests (Files): Likewise.
75070         * modules/isblank-tests (Files): Likewise.
75071         * modules/isfinite-tests (Files): Likewise.
75072         * modules/isinf-tests (Files): Likewise.
75073         * modules/isnan-tests (Files): Likewise.
75074         * modules/isnand-nolibm-tests (Files): Likewise.
75075         * modules/isnand-tests (Files): Likewise.
75076         * modules/isnanf-nolibm-tests (Files): Likewise.
75077         * modules/isnanf-tests (Files): Likewise.
75078         * modules/isnanl-nolibm-tests (Files): Likewise.
75079         * modules/isnanl-tests (Files): Likewise.
75080         * modules/lchown-tests (Files): Likewise.
75081         * modules/ldexpl-tests (Files): Likewise.
75082         * modules/link-tests (Files): Likewise.
75083         * modules/linkat-tests (Files): Likewise.
75084         * modules/linked-list-tests (Files): Likewise.
75085         * modules/linkedhash-list-tests (Files): Likewise.
75086         * modules/localename-tests (Files): Likewise.
75087         * modules/lseek-tests (Files): Likewise.
75088         * modules/lstat-tests (Files): Likewise.
75089         * modules/mbmemcasecmp-tests (Files): Likewise.
75090         * modules/mbmemcasecoll-tests (Files): Likewise.
75091         * modules/mbrtowc-tests (Files): Likewise.
75092         * modules/mbscasecmp-tests (Files): Likewise.
75093         * modules/mbscasestr-tests (Files): Likewise.
75094         * modules/mbschr-tests (Files): Likewise.
75095         * modules/mbscspn-tests (Files): Likewise.
75096         * modules/mbsinit-tests (Files): Likewise.
75097         * modules/mbsncasecmp-tests (Files): Likewise.
75098         * modules/mbsnrtowcs-tests (Files): Likewise.
75099         * modules/mbspbrk-tests (Files): Likewise.
75100         * modules/mbspcasecmp-tests (Files): Likewise.
75101         * modules/mbsrchr-tests (Files): Likewise.
75102         * modules/mbsrtowcs-tests (Files): Likewise.
75103         * modules/mbsspn-tests (Files): Likewise.
75104         * modules/mbsstr-tests (Files): Likewise.
75105         * modules/memchr-tests (Files): Likewise.
75106         * modules/memchr2-tests (Files): Likewise.
75107         * modules/memcmp-tests (Files): Likewise.
75108         * modules/memmem-tests (Files): Likewise.
75109         * modules/memrchr-tests (Files): Likewise.
75110         * modules/mkdir-tests (Files): Likewise.
75111         * modules/mkfifo-tests (Files): Likewise.
75112         * modules/mkfifoat-tests (Files): Likewise.
75113         * modules/mknod-tests (Files): Likewise.
75114         * modules/nanosleep-tests (Files): Likewise.
75115         * modules/nl_langinfo-tests (Files): Likewise.
75116         * modules/obstack-printf-tests (Files): Likewise.
75117         * modules/open-tests (Files): Likewise.
75118         * modules/openat-tests (Files): Likewise.
75119         * modules/pipe-filter-gi-tests (Files): Likewise.
75120         * modules/pipe-filter-ii-tests (Files): Likewise.
75121         * modules/pipe2-tests (Files): Likewise.
75122         * modules/popen-safer-tests (Files): Likewise.
75123         * modules/popen-tests (Files): Likewise.
75124         * modules/posixtm-tests (Files): Likewise.
75125         * modules/pread-tests (Files): Likewise.
75126         * modules/printf-frexp-tests (Files): Likewise.
75127         * modules/printf-frexpl-tests (Files): Likewise.
75128         * modules/printf-posix-tests (Files): Likewise.
75129         * modules/priv-set-tests (Files): Likewise.
75130         * modules/quotearg-tests (Files): Likewise.
75131         * modules/random_r-tests (Files): Likewise.
75132         * modules/rawmemchr-tests (Files): Likewise.
75133         * modules/rbtree-list-tests (Files): Likewise.
75134         * modules/rbtree-oset-tests (Files): Likewise.
75135         * modules/rbtreehash-list-tests (Files): Likewise.
75136         * modules/readlink-tests (Files): Likewise.
75137         * modules/remove-tests (Files): Likewise.
75138         * modules/rename-tests (Files): Likewise.
75139         * modules/renameat-tests (Files): Likewise.
75140         * modules/rmdir-tests (Files): Likewise.
75141         * modules/round-tests (Files): Likewise.
75142         * modules/roundf-tests (Files): Likewise.
75143         * modules/roundl-tests (Files): Likewise.
75144         * modules/safe-alloc-tests (Files): Likewise.
75145         * modules/setenv-tests (Files): Likewise.
75146         * modules/sigaction-tests (Files): Likewise.
75147         * modules/signbit-tests (Files): Likewise.
75148         * modules/sleep-tests (Files): Likewise.
75149         * modules/snprintf-posix-tests (Files): Likewise.
75150         * modules/snprintf-tests (Files): Likewise.
75151         * modules/sprintf-posix-tests (Files): Likewise.
75152         * modules/stat-tests (Files): Likewise.
75153         * modules/stat-time-tests (Files): Likewise.
75154         * modules/strcasestr-tests (Files): Likewise.
75155         * modules/strchrnul-tests (Files): Likewise.
75156         * modules/strerror-tests (Files): Likewise.
75157         * modules/striconv-tests (Files): Likewise.
75158         * modules/striconveh-tests (Files): Likewise.
75159         * modules/striconveha-tests (Files): Likewise.
75160         * modules/strsignal-tests (Files): Likewise.
75161         * modules/strstr-tests (Files): Likewise.
75162         * modules/strtod-tests (Files): Likewise.
75163         * modules/strverscmp-tests (Files): Likewise.
75164         * modules/symlink-tests (Files): Likewise.
75165         * modules/symlinkat-tests (Files): Likewise.
75166         * modules/trunc-tests (Files): Likewise.
75167         * modules/truncf-tests (Files): Likewise.
75168         * modules/truncl-tests (Files): Likewise.
75169         * modules/uname-tests (Files): Likewise.
75170         * modules/unicase/cased-tests (Files): Likewise.
75171         * modules/unicase/ignorable-tests (Files): Likewise.
75172         * modules/unicase/locale-language-tests (Files): Likewise.
75173         * modules/unicase/tolower-tests (Files): Likewise.
75174         * modules/unicase/totitle-tests (Files): Likewise.
75175         * modules/unicase/toupper-tests (Files): Likewise.
75176         * modules/unicase/u8-casecmp-tests (Files): Likewise.
75177         * modules/unicase/u8-casecoll-tests (Files): Likewise.
75178         * modules/unicase/u8-casefold-tests (Files): Likewise.
75179         * modules/unicase/u8-is-cased-tests (Files): Likewise.
75180         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
75181         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
75182         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
75183         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
75184         * modules/unicase/u8-tolower-tests (Files): Likewise.
75185         * modules/unicase/u8-totitle-tests (Files): Likewise.
75186         * modules/unicase/u8-toupper-tests (Files): Likewise.
75187         * modules/unicase/u16-casecmp-tests (Files): Likewise.
75188         * modules/unicase/u16-casecoll-tests (Files): Likewise.
75189         * modules/unicase/u16-casefold-tests (Files): Likewise.
75190         * modules/unicase/u16-is-cased-tests (Files): Likewise.
75191         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
75192         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
75193         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
75194         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
75195         * modules/unicase/u16-tolower-tests (Files): Likewise.
75196         * modules/unicase/u16-totitle-tests (Files): Likewise.
75197         * modules/unicase/u16-toupper-tests (Files): Likewise.
75198         * modules/unicase/u32-casecmp-tests (Files): Likewise.
75199         * modules/unicase/u32-casecoll-tests (Files): Likewise.
75200         * modules/unicase/u32-casefold-tests (Files): Likewise.
75201         * modules/unicase/u32-is-cased-tests (Files): Likewise.
75202         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
75203         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
75204         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
75205         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
75206         * modules/unicase/u32-tolower-tests (Files): Likewise.
75207         * modules/unicase/u32-totitle-tests (Files): Likewise.
75208         * modules/unicase/u32-toupper-tests (Files): Likewise.
75209         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
75210         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
75211         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
75212         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
75213         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
75214         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
75215         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
75216         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
75217         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
75218         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
75219         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
75220         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
75221         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
75222         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
75223         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
75224         * modules/unictype/bidicategory-name-tests (Files): Likewise.
75225         * modules/unictype/bidicategory-of-tests (Files): Likewise.
75226         * modules/unictype/bidicategory-test-tests (Files): Likewise.
75227         * modules/unictype/block-list-tests (Files): Likewise.
75228         * modules/unictype/block-of-tests (Files): Likewise.
75229         * modules/unictype/block-test-tests (Files): Likewise.
75230         * modules/unictype/category-C-tests (Files): Likewise.
75231         * modules/unictype/category-Cc-tests (Files): Likewise.
75232         * modules/unictype/category-Cf-tests (Files): Likewise.
75233         * modules/unictype/category-Cn-tests (Files): Likewise.
75234         * modules/unictype/category-Co-tests (Files): Likewise.
75235         * modules/unictype/category-Cs-tests (Files): Likewise.
75236         * modules/unictype/category-L-tests (Files): Likewise.
75237         * modules/unictype/category-Ll-tests (Files): Likewise.
75238         * modules/unictype/category-Lm-tests (Files): Likewise.
75239         * modules/unictype/category-Lo-tests (Files): Likewise.
75240         * modules/unictype/category-Lt-tests (Files): Likewise.
75241         * modules/unictype/category-Lu-tests (Files): Likewise.
75242         * modules/unictype/category-M-tests (Files): Likewise.
75243         * modules/unictype/category-Mc-tests (Files): Likewise.
75244         * modules/unictype/category-Me-tests (Files): Likewise.
75245         * modules/unictype/category-Mn-tests (Files): Likewise.
75246         * modules/unictype/category-N-tests (Files): Likewise.
75247         * modules/unictype/category-Nd-tests (Files): Likewise.
75248         * modules/unictype/category-Nl-tests (Files): Likewise.
75249         * modules/unictype/category-No-tests (Files): Likewise.
75250         * modules/unictype/category-P-tests (Files): Likewise.
75251         * modules/unictype/category-Pc-tests (Files): Likewise.
75252         * modules/unictype/category-Pd-tests (Files): Likewise.
75253         * modules/unictype/category-Pe-tests (Files): Likewise.
75254         * modules/unictype/category-Pf-tests (Files): Likewise.
75255         * modules/unictype/category-Pi-tests (Files): Likewise.
75256         * modules/unictype/category-Po-tests (Files): Likewise.
75257         * modules/unictype/category-Ps-tests (Files): Likewise.
75258         * modules/unictype/category-S-tests (Files): Likewise.
75259         * modules/unictype/category-Sc-tests (Files): Likewise.
75260         * modules/unictype/category-Sk-tests (Files): Likewise.
75261         * modules/unictype/category-Sm-tests (Files): Likewise.
75262         * modules/unictype/category-So-tests (Files): Likewise.
75263         * modules/unictype/category-Z-tests (Files): Likewise.
75264         * modules/unictype/category-Zl-tests (Files): Likewise.
75265         * modules/unictype/category-Zp-tests (Files): Likewise.
75266         * modules/unictype/category-Zs-tests (Files): Likewise.
75267         * modules/unictype/category-and-not-tests (Files): Likewise.
75268         * modules/unictype/category-and-tests (Files): Likewise.
75269         * modules/unictype/category-byname-tests (Files): Likewise.
75270         * modules/unictype/category-name-tests (Files): Likewise.
75271         * modules/unictype/category-none-tests (Files): Likewise.
75272         * modules/unictype/category-of-tests (Files): Likewise.
75273         * modules/unictype/category-or-tests (Files): Likewise.
75274         * modules/unictype/category-test-withtable-tests (Files): Likewise.
75275         * modules/unictype/combining-class-tests (Files): Likewise.
75276         * modules/unictype/ctype-alnum-tests (Files): Likewise.
75277         * modules/unictype/ctype-alpha-tests (Files): Likewise.
75278         * modules/unictype/ctype-blank-tests (Files): Likewise.
75279         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
75280         * modules/unictype/ctype-digit-tests (Files): Likewise.
75281         * modules/unictype/ctype-graph-tests (Files): Likewise.
75282         * modules/unictype/ctype-lower-tests (Files): Likewise.
75283         * modules/unictype/ctype-print-tests (Files): Likewise.
75284         * modules/unictype/ctype-punct-tests (Files): Likewise.
75285         * modules/unictype/ctype-space-tests (Files): Likewise.
75286         * modules/unictype/ctype-upper-tests (Files): Likewise.
75287         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
75288         * modules/unictype/decimal-digit-tests (Files): Likewise.
75289         * modules/unictype/digit-tests (Files): Likewise.
75290         * modules/unictype/mirror-tests (Files): Likewise.
75291         * modules/unictype/numeric-tests (Files): Likewise.
75292         * modules/unictype/property-alphabetic-tests (Files): Likewise.
75293         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
75294         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
75295         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
75296         Likewise.
75297         * modules/unictype/property-bidi-block-separator-tests (Files):
75298         Likewise.
75299         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
75300         Likewise.
75301         * modules/unictype/property-bidi-common-separator-tests (Files):
75302         Likewise.
75303         * modules/unictype/property-bidi-control-tests (Files): Likewise.
75304         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
75305         Likewise.
75306         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
75307         Likewise.
75308         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
75309         Likewise.
75310         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
75311         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
75312         Likewise.
75313         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
75314         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
75315         Likewise.
75316         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
75317         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
75318         * modules/unictype/property-bidi-segment-separator-tests (Files):
75319         Likewise.
75320         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
75321         * modules/unictype/property-byname-tests (Files): Likewise.
75322         * modules/unictype/property-combining-tests (Files): Likewise.
75323         * modules/unictype/property-composite-tests (Files): Likewise.
75324         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
75325         * modules/unictype/property-dash-tests (Files): Likewise.
75326         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
75327         * modules/unictype/property-default-ignorable-code-point-tests (Files):
75328         Likewise.
75329         * modules/unictype/property-deprecated-tests (Files): Likewise.
75330         * modules/unictype/property-diacritic-tests (Files): Likewise.
75331         * modules/unictype/property-extender-tests (Files): Likewise.
75332         * modules/unictype/property-format-control-tests (Files): Likewise.
75333         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
75334         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
75335         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
75336         * modules/unictype/property-hex-digit-tests (Files): Likewise.
75337         * modules/unictype/property-hyphen-tests (Files): Likewise.
75338         * modules/unictype/property-id-continue-tests (Files): Likewise.
75339         * modules/unictype/property-id-start-tests (Files): Likewise.
75340         * modules/unictype/property-ideographic-tests (Files): Likewise.
75341         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
75342         * modules/unictype/property-ids-trinary-operator-tests (Files):
75343         Likewise.
75344         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
75345         * modules/unictype/property-iso-control-tests (Files): Likewise.
75346         * modules/unictype/property-join-control-tests (Files): Likewise.
75347         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
75348         * modules/unictype/property-line-separator-tests (Files): Likewise.
75349         * modules/unictype/property-logical-order-exception-tests (Files):
75350         Likewise.
75351         * modules/unictype/property-lowercase-tests (Files): Likewise.
75352         * modules/unictype/property-math-tests (Files): Likewise.
75353         * modules/unictype/property-non-break-tests (Files): Likewise.
75354         * modules/unictype/property-not-a-character-tests (Files): Likewise.
75355         * modules/unictype/property-numeric-tests (Files): Likewise.
75356         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
75357         * modules/unictype/property-other-default-ignorable-code-point-tests
75358         (Files): Likewise.
75359         * modules/unictype/property-other-grapheme-extend-tests (Files):
75360         Likewise.
75361         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
75362         * modules/unictype/property-other-id-start-tests (Files): Likewise.
75363         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
75364         * modules/unictype/property-other-math-tests (Files): Likewise.
75365         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
75366         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
75367         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
75368         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
75369         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
75370         * modules/unictype/property-private-use-tests (Files): Likewise.
75371         * modules/unictype/property-punctuation-tests (Files): Likewise.
75372         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
75373         * modules/unictype/property-radical-tests (Files): Likewise.
75374         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
75375         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
75376         * modules/unictype/property-space-tests (Files): Likewise.
75377         * modules/unictype/property-terminal-punctuation-tests (Files):
75378         Likewise.
75379         * modules/unictype/property-test-tests (Files): Likewise.
75380         * modules/unictype/property-titlecase-tests (Files): Likewise.
75381         * modules/unictype/property-unassigned-code-value-tests (Files):
75382         Likewise.
75383         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
75384         * modules/unictype/property-uppercase-tests (Files): Likewise.
75385         * modules/unictype/property-variation-selector-tests (Files): Likewise.
75386         * modules/unictype/property-white-space-tests (Files): Likewise.
75387         * modules/unictype/property-xid-continue-tests (Files): Likewise.
75388         * modules/unictype/property-xid-start-tests (Files): Likewise.
75389         * modules/unictype/property-zero-width-tests (Files): Likewise.
75390         * modules/unictype/scripts-tests (Files): Likewise.
75391         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
75392         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
75393         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
75394         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
75395         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
75396         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
75397         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
75398         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
75399         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
75400         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
75401         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
75402         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
75403         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
75404         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
75405         * modules/uninorm/composition-tests (Files): Likewise.
75406         * modules/uninorm/decomposing-form-tests (Files): Likewise.
75407         * modules/uninorm/decomposition-tests (Files): Likewise.
75408         * modules/uninorm/filter-tests (Files): Likewise.
75409         * modules/uninorm/nfc-tests (Files): Likewise.
75410         * modules/uninorm/nfd-tests (Files): Likewise.
75411         * modules/uninorm/nfkc-tests (Files): Likewise.
75412         * modules/uninorm/nfkd-tests (Files): Likewise.
75413         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
75414         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
75415         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
75416         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
75417         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
75418         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
75419         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
75420         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
75421         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
75422         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
75423         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
75424         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
75425         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
75426         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
75427         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
75428         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
75429         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
75430         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
75431         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
75432         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
75433         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
75434         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
75435         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
75436         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
75437         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
75438         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
75439         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
75440         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
75441         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
75442         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
75443         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
75444         * modules/uniwidth/u8-width-tests (Files): Likewise.
75445         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
75446         * modules/uniwidth/u16-width-tests (Files): Likewise.
75447         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
75448         * modules/uniwidth/u32-width-tests (Files): Likewise.
75449         * modules/uniwidth/width-tests (Files): Likewise.
75450         * modules/unlink-tests (Files): Likewise.
75451         * modules/unsetenv-tests (Files): Likewise.
75452         * modules/usleep-tests (Files): Likewise.
75453         * modules/utimens-tests (Files): Likewise.
75454         * modules/utimensat-tests (Files): Likewise.
75455         * modules/vasnprintf-posix-tests (Files): Likewise.
75456         * modules/vasnprintf-tests (Files): Likewise.
75457         * modules/vasprintf-posix-tests (Files): Likewise.
75458         * modules/vasprintf-tests (Files): Likewise.
75459         * modules/vdprintf-posix-tests (Files): Likewise.
75460         * modules/vfprintf-posix-tests (Files): Likewise.
75461         * modules/vprintf-posix-tests (Files): Likewise.
75462         * modules/vsnprintf-posix-tests (Files): Likewise.
75463         * modules/vsnprintf-tests (Files): Likewise.
75464         * modules/vsprintf-posix-tests (Files): Likewise.
75465         * modules/wcrtomb-tests (Files): Likewise.
75466         * modules/wcsnrtombs-tests (Files): Likewise.
75467         * modules/wcsrtombs-tests (Files): Likewise.
75468         * modules/wctype-tests (Files): Likewise.
75469         * modules/wcwidth-tests (Files): Likewise.
75470         * modules/xmemdup0-tests (Files): Likewise.
75471         * modules/xprintf-posix-tests (Files): Likewise.
75472         * modules/xvasprintf-tests (Files): Likewise.
75474 2009-12-24  Eric Blake  <ebb9@byu.net>
75476         test-nanosleep: fix typo
75477         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
75478         patch.
75479         Reported by Bruno Haible.
75481 2009-12-24  Bruno Haible  <bruno@clisp.org>
75483         Reduce namespace pollution on glibc systems.
75484         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
75485         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
75486         systems.
75487         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
75488         <getopt.h> on glibc systems.
75489         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
75490         systems.
75491         * lib/fcntl.c: Include <unistd.h> here instead.
75493 2009-12-24  Bruno Haible  <bruno@clisp.org>
75495         * lib/stdlib.in.h (includes): Fix typo in today's commit.
75497 2009-12-24  Eric Blake  <ebb9@byu.net>
75499         tests: add signature checks
75500         * tests/signature.h (SIGNATURE_CHECK): New file.
75501         * modules/atexit-tests (Files): Use it.
75502         * modules/btowc-tests (Files): Likewise.
75503         * modules/canonicalize-lgpl-tests (Files): Likewise.
75504         * modules/ceilf-tests (Files): Likewise.
75505         * modules/ceill-tests (Files): Likewise.
75506         * modules/chown-tests (Files): Likewise.
75507         * modules/dprintf-posix-tests (Files): Likewise.
75508         * modules/dup2-tests (Files): Likewise.
75509         * modules/dup3-tests (Files): Likewise.
75510         * modules/duplocale-tests (Files): Likewise.
75511         * modules/fchdir-tests (Files): Likewise.
75512         * modules/fcntl-tests (Files): Likewise.
75513         * modules/fdopendir-tests (Files): Likewise.
75514         * modules/fflush-tests (Files): Likewise.
75515         * modules/flock-tests (Files): Likewise.
75516         * modules/floorf-tests (Files): Likewise.
75517         * modules/floorl-tests (Files): Likewise.
75518         * modules/fnmatch-tests (Files): Likewise.
75519         * modules/fopen-tests (Files): Likewise.
75520         * modules/fprintf-posix-tests (Files): Likewise.
75521         * modules/freopen-tests (Files): Likewise.
75522         * modules/frexp-nolibm-tests (Files): Likewise.
75523         * modules/frexp-tests (Files): Likewise.
75524         * modules/frexpl-nolibm-tests (Files): Likewise.
75525         * modules/frexpl-tests (Files): Likewise.
75526         * modules/fseek-tests (Files): Likewise.
75527         * modules/fseeko-tests (Files): Likewise.
75528         * modules/fsync-tests (Files): Likewise.
75529         * modules/ftell-tests (Files): Likewise.
75530         * modules/ftello-tests (Files): Likewise.
75531         * modules/futimens-tests (Files): Likewise.
75532         * modules/getaddrinfo-tests (Files): Likewise.
75533         * modules/getcwd-tests (Files): Likewise.
75534         * modules/getdelim-tests (Files): Likewise.
75535         * modules/getdtablesize-tests (Files): Likewise.
75536         * modules/getgroups-tests (Files): Likewise.
75537         * modules/gethostname-tests (Files): Likewise.
75538         * modules/getline-tests (Files): Likewise.
75539         * modules/getopt-posix-tests (Files): Likewise.
75540         * modules/gettimeofday-tests (Files): Likewise.
75541         * modules/glob-tests (Files): Likewise.
75542         * modules/iconv-tests (Files): Likewise.
75543         * modules/inet_ntop-tests (Files): Likewise.
75544         * modules/inet_pton-tests (Files): Likewise.
75545         * modules/isblank-tests (Files): Likewise.
75546         * modules/lchown-tests (Files): Likewise.
75547         * modules/ldexpl-tests (Files): Likewise.
75548         * modules/link-tests (Files): Likewise.
75549         * modules/linkat-tests (Files): Likewise.
75550         * modules/lseek-tests (Files): Likewise.
75551         * modules/lstat-tests (Files): Likewise.
75552         * modules/mbrtowc-tests (Files): Likewise.
75553         * modules/mbsinit-tests (Files): Likewise.
75554         * modules/mbsnrtowcs-tests (Files): Likewise.
75555         * modules/mbsrtowcs-tests (Files): Likewise.
75556         * modules/memchr-tests (Files): Likewise.
75557         * modules/memcmp-tests (Files): Likewise.
75558         * modules/memmem-tests (Files): Likewise.
75559         * modules/memrchr-tests (Files): Likewise.
75560         * modules/mkdir-tests (Files): Likewise.
75561         * modules/mkfifo-tests (Files): Likewise.
75562         * modules/mkfifoat-tests (Files): Likewise.
75563         * modules/mknod-tests (Files): Likewise.
75564         * modules/nanosleep-tests (Files): Likewise.
75565         * modules/nl_langinfo-tests (Files): Likewise.
75566         * modules/obstack-printf-tests (Files): Likewise.
75567         * modules/open-tests (Files): Likewise.
75568         * modules/openat-tests (Files): Likewise.
75569         * modules/perror-tests (Files): Likewise.
75570         * modules/pipe2-tests (Files): Likewise.
75571         * modules/poll-tests (Files): Likewise.
75572         * modules/popen-tests (Files): Likewise.
75573         * modules/posix_spawn-tests (Files): Likewise.
75574         * modules/posix_spawnp-tests (Files): Likewise.
75575         * modules/pread-tests (Files): Likewise.
75576         * modules/printf-posix-tests (Files): Likewise.
75577         * modules/pty-tests (Files): Likewise.
75578         * modules/random_r-tests (Files): Likewise.
75579         * modules/rawmemchr-tests (Files): Likewise.
75580         * modules/readlink-tests (Files): Likewise.
75581         * modules/remove-tests (Files): Likewise.
75582         * modules/rename-tests (Files): Likewise.
75583         * modules/renameat-tests (Files): Likewise.
75584         * modules/rmdir-tests (Files): Likewise.
75585         * modules/round-tests (Files): Likewise.
75586         * modules/roundf-tests (Files): Likewise.
75587         * modules/roundl-tests (Files): Likewise.
75588         * modules/select-tests (Files): Likewise.
75589         * modules/setenv-tests (Files): Likewise.
75590         * modules/sigaction-tests (Files): Likewise.
75591         * modules/sleep-tests (Files): Likewise.
75592         * modules/snprintf-posix-tests (Files): Likewise.
75593         * modules/snprintf-tests (Files): Likewise.
75594         * modules/sprintf-posix-tests (Files): Likewise.
75595         * modules/stat-tests (Files): Likewise.
75596         * modules/strcasestr-tests (Files): Likewise.
75597         * modules/strchrnul-tests (Files): Likewise.
75598         * modules/strerror-tests (Files): Likewise.
75599         * modules/strsignal-tests (Files): Likewise.
75600         * modules/strstr-tests (Files): Likewise.
75601         * modules/strtod-tests (Files): Likewise.
75602         * modules/strverscmp-tests (Files): Likewise.
75603         * modules/symlink-tests (Files): Likewise.
75604         * modules/symlinkat-tests (Files): Likewise.
75605         * modules/times-tests (Files): Likewise.
75606         * modules/trunc-tests (Files): Likewise.
75607         * modules/truncf-tests (Files): Likewise.
75608         * modules/truncl-tests (Files): Likewise.
75609         * modules/tsearch-tests (Files): Likewise.
75610         * modules/uname-tests (Files): Likewise.
75611         * modules/unlink-tests (Files): Likewise.
75612         * modules/unsetenv-tests (Files): Likewise.
75613         * modules/usleep-tests (Files): Likewise.
75614         * modules/utimensat-tests (Files): Likewise.
75615         * modules/vasprintf-tests (Files): Likewise.
75616         * modules/vdprintf-posix-tests (Files): Likewise.
75617         * modules/vfprintf-posix-tests (Files): Likewise.
75618         * modules/vprintf-posix-tests (Files): Likewise.
75619         * modules/vsnprintf-posix-tests (Files): Likewise.
75620         * modules/vsnprintf-tests (Files): Likewise.
75621         * modules/vsprintf-posix-tests (Files): Likewise.
75622         * modules/wcrtomb-tests (Files): Likewise.
75623         * modules/wcsnrtombs-tests (Files): Likewise.
75624         * modules/wcsrtombs-tests (Files): Likewise.
75625         * modules/wcwidth-tests (Files): Likewise.
75626         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
75627         * tests/test-isinf.c (isinf): Likewise.
75628         * tests/test-isnan.c (isnan): Likewise.
75629         * tests/test-signbit.c (signbit): Likewise.
75630         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
75631         declaration, either as macro or with correct signature.
75632         (select): Ensure function under test is declared with correct
75633         signature in correct header.
75634         * tests/test-atexit.c (atexit): Likewise.
75635         * tests/test-btowc.c (btowc): Likewise.
75636         * tests/test-canonicalize-lgpl.c (realpath)
75637         (canonicalize_file_name): Likewise.
75638         * tests/test-ceilf1.c (ceilf): Likewise.
75639         * tests/test-ceill.c (ceill): Likewise.
75640         * tests/test-chown.c (chown): Likewise.
75641         * tests/test-dprintf-posix.c (dprintf): Likewise.
75642         * tests/test-dup2.c (dup2): Likewise.
75643         * tests/test-dup3.c (dup3): Likewise.
75644         * tests/test-duplocale.c (duplocale): Likewise.
75645         * tests/test-fchdir.c (fchdir): Likewise.
75646         * tests/test-fchownat.c (fchownat): Likewise.
75647         * tests/test-fcntl.c (fcntl): Likewise.
75648         * tests/test-fdopendir.c (fdopendir): Likewise.
75649         * tests/test-fflush.c (fflush): Likewise.
75650         * tests/test-flock.c (flock): Likewise.
75651         * tests/test-floorf1.c (floorf): Likewise.
75652         * tests/test-floorl.c (floorl): Likewise.
75653         * tests/test-fnmatch.c (fnmatch): Likewise.
75654         * tests/test-fopen.c (fopen): Likewise.
75655         * tests/test-fprintf-posix.c (fprintf): Likewise.
75656         * tests/test-freopen.c (freopen): Likewise.
75657         * tests/test-frexp.c (frexp): Likewise.
75658         * tests/test-frexpl.c (frexpl): Likewise.
75659         * tests/test-fseek.c (fseek): Likewise.
75660         * tests/test-fseeko.c (fseeko): Likewise.
75661         * tests/test-fstatat.c (fstatat): Likewise.
75662         * tests/test-fsync.c (fsync): Likewise.
75663         * tests/test-ftell.c (ftell): Likewise.
75664         * tests/test-ftello.c (ftello): Likewise.
75665         * tests/test-futimens.c (futimens): Likewise.
75666         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
75667         (gai_strerror): Likewise.
75668         * tests/test-getcwd.c (getcwd): Likewise.
75669         * tests/test-getdelim.c (getdelim): Likewise.
75670         * tests/test-getdtablesize.c (getdtablesize): Likewise.
75671         * tests/test-getgroups.c (getgroups): Likewise.
75672         * tests/test-gethostname.c (gethostname): Likewise.
75673         * tests/test-getline.c (getline): Likewise.
75674         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
75675         Likewise.
75676         * tests/test-gettimeofday.c (gettimeofday): Likewise.
75677         * tests/test-glob.c (glob, globfree): Likewise.
75678         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
75679         * tests/test-inet_ntop.c (inet_ntop): Likewise.
75680         * tests/test-inet_pton.c (inet_pton): Likewise.
75681         * tests/test-isblank.c (isblank): Likewise.
75682         * tests/test-lchown.c (lchown): Likewise.
75683         * tests/test-ldexpl.c (ldexpl): Likewise.
75684         * tests/test-link.c (link): Likewise.
75685         * tests/test-linkat.c (linkat): Likewise.
75686         * tests/test-lseek.c (lseek): Likewise.
75687         * tests/test-lstat.c (lstat): Likewise.
75688         * tests/test-mbrtowc.c (mbrtowc): Likewise.
75689         * tests/test-mbsinit.c (mbsinit): Likewise.
75690         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
75691         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
75692         * tests/test-memchr.c (memchr): Likewise.
75693         * tests/test-memcmp.c (memcmp): Likewise.
75694         * tests/test-memmem.c (memmem): Likewise.
75695         * tests/test-memrchr.c (memrchr): Likewise.
75696         * tests/test-mkdir.c (mkdir): Likewise.
75697         * tests/test-mkdirat.c (mkdirat): Likewise.
75698         * tests/test-mkfifo.c (mkfifo): Likewise.
75699         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
75700         * tests/test-mknod.c (mknod): Likewise.
75701         * tests/test-nanosleep.c (nanosleep): Likewise.
75702         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
75703         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
75704         Likewise.
75705         * tests/test-open.c (open): Likewise.
75706         * tests/test-openat.c (openat): Likewise.
75707         * tests/test-perror.c (perror): Likewise.
75708         * tests/test-pipe2.c (pipe2): Likewise.
75709         * tests/test-poll.c (poll): Likewise.
75710         * tests/test-popen.c (popen, pclose): Likewise.
75711         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
75712         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
75713         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
75714         (posix_spawn_file_actions_destroy)
75715         (posix_spawn_file_actions_addclose)
75716         (posix_spawn_file_actions_addopen)
75717         (posix_spawn_file_actions_adddup2): Likewise.
75718         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
75719         * tests/test-pread.c (pread): Likewise.
75720         * tests/test-printf-posix.c (printf): Likewise.
75721         * tests/test-pty.c (openpty, forkpty): Likewise.
75722         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
75723         (random_r): Likewise.
75724         * tests/test-rawmemchr.c (rawmemchr): Likewise.
75725         * tests/test-readlink.c (readlink): Likewise.
75726         * tests/test-remove.c (remove): Likewise.
75727         * tests/test-rename.c (rename): Likewise.
75728         * tests/test-renameat.c (renameat): Likewise.
75729         * tests/test-rmdir.c (rmdir): Likewise.
75730         * tests/test-round1.c (round): Likewise.
75731         * tests/test-roundf1.c (roundf): Likewise.
75732         * tests/test-roundl.c (roundl): Likewise.
75733         * tests/test-setenv.c (setenv): Likewise.
75734         * tests/test-sigaction.c (sigaction): Likewise.
75735         * tests/test-sleep.c (sleep): Likewise.
75736         * tests/test-snprintf.c (snprintf): Likewise.
75737         * tests/test-sprintf-posix.c (sprintf): Likewise.
75738         * tests/test-stat.c (stat): Likewise.
75739         * tests/test-stpncpy.c (stpncpy): Likewise.
75740         * tests/test-strcasestr.c (strcasestr): Likewise.
75741         * tests/test-strchrnul.c (strchrnul): Likewise.
75742         * tests/test-strerror.c (strerror): Likewise.
75743         * tests/test-strsignal.c (strsignal): Likewise.
75744         * tests/test-strstr.c (strstr): Likewise.
75745         * tests/test-strtod.c (strtod): Likewise.
75746         * tests/test-strverscmp.c (strverscmp): Likewise.
75747         * tests/test-symlink.c (symlink): Likewise.
75748         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
75749         * tests/test-times.c (times): Likewise.
75750         * tests/test-trunc1.c (trunc): Likewise.
75751         * tests/test-truncf1.c (truncf): Likewise.
75752         * tests/test-truncl.c (truncl): Likewise.
75753         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
75754         Likewise.
75755         * tests/test-uname.c (uname): Likewise.
75756         * tests/test-unlink.c (unlink): Likewise.
75757         * tests/test-unlinkat.c (unlinkat): Likewise.
75758         * tests/test-unsetenv.c (unsetenv): Likewise.
75759         * tests/test-usleep.c (usleep): Likewise.
75760         * tests/test-utimensat.c (utimensat): Likewise.
75761         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
75762         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
75763         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
75764         * tests/test-vprintf-posix.c (vprintf): Likewise.
75765         * tests/test-vsnprintf.c (vsnprintf): Likewise.
75766         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
75767         * tests/test-wcrtomb.c (wcrtomb): Likewise.
75768         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
75769         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
75770         * tests/test-wcwidth.c (wcwidth): Likewise.
75772         build: pull in conditional headers during GNULIB_POSIXCHECK
75773         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
75774         definitions from any conditionally-included headers.
75775         * lib/stdlib.in.h (includes): Likewise.
75776         * lib/unistd.in.h (includes): Likewise.
75778 2009-12-24  Bruno Haible  <bruno@clisp.org>
75780         * tests/test-argv-iter.c: Include header file being tested immediately
75781         after config.h.
75782         * tests/test-base64.c: Likewise.
75783         * tests/test-flock.c: Likewise.
75784         * tests/test-fsync.c: Likewise.
75785         * tests/test-getdate.c: Likewise.
75786         * tests/test-getndelim2.c: Likewise.
75787         * tests/test-isfinite.c: Likewise.
75788         * tests/test-isinf.c: Likewise.
75789         * tests/test-strerror.c: Likewise.
75790         * tests/test-strsignal.c: Likewise.
75792 2009-12-23  Eric Blake  <ebb9@byu.net>
75794         unistd: work around cygwin bug
75795         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
75796         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
75797         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
75799 2009-12-23  Bruno Haible  <bruno@clisp.org>
75801         localename: More tests.
75802         * tests/test-localename.c (SIZEOF): New macro.
75803         (categories): New variable.
75804         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
75805         test_locale_name_default): Add test w.r.t. thread locale.
75806         (test_locale_name_thread): New function.
75807         (main): Invoke it.
75809         localename: Make aware of thread locale.
75810         * lib/localename.h (gl_locale_name_thread): New declaration.
75811         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
75812         behaviour with respect to thread locale.
75813         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
75814         <langinfo.h>, glthread/lock.h.
75815         (SIZE_BITS): New macro.
75816         (string_hash): New function.
75817         (struct hash_node): New type.
75818         (HASH_TABLE_SIZE): New macro.
75819         (struniq_hash_table, struniq_lock): New variables.
75820         (struniq): New function.
75821         (gl_locale_name_thread): New function.
75822         (gl_locale_name): Invoke it.
75823         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
75824         * modules/localename (Depends-on): Add lock.
75825         Reported by Mike Gran <spk121@yahoo.com>.
75827 2009-12-23  Eric Blake  <ebb9@byu.net>
75829         va-args: new module
75830         * modules/va-args: New file.
75831         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
75832         * MODULES.html.sh (Core language properties): Mention it.
75834         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
75835         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
75836         named alias for __attribute__((__unused__)).
75837         * lib/chown.c: Update client.
75838         * lib/fchmodat.c: Likewise.
75839         * lib/fts.c: Likewise.
75840         * lib/getdate.y: Likewise.
75841         * lib/getgroups.c: Likewise.
75842         * lib/getopt.c: Likewise.
75843         * lib/getugroups.c: Likewise.
75844         * lib/mkdir.c: Likewise.
75845         * lib/mkfifo.c: Likewise.
75846         * lib/mkfifoat.c: Likewise.
75847         * lib/mknod.c: Likewise.
75848         * lib/mknodat.c: Likewise.
75849         * lib/readlink.c: Likewise.
75850         * lib/se-context.in.h: Likewise.
75851         * lib/se-selinux.in.h: Likewise.
75852         * lib/sockets.c: Likewise.
75853         * lib/symlink.c: Likewise.
75854         * lib/symlinkat.c: Likewise.
75855         * lib/unicodeio.c: Likewise.
75856         * lib/unistr.h: Likewise.
75857         * tests/test-areadlink.c: Likewise.
75858         * tests/test-areadlinkat.c: Likewise.
75859         * tests/test-filenamecat.c: Likewise.
75860         * tests/test-fseeko.c: Likewise.
75861         * tests/test-ftello.c: Likewise.
75862         * tests/test-getdate.c: Likewise.
75863         * tests/test-getgroups.c: Likewise.
75864         * tests/test-gethostname.c: Likewise.
75865         * tests/test-quotearg.c: Likewise.
75866         * tests/test-version-etc.c: Likewise.
75867         * tests/test-xalloc-die.c: Likewise.
75868         * tests/test-xfprintf-posix.c: Likewise.
75869         * tests/test-xprintf-posix.c: Likewise.
75870         * tests/test-xvasprintf.c: Likewise.
75872         tests: avoid compiler warnings
75873         * tests/test-fcntl.c (main): Delete unused parameters.
75874         * tests/test-freopen-safer.c (main): Likewise.
75875         * tests/test-xalloc-die.c (main): Mark unused parameters.
75876         * tests/test-fseeko.c (main): Likewise.
75877         * tests/test-ftello.c (main): Likewise.
75878         * tests/test-nanosleep.c (main): Avoid declaration warning.
75879         * tests/test-sleep.c (main): Likewise.
75880         * tests/test-unsetenv.c (main): Silence warning about string
75881         literal.
75882         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
75884 2009-12-23  Bruno Haible  <bruno@clisp.org>
75886         * tests/test-localename.c (test_locale_name): New function, extracted
75887         from main. Also test mixed situations.
75888         (test_locale_name_posix, test_locale_name_environ,
75889         test_locale_name_default): New functions.
75890         (main): Invoke them all.
75891         * modules/localename-tests (configure.ac): Test for newlocale.
75893 2009-12-23  Bruno Haible  <bruno@clisp.org>
75895         unistd: Ensure getcwd gets declared before being overridden.
75896         * lib/unistd.in.h: Conditionally include <io.h>.
75898 2009-12-22  Bruno Haible  <bruno@clisp.org>
75900         wchar: Diagnose broken combination of glibc and gcc versions and flags.
75901         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
75902         (gl_WCHAR_H): Invoke it.
75903         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
75904         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
75905         Reported by Karl Berry <karl@freefriends.org>.
75907 2009-12-22  Eric Blake  <ebb9@byu.net>
75909         math, unistd: avoid redundant includes
75910         * lib/math.in.h (isnan): No need to re-include <math.h>.
75911         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
75913         getsubopt: work around cygwin bug
75914         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
75915         avoid conflicting with system getsubopt.
75916         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
75917         bug.
75919         getopt: synchronize from glibc
75920         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
75921         parameter order.  Adjust all callers.
75922         (_getopt_internal_r, main): Adjust quoting in error messages.
75923         Drop considerations for outdated POSIX 1003.2 error message.
75924         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
75925         callers.
75926         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
75928         test-getopt: test stderr behavior
75929         * modules/getopt-posix-tests (Depends-on): Add dup2.
75930         * tests/test-getopt.c (ASSERT): Avoid stderr.
75931         (main): Move stderr to a temporary file.
75932         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
75933         Instead, add parameter to inform caller if output occurred.
75934         (test_getopt): Adjust all existing tests to expect silence, and
75935         add new tests of leading ":".
75936         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75937         glibc shortcomings with leading "-:" or "+:" in optstring.
75938         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75939         Likewise.
75940         * doc/posix-functions/getopt.texi (getopt): Likewise.
75942         test-getopt: enhance test
75943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
75944         supports optind=0.
75945         * tests/test-getopt.c (OPTIND_MIN): Move...
75946         * tests/test-getopt.h (OPTIND_MIN): ...here.
75947         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
75948         Require that optind=0 works, since modern BSD supports it in
75949         addition to optreset, and since coreutils expects it.
75950         (test_getopt_long_only): New test.
75951         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75952         glibc shortcomings with 'W;', and enforcement of optind=0.
75953         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75954         Likewise.
75956 2009-12-21  Bruno Haible  <bruno@clisp.org>
75958         localename: Improvements for MacOS X and Cygwin.
75959         * lib/localename.h (gl_locale_name_environ): New declaration.
75960         * lib/localename.c (gl_locale_name_environ): New function, extracted from
75961         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
75962         (gl_locale_name_posix): Invoke it.
75963         (gl_locale_name_default): Add comments. Use Windows native API also on
75964         Cygwin.
75966 2009-12-21  Bruno Haible  <bruno@clisp.org>
75968         Update list of Win32 locale ids.
75969         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
75970         (LANG_SAMI): Renamed from LANG_SAAMI.
75971         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
75972         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
75973         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
75974         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
75975         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
75976         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
75977         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
75978         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
75979         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
75980         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
75981         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
75982         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
75983         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
75984         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
75985         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
75986         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
75987         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
75988         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
75989         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
75990         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
75991         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
75992         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
75993         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
75994         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
75995         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
75996         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
75997         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
75998         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
75999         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
76000         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
76001         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
76002         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
76003         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
76004         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
76005         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
76006         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
76007         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
76008         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
76009         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
76010         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
76011         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
76012         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
76013         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
76014         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
76015         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
76016         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
76017         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
76018         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
76019         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
76020         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
76021         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
76022         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
76023         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
76024         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
76025         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
76026         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
76027         Add more languages and countries for Sami, Sorbian. Add more countries
76028         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
76029         for Pashto. Change country for Syriac, Tswana.
76031 2009-12-21  Eric Blake  <ebb9@byu.net>
76033         test-utimens: avoid spurious failure
76034         * tests/test-chown.h (nap): Factor...
76035         * tests/nap.h: ...into new file.
76036         * tests/test-lchown.h (nap): Avoid duplication.
76037         * tests/test-utimens-common.h (nap): Use shared implementation,
76038         necessary on file systems with 1-second resolution.
76039         * modules/chown-tests (Files): Include new file.
76040         * modules/fdutimensat-tests (Files): Likewise.
76041         * modules/futimens-tests (Files): Likewise.
76042         * modules/lchown-tests (Files): Likewise.
76043         * modules/openat-tests (Files): Likewise.
76044         * modules/utimens-tests (Files): Likewise.
76045         * modules/utimensat-tests (Files): Likewise.
76047 2009-12-19  Eric Blake  <ebb9@byu.net>
76049         futimens, utimensat: work around Linux bug
76050         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
76051         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
76052         * lib/utimensat.c (rpl_utimensat): Work around it.
76053         * lib/futimens.c (rpl_futimens): Adjust comment.
76055         utimens: work around Linux ctime bug
76056         * lib/utimens.c (detect_ctime_bug): New helper function.
76057         (update_timespec): Differentiate between workaround needed for
76058         this bug vs. what is needed for systems that lack utimensat.
76059         (fdutimens, lutimens): Work around bug.
76061         utimens: check for ctime update
76062         * tests/test-utimens-common.h (check_ctime): Define.
76063         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
76064         * tests/test-futimens.h (test_futimens): Likewise.
76065         * tests/test-lutimens.h (test_lutimens): Likewise.
76066         * doc/posix-functions/futimens.texi (futimens): Document the bug.
76067         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
76069 2009-12-19  Bruno Haible  <bruno@clisp.org>
76071         dprintf-posix: Check against memory leak fixed on 2009-12-15.
76072         * tests/test-dprintf-posix2.sh: New file.
76073         * tests/test-dprintf-posix2.c: New file.
76074         * modules/dprintf-posix-tests (Files): Add them.
76075         (configure.ac): Check for getrlimit and setrlimit.
76076         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76078 2009-12-19  Bruno Haible  <bruno@clisp.org>
76080         fprintf-posix: Check against memory leak fixed on 2009-12-15.
76081         * tests/test-fprintf-posix3.sh: New file.
76082         * tests/test-fprintf-posix3.c: New file.
76083         * modules/fprintf-posix-tests (Files): Add them.
76084         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76086 2009-12-19  Eric Blake  <ebb9@byu.net>
76088         dirfd: fix prototype
76089         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
76090         * lib/dirfd.c (dirfd): Likewise.
76092         canonicalize: reduce memory usage
76093         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
76094         allocation to size.
76095         Reported by Solar Designer <solar@openwall.com>.
76097 2009-12-19  Bruno Haible  <bruno@clisp.org>
76099         New module attribute 'Applicability'.
76100         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
76101         * gnulib-tool: New option --extract-applicability.
76102         (func_usage): Document it.
76103         (sed_extract_prog): Recognize it.
76104         (func_get_applicability): New function.
76105         (func_import): Generalize handling of 'link-warning' module.
76106         * modules/link-warning (Applicability): New section.
76107         * modules/arg-nonnull (Applicability): New section.
76108         Repoted by Simon Josefsson <simon@josefsson.org>.
76110 2009-12-19  Bruno Haible  <bruno@clisp.org>
76112         fflush: tweak
76113         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
76114         * lib/fseeko.c (rpl_fseeko): Likewise.
76116 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
76118         * lib/gl_list.h: Fix typo in comment.
76120 2009-12-16  Eric Blake  <ebb9@byu.net>
76122         fcntl: use to simplify other modules
76123         * modules/cloexec (Depends-on): Add fcntl.
76124         * modules/fchdir (Depends-on): Likewise.
76125         * modules/fd-safer-flag (Depends-on): Likewise.
76126         * modules/unistd-safer (Depends-on): Likewise.
76127         * modules/dup3 (configure.ac): Set module indicator.
76128         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
76129         missing.
76130         * lib/fchdir.c (_gl_register_dup): Fix comment.
76131         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
76132         * lib/dup-safer.c (dup_safer): Likewise.
76133         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
76134         * lib/dup3.c (dup3): Likewise.
76135         * tests/test-fchdir.c (main): Enhance test.
76136         Fixes a dup_cloexec bug reported by Ondřej Vašík.
76138         fcntl: port portions of fcntl to mingw
76139         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
76140         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
76141         replacement for mingw.
76142         * modules/fcntl (Description): Update.
76143         (Depends-on): Add dup2.
76144         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
76145         * modules/fcntl-h (Makefile.am): Substitute it.
76146         * lib/fcntl.in.h (fcntl): Update declaration.
76147         (F_DUPFD, F_GETFD): New macros, when needed.
76148         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
76149         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
76150         * tests/test-fcntl.c (check_flags, main): Enhance test for items
76151         we now guarantee.
76153         fcntl: work around cygwin bug in F_DUPFD
76154         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
76155         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
76156         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
76157         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
76158         * doc/posix-functions/fcntl.texi (fcntl): Document it.
76160         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
76161         * modules/fcntl (Files): List new files.
76162         (configure.ac): Run a test.
76163         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
76164         * lib/fcntl.c (rpl_fcntl): Likewise.
76165         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
76166         (gl_FCNTL_H): Always replace fcntl.h.
76167         * modules/fcntl-h (Makefile.am): Substitute witnesses.
76168         * lib/fcntl.in.h (fcntl): Declare replacement.
76169         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
76170         needed, plus a witness.
76171         * doc/posix-functions/fcntl.texi (fcntl): Document this.
76172         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
76173         * tests/test-fcntl.c: New file.
76174         * modules/fcntl-tests: Likewise.
76176         binary-io: avoid potential compilation warning
76177         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
76178         directives.
76180         fflush: avoid compilation error on NetBSD
76181         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
76182         between off_t and fpos_t, since the latter is sometimes a struct.
76183         * lib/fseeko.c (rpl_fseeko): Likewise.
76184         Reported by Alexander Nasonov <alnsn@yandex.ru>.
76186 2009-12-15  Eric Blake  <ebb9@byu.net>
76188         fcntl-h, stdio, sys_ioctl: fix declarations
76189         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
76190         function must not take arguments.
76191         * lib/sys_ioctl.in.h (ioctl): Likewise.
76192         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
76193         (open): Add a link warning.
76195 2009-12-15  Jim Meyering  <meyering@redhat.com>
76197         areadlink, areadlink-with-size: relax license to LGPLv2+
76198         * modules/areadlink (License): Relax to LGPLv2+.
76199         * modules/areadlink-with-size (License): Likewise.
76201 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
76202             Bruno Haible  <bruno@clisp.org>
76204         *printf: Fix memory leak.
76205         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
76206         * lib/vfprintf.c (vfprintf): Likewise.
76207         * lib/dprintf.c (dprintf): Likewise.
76208         * lib/vdprintf.c (vdprintf): Likewise.
76210 2009-12-14  Eric Blake  <ebb9@byu.net>
76212         accept4: adjust module dependencies
76213         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
76215         utimens: one more try at avoiding compiler warning
76216         * lib/utimens.c (lutimens): Lower scope of result.
76218 2009-12-13  Bruno Haible  <bruno@clisp.org>
76220         Move the malloc checking from module 'list' to new module 'xlist'.
76221         * modules/xlist: New file.
76222         * lib/gl_xlist.h: New file.
76223         * lib/gl_xlist.c: New file.
76224         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
76225         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
76226         gl_list_add_last, gl_list_add_before, gl_list_add_after,
76227         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
76228         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
76229         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
76230         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
76231         gl_sortedlist_nx_add): New declarations.
76232         (struct gl_list_implementation): Rename and change methods accordingly.
76233         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
76234         (gl_list_nx_create): Renamed from gl_list_create.
76235         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76236         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76237         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76238         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76239         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76240         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76241         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76242         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76243         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
76244         gl_list_create_empty.
76245         (gl_list_nx_create): Renamed from gl_list_create.
76246         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76247         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76248         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76249         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76250         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76251         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76252         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76253         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76254         * lib/gl_array_list.c: Don't include xalloc.h.
76255         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
76256         NULL upon out-of-memory.
76257         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
76258         out-of-memory.
76259         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
76260         Change return type to 'int'.
76261         (gl_array_nx_set_at): Renamed from gl_array_set_at.
76262         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76263         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
76264         upon out-of-memory.
76265         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
76266         upon out-of-memory.
76267         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
76268         upon out-of-memory.
76269         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
76270         upon out-of-memory.
76271         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
76272         out-of-memory.
76273         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
76274         Update.
76275         (gl_array_list_implementation): Update.
76276         * lib/gl_carray_list.c: Don't include xalloc.h.
76277         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
76278         Return NULL upon out-of-memory.
76279         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
76280         out-of-memory.
76281         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
76282         Change return type to 'int'.
76283         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
76284         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76285         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
76286         upon out-of-memory.
76287         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
76288         upon out-of-memory.
76289         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
76290         out-of-memory.
76291         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
76292         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
76293         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
76294         Update.
76295         (gl_carray_list_implementation): Update.
76296         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
76297         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
76298         gl_linked_create_empty. Return NULL upon out-of-memory.
76299         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
76300         out-of-memory.
76301         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
76302         Change return type to 'int'. Return -1 upon out-of-memory.
76303         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
76304         out-of-memory.
76305         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
76306         upon out-of-memory.
76307         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
76308         upon out-of-memory.
76309         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
76310         NULL upon out-of-memory.
76311         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
76312         upon out-of-memory.
76313         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
76314         out-of-memory.
76315         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
76316         Update.
76317         * lib/gl_linked_list.c: Don't include xalloc.h.
76318         (gl_linked_list_implementation): Update.
76319         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
76320         (add_to_bucket): Change return type to 'int'.
76321         (gl_linkedhash_list_implementation): Update.
76322         * lib/gl_anytree_list1.h (free_subtree): New function.
76323         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
76324         gl_tree_create_empty. Return NULL upon out-of-memory.
76325         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
76326         Change return type to 'int'. Return -1 upon out-of-memory.
76327         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
76328         out-of-memory.
76329         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
76330         (gl_tree_remove_node): New function, moved here from
76331         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
76332         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
76333         Update.
76334         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
76335         malloc, not xmalloc. Return NULL upon out-of-memory.
76336         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76337         out-of-memory.
76338         (gl_tree_remove_node_from_tree): New function, extracted from
76339         gl_tree_remove_node.
76340         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76341         upon out-of-memory.
76342         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76343         out-of-memory.
76344         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76345         upon out-of-memory.
76346         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76347         upon out-of-memory.
76348         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76349         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
76350         not xmalloc. Return NULL upon out-of-memory.
76351         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76352         out-of-memory.
76353         (gl_tree_remove_node_from_tree): New function, extracted from
76354         gl_tree_remove_node.
76355         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76356         upon out-of-memory.
76357         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76358         out-of-memory.
76359         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76360         upon out-of-memory.
76361         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76362         upon out-of-memory.
76363         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76364         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
76365         gl_anytree_list1.h before gl_anyavltree_list2.h.
76366         (gl_avltree_list_implementation): Update.
76367         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
76368         gl_anytree_list1.h before gl_anyavltree_list2.h.
76369         (gl_rbtree_list_implementation): Update.
76370         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
76371         Change return type to 'int'. Return -1 upon out-of-memory. Use
76372         __builtin_expect.
76373         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
76374         (gl_avltreehash_list_implementation): Update.
76375         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
76376         (gl_rbtreehash_list_implementation): Update.
76377         * modules/array-list (Depends-on): Remove xalloc.
76378         * modules/carray-list (Depends-on): Likewise.
76379         * modules/linked-list (Depends-on): Likewise.
76380         * modules/linkedhash-list (Depends-on): Likewise.
76381         * modules/avltree-list (Depends-on): Likewise.
76382         * modules/rbtree-list (Depends-on): Likewise.
76383         * modules/avltreehash-list (Depends-on): Likewise.
76384         * modules/rbtreehash-list (Depends-on): Likewise.
76386         * modules/xsublist: New file.
76387         * lib/gl_xsublist.h: New file.
76388         * lib/gl_xsublist.c: New file.
76389         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
76390         (gl_sublist_nx_create): New declaration.
76391         * lib/gl_sublist.c: Don't include xalloc.h.
76392         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
76393         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
76394         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
76395         Change return type to 'int'. Return -1 upon out-of-memory.
76396         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
76397         upon out-of-memory.
76398         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
76399         NULL upon out-of-memory.
76400         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
76401         upon out-of-memory.
76402         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
76403         NULL upon out-of-memory.
76404         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
76405         NULL upon out-of-memory.
76406         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
76407         upon out-of-memory.
76408         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
76409         (gl_sublist_list_implementation): Update.
76410         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
76411         upon out-of-memory.
76412         * modules/sublist (Depends-on): Remove xalloc.
76414         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
76415         * tests/test-carray_list.c: Likewise.
76416         * tests/test-linked_list.c: Likewise.
76417         * tests/test-linkedhash_list.c: Likewise.
76418         * tests/test-avltree_list.c: Likewise.
76419         * tests/test-rbtree_list.c: Likewise.
76420         * tests/test-avltreehash_list.c: Likewise.
76421         * tests/test-rbtreehash_list.c: Likewise.
76422         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
76423         * modules/carray-list-tests (Makefile.am): Likewise.
76424         * modules/linked-list-tests (Makefile.am): Likewise.
76425         * modules/linkedhash-list-tests (Makefile.am): Likewise.
76426         * modules/avltree-list-tests (Makefile.am): Likewise.
76427         * modules/rbtree-list-tests (Makefile.am): Likewise.
76428         * modules/avltreehash-list-tests (Makefile.am): Likewise.
76429         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
76431         * NEWS: Mention the changes.
76433         * lib/clean-temp.c: Include gl_xlist.h.
76434         * modules/clean-temp (Depends-on): Add xlist.
76436         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
76437         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
76439         * tests/test-array_oset.c: Include gl_xlist.h.
76440         * modules/array-oset-tests (Depends-on): Add xlist.
76442         Reported by José E. Marchesi <jemarch@gnu.org>.
76444 2009-12-13  Bruno Haible  <bruno@clisp.org>
76446         Move the malloc checking from module 'oset' to new module 'xoset'.
76447         * modules/xoset: New file.
76448         * lib/gl_xoset.h: New file.
76449         * lib/gl_xoset.c: New file.
76450         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
76451         declarations.
76452         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
76453         (struct gl_oset_implementation): Rename and change methods accordingly.
76454         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
76455         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76456         'int'. Mark as __warn_unused_result__.
76457         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
76458         gl_oset_create_empty.
76459         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76460         'int'.
76461         * lib/gl_array_oset.c: Don't include xalloc.h.
76462         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
76463         malloc, not xmalloc.
76464         (grow): Change return type to 'int'. Don't call xalloc_die.
76465         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
76466         to 'int'.
76467         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
76468         'int'.
76469         (gl_array_oset_implementation): Update.
76470         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
76471         gl_tree_create_empty.
76472         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
76473         'int'.
76474         * lib/gl_avltree_oset.c: Don't include xalloc.h.
76475         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76476         xmalloc.
76477         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76478         not xmalloc.
76479         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76480         xmalloc.
76481         (gl_avltree_oset_implementation): Update.
76482         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
76483         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76484         xmalloc.
76485         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76486         not xmalloc.
76487         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76488         xmalloc.
76489         (gl_rbtree_oset_implementation): Update.
76490         * modules/array-oset (Depends-on): Remove xalloc.
76491         * modules/avltree-oset (Depends-on): Likewise.
76492         * modules/rbtree-oset (Depends-on): Likewise.
76493         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
76494         * tests/test-avltree_oset.c: Likewise.
76495         * tests/test-rbtree_oset.c: Likewise.
76496         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76497         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
76498         * modules/rbtree-oset-tests (Makefile.am): Likewise.
76499         * NEWS: Mention the change.
76501 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
76503         maint.mk: allow a project to override release-prep commands
76504         * top/maint.mk (alpha, beta, stable): Move release-preparatory
76505         commands into a new rule.
76506         (release-prep): New rule.
76507         (release-prep-hook): New overridable variable.
76509 2009-12-13  Bruno Haible  <bruno@clisp.org>
76511         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
76513 2009-12-13  Jim Meyering  <meyering@redhat.com>
76515         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
76516         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
76518 2009-12-12  Bruno Haible  <bruno@clisp.org>
76520         duplocale: Tweak.
76521         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
76523 2009-12-12  Karl Berry  <karl@gnu.org>
76525         * config/srclist.txt (strtoll.c): tab changes, no more sync.
76527 2009-12-12  Bruno Haible  <bruno@clisp.org>
76529         * m4/po.m4: Undo incorrect untabification.
76531 2009-12-12  Bruno Haible  <bruno@clisp.org>
76533         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
76534         * modules/c-strtod (Depends-on): Add locale.
76535         * modules/c-strtold (Depends-on): Likewise.
76537 2009-12-12  Bruno Haible  <bruno@clisp.org>
76539         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
76541 2009-12-11  Eric Blake  <ebb9@byu.net>
76543         setenv: relax requirement in light of POSIX ruling
76544         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
76545         not NULL.
76546         * tests/test-setenv.c (main): Relax test.
76547         * tests/test-unsetenv.c (main): Likewise.
76548         * doc/posix-functions/setenv.texi (setenv): Document this.
76549         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76551 2009-12-11  Bruno Haible  <bruno@clisp.org>
76553         New module 'fd-safer-flag'.
76554         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
76555         * lib/dup-safer.c (dup_safer_flag): Remove function.
76556         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
76557         * lib/fd-safer.c (fd_safer_flag): Remove function.
76558         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
76559         * modules/cloexec (configure.ac): Drop indicator macro.
76560         * modules/fd-safer-flag: New file.
76561         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
76562         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
76563         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
76565 2009-12-11  Bruno Haible  <bruno@clisp.org>
76567         Tests for module 'nl_langinfo'.
76568         * modules/nl_langinfo-tests: New file.
76569         * tests/test-nl_langinfo.sh: New file.
76570         * tests/test-nl_langinfo.c: New file.
76572         New module 'nl_langinfo'.
76573         * lib/nl_langinfo.c: New file.
76574         * m4/nl_langinfo.m4: New file.
76575         * modules/nl_langinfo: New file.
76576         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
76578 2009-12-11  Bruno Haible  <bruno@clisp.org>
76580         Tests for module 'langinfo'.
76581         * modules/langinfo-tests: New file.
76582         * tests/test-langinfo.c: New file.
76584         New module 'langinfo'.
76585         * lib/langinfo.in.h: New file.
76586         * m4/langinfo_h.m4: New file.
76587         * modules/langinfo: New file.
76588         * doc/posix-headers/langinfo.texi: Mention the new module.
76590 2009-12-11  Bruno Haible  <bruno@clisp.org>
76592         * lib/config.charset: Untabify.
76594 2009-12-11  Bruno Haible  <bruno@clisp.org>
76596         * modules/unistd-safer (configure.ac): Drop indicator macro.
76598 2009-12-11  Bruno Haible  <bruno@clisp.org>
76600         Move pipe2-safer code to its own file.
76601         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
76602         * lib/pipe-safer.c (pipe2_safer): Remove function.
76603         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
76604         (Makefile.am): Add it to lib_SOURCES.
76606 2009-12-10  Bruno Haible  <bruno@clisp.org>
76608         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
76610 2009-12-10  Bruno Haible  <bruno@clisp.org>
76612         Declare which arguments expect non-NULL values, for GCC and clang.
76613         * build-aux/arg-nonnull.h: New file.
76614         * modules/arg-nonnull: New file.
76615         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
76616         (inet_ntop, inet_pton): Use it.
76617         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
76618         (closedir, dirfd, opendir, scandir, alphasort): Use it.
76619         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
76620         (open, openat): Use it.
76621         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
76622         (fnmatch): Use it.
76623         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
76624         (getopt, getopt_long, getopt_long_only): Use it.
76625         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
76626         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
76627         Use it.
76628         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
76629         (iconv_open): Use it.
76630         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
76631         (strtoimax, strtoumax): Use it.
76632         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
76633         (duplocale): Use it.
76634         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
76635         (frexp, frexpl): Use it.
76636         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
76637         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
76638         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
76639         (tsearch, tfind, tdelete, twalk): Use it.
76640         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
76641         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
76642         sigpending): Use it.
76643         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
76644         (posix_spawn, posix_spawnp, posix_spawnattr_init,
76645         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
76646         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
76647         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
76648         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
76649         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
76650         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
76651         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
76652         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
76653         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
76654         Use it.
76655         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
76656         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
76657         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
76658         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
76659         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
76660         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
76661         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
76662         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
76663         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
76664         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
76665         strtoull, unsetenv): Use it.
76666         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
76667         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
76668         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
76669         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
76670         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
76671         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
76672         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
76673         (strcasecmp, strncasecmp): Use it.
76674         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
76675         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
76676         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
76677         rpl_setsockopt): Use it.
76678         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
76679         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
76680         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
76681         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
76682         (gettimeofday): Use it.
76683         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
76684         (times): Use it.
76685         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
76686         (uname): Use it.
76687         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
76688         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
76689         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
76690         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
76691         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
76692         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
76693         unlinkat, write): Use it.
76694         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
76695         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
76696         * lib/argv-iter.h: Include arg-nonnull.h.
76697         (_ATTRIBUTE_NONNULL_): Remove macro.
76698         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
76699         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
76700         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
76701         optimization.
76702         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
76703         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
76704         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
76705         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
76706         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
76707         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
76708         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
76709         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
76710         * modules/arpa_inet (Depends-on): Add arg-nonnull.
76711         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
76712         * modules/dirent (Depends-on): Add arg-nonnull.
76713         (Makefile.am): Insert arg-nonnull.h into dirent.h.
76714         * modules/fcntl-h (Depends-on): Add arg-nonnull.
76715         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
76716         * modules/fnmatch (Depends-on): Add arg-nonnull.
76717         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
76718         * modules/getopt-posix (Depends-on): Add arg-nonnull.
76719         (Makefile.am): Insert arg-nonnull.h into getopt.h.
76720         * modules/glob (Depends-on): Add arg-nonnull.
76721         (Makefile.am): Insert arg-nonnull.h into glob.h.
76722         * modules/iconv_open (Depends-on): Add arg-nonnull.
76723         (Makefile.am): Insert arg-nonnull.h into iconv.h.
76724         * modules/inttypes (Depends-on): Add arg-nonnull.
76725         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
76726         * modules/locale (Depends-on): Add arg-nonnull.
76727         (Makefile.am): Insert arg-nonnull.h into locale.h.
76728         * modules/math (Depends-on): Add arg-nonnull.
76729         (Makefile.am): Insert arg-nonnull.h into math.h.
76730         * modules/netdb (Depends-on): Add arg-nonnull.
76731         (Makefile.am): Insert arg-nonnull.h into netdb.h.
76732         * modules/search (Depends-on): Add arg-nonnull.
76733         (Makefile.am): Insert arg-nonnull.h into search.h.
76734         * modules/signal (Depends-on): Add arg-nonnull.
76735         (Makefile.am): Insert arg-nonnull.h into signal.h.
76736         * modules/spawn (Depends-on): Add arg-nonnull.
76737         (Makefile.am): Insert arg-nonnull.h into spawn.h.
76738         * modules/stdio (Depends-on): Add arg-nonnull.
76739         (Makefile.am): Insert arg-nonnull.h into stdio.h.
76740         * modules/stdlib (Depends-on): Add arg-nonnull.
76741         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
76742         * modules/string (Depends-on): Add arg-nonnull.
76743         (Makefile.am): Insert arg-nonnull.h into string.h.
76744         * modules/strings (Depends-on): Add arg-nonnull.
76745         (Makefile.am): Insert arg-nonnull.h into strings.h.
76746         * modules/sys_socket (Depends-on): Add arg-nonnull.
76747         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
76748         * modules/sys_stat (Depends-on): Add arg-nonnull.
76749         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
76750         * modules/sys_time (Depends-on): Add arg-nonnull.
76751         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
76752         * modules/sys_times (Depends-on): Add arg-nonnull.
76753         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
76754         * modules/sys_utsname (Depends-on): Add arg-nonnull.
76755         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
76756         * modules/time (Depends-on): Add arg-nonnull.
76757         (Makefile.am): Insert arg-nonnull.h into time.h.
76758         * modules/unistd (Depends-on): Add arg-nonnull.
76759         (Makefile.am): Insert arg-nonnull.h into unistd.h.
76760         * modules/wchar (Depends-on): Add arg-nonnull.
76761         (Makefile.am): Insert arg-nonnull.h into wchar.h.
76762         * modules/argv-iter (Depends-on): Add arg-nonnull.
76763         * tests/test-canonicalize.c (null_ptr): New function.
76764         (main): Use it.
76765         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
76766         (main): Use it.
76767         * tests/test-memmem.c (null_ptr): New function.
76768         (main): Use it.
76769         Reported by Jim Meyering.
76771 2009-12-10  Bruno Haible  <bruno@clisp.org>
76773         Use spaces for indentation, not tabs.
76774         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
76775         * m4/*.m4: Untabify.
76776         * build-aux/*.h: Untabify.
76777         * tests/**/*.[hc]: Untabify.
76778         * README: New section "Indent with spaces, not TABs", based on
76779         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
76780         * NEWS: Mention the change.
76782 2009-12-10  Bruno Haible  <bruno@clisp.org>
76784         pty test: Fix link error.
76785         * modules/pty-tests (Makefile.am): Add the default LDADD value to
76786         test_pty_LDADD.
76788 2009-12-07  Simon Josefsson  <simon@josefsson.org>
76790         * modules/pty: New file.
76791         * modules/pty-tests: New file.
76792         * m4/pty.m4: New file.
76793         * tests/test-pty.c: New file.
76794         * doc/glibc-headers/pty.texi: Modified.
76795         * doc/glibc-functions/forkpty.texi: Modified.
76796         * doc/glibc-functions/openpty.texi: Modified.
76798 2009-12-10  Bruno Haible  <bruno@clisp.org>
76800         Avoid syntax error in C++ mode.
76801         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
76803 2009-12-10  Bruno Haible  <bruno@clisp.org>
76805         Use sed with option -e.
76806         * gnulib-tool (func_version, func_emit_copyright_notice,
76807         func_emit_initmacro_end, func_import, func_create_testdir): Pass
76808         option -e to sed.
76809         * modules/link-warning (Makefile.am): Likewise.
76811 2009-12-10  Jim Meyering  <meyering@redhat.com>
76813         mgetgroups: do not write bytes beyond end of malloc'd buffer
76814         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
76815         username, we call getgroups with a one-element-shorter buffer,
76816         but still told it the length was original, max_n_groups.
76818 2009-12-09  Eric Blake  <ebb9@byu.net>
76820         cloexec: relax license
76821         * modules/cloexec (Maintainer): Add myself.
76822         (License): Use LGPL, not GPL.
76824         link-warning: optimize generation
76825         * modules/link-warning (Makefile.am): Reduce process usage.
76827 2009-12-09  Bruno Haible  <bruno@clisp.org>
76829         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
76830         workaround was added on 2009-11-17.
76832 2009-12-09  Jim Meyering  <meyering@redhat.com>
76833             Bruno Haible  <bruno@clisp.org>
76835         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
76836         * modules/link-warning (Makefile.am): Make the comment-removing sed
76837         command more robust in the face of bootstrap-prepended comment lines.
76839 2009-12-09  Bruno Haible  <bruno@clisp.org>
76841         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
76842         most one group.
76844 2009-12-09  Simon Josefsson  <simon@josefsson.org>
76845             Bruno Haible  <bruno@clisp.org>
76847         * build-aux/link-warning.h: Add copyright notice.
76848         * modules/link-warning (Makefile.am): Generate link-warning.h from
76849         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
76850         * NEWS: Mention change in link-warning module.
76851         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
76852         * modules/dirent (Makefile.am): Add dependency to dirent.h.
76853         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
76854         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
76855         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
76856         * modules/math (Makefile.am): Add dependency to math.h.
76857         * modules/search (Makefile.am): Add dependency to search.h.
76858         * modules/signal (Makefile.am): Add dependency to signal.h.
76859         * modules/spawn (Makefile.am): Add dependency to spawn.h.
76860         * modules/stdio (Makefile.am): Add dependency to stdio.h.
76861         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
76862         * modules/string (Makefile.am): Add dependency to string.h.
76863         * modules/strings (Makefile.am): Add dependency to strings.h.
76864         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
76865         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
76866         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
76867         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
76868         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
76869         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
76870         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
76871         * modules/unistd (Makefile.am): Add dependency to unistd.h.
76872         * modules/wchar (Makefile.am): Add dependency to wchar.h.
76874 2009-12-09  Bruno Haible  <bruno@clisp.org>
76876         fchdir: Optimize away rpl_fstat when possible.
76877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
76878         REPLACE_OPEN_DIRECTORY.
76879         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
76881 2009-12-09  Bruno Haible  <bruno@clisp.org>
76883         * lib/fchdir.c: Update comment.
76885 2009-12-09  Bruno Haible  <bruno@clisp.org>
76887         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
76889 2009-12-08  Eric Blake  <ebb9@byu.net>
76891         fchdir: avoid memory leak on re-registration.
76892         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
76894 2009-12-08  Jim Meyering  <meyering@redhat.com>
76896         init.sh: avoid Solaris 10 /bin/sh portability problem
76897         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
76898         sourced script:
76899           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
76900           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
76901           bar
76902         tests/init.sh relied on that, accepting a --set-path=DIR argument,
76903         and two tests used that idiom.
76904         * tests/init.sh: Update suggested usage comments.
76905         (path_prepend_): New function, to be used in place
76906         of the --src-path=DIR option.
76907         (setup_): Move PATH-prepending code into path_prepend_.
76908         * tests/test-pread.sh: Adapt to new usage.
76909         * tests/test-xalloc-die.sh: Likewise.
76911 2009-12-08  Simon Josefsson  <simon@josefsson.org>
76913         * doc/gnulib.texi (Glibc pty.h): Add.
76914         * doc/glibc-functions/forkpty.texi: Add.
76915         * doc/glibc-functions/openpty.texi: Add.
76916         Suggested by Bruno Haible.
76918 2009-12-08  Eric Blake  <ebb9@byu.net>
76920         fchdir: fix logic bugs
76921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
76922         * tests/test-fchdir.c (main): Enhance test.
76923         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
76924         is in use.
76926         dup2: fix logic bugs
76927         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
76928         REPLACE_DUP2 to decide when rpl_dup2 is needed.
76929         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
76930         exists.
76931         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
76933 2009-12-07  Eric Blake  <ebb9@byu.net>
76935         unlink: fix m4 detection
76936         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
76938         unistd-safer: add unit test
76939         * modules/unistd-safer-tests: New file.
76940         * tests/test-dup-safer.c: Likewise.
76941         * tests/test-cloexec.c (setmode): Avoid compiler warning.
76942         * tests/test-dup2.c (setmode): Likewise.
76943         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
76945         cloexec: preserve text vs. binary across dup_cloexec
76946         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
76947         mode.
76948         * modules/dup2-tests (Depends-on): Add binary-io.
76949         * modules/cloexec-tests (Depends-on): Likewise.
76950         * tests/test-dup2.c (setmode, is_mode): New helpers.
76951         (main): Add tests that translation mode is preserved.
76952         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
76953         Reported by Bruno Haible.
76955         mgetgroups: reduce duplicate listings
76956         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
76957         resulting array.
76958         * tests/test-chown.h (test_chown): Simplify client.
76959         * tests/test-lchown.h (test_lchown): Likewise.
76961 2009-12-06  Bruno Haible  <bruno@clisp.org>
76963         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
76964         value.
76966 2009-12-06  Bruno Haible  <bruno@clisp.org>
76968         * lib/progname.c: Include stdio.h, stdlib.h.
76969         (set_program_name): Reject a NULL argument.
76971 2009-12-05  Eric Blake  <ebb9@byu.net>
76973         pipe2-safer: new module
76974         * modules/pipe2-safer: New file.
76975         * lib/unistd-safer.h (pipe2_safer): New prototype.
76976         * lib/unistd--.h (pipe2): New wrapper.
76977         * lib/pipe-safer.c (pipe2_safer): New function.
76978         * modules/pipe (Depends-on): Add pipe2-safer.
76979         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
76981         stdlib-safer: preserve cloexec flag for mkostemp[s]
76982         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
76983         fd_safer_flag.
76985         unistd-safer: allow preservation of cloexec status via flag
76986         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
76987         prototypes.
76988         * lib/dup-safer.c (dup_safer_flag): New function.
76989         * lib/fd-safer.c (fd_safer_flag): Likewise.
76990         * modules/cloexec (configure.ac): Set witness.
76992         test-dup2: enhance test
76993         * modules/dup2-tests (Depends-on): Add cloexec.
76994         * tests/test-dup2.c (main): Enhance test.
76996         cloexec: add dup_cloexec
76997         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
76998         header and comments.
76999         * lib/cloexec.c (set_cloexec_flag): Add comments.
77000         (dup_cloexec): New function, with mingw implementation borrowed
77001         from...
77002         * lib/w32spawn.h (dup_noinherit): ...here.
77003         * modules/execute (Depends-on): Add cloexec.
77004         * modules/pipe (Depends-on): Likewise.
77005         * modules/cloexec (Depends-on): Add dup2.
77006         * modules/cloexec-tests (Files): New file.
77007         * tests/test-cloexec.c: Likewise.
77009         test-xalloc-die: fix test for mingw
77010         * modules/xalloc-die-tests (Files): Add tests/init.sh.
77011         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
77012         directory and .exe suffix off argv[0] output.
77014         test-fseeko: fix test for mingw
77015         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
77016         than undefining fseek, so test will pass on mingw.
77018 2009-12-05  Bruno Haible  <bruno@clisp.org>
77020         * lib/progname.h (set_program_name): Clarify specification.
77021         * lib/progname.c (set_program_name): Likewise.
77022         Reported by Jim Meyering.
77024 2009-12-05  Jim Meyering  <meyering@redhat.com>
77026         maint.mk: backslash-escape parens in default regexp
77027         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
77028         backslash-escape the literal parentheses.
77030         maint.mk: news-date-check: use grep -E
77031         * top/maint.mk (today): Define a Make variable, not a...
77032         (news-date-check): ...shell variable.
77033         (news-date-regexp): Use the Make variable.
77034         Use grep's -E option.  Change the failing diagnostic to mention
77035         the variable, $(news-date-regexp).
77037 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
77039         maintainer-makefile: allow customization of NEWS entry format
77040         * top/maint.mk (news-date-regexp): New overridable variable.
77041         (news-date-check): Use it.
77043 2009-12-04  Eric Blake  <ebb9@byu.net>
77045         mgetgroups: add xgetgroups, and avoid ENOSYS failures
77046         * lib/mgetgroups.h (xgetgroups): New prototype.
77047         * lib/mgetgroups.c (xgetgroups): New wrapper.
77048         (mgetgroups): Handle ENOSYS.
77049         * modules/mgetgroups (Depends-on): Add realloc.
77050         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
77052         mgetgroups: avoid argument promotion issues with -1
77053         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
77054         for invalid gid_t.
77055         * tests/test-chown.h (getegid, test_chown): Likewise.
77056         * tests/test-lchown.h (getegid, test_lchown): Likewise.
77058 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
77060         exclude: Fix header file problems.
77061         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
77063 2009-12-01  Jim Meyering  <meyering@redhat.com>
77065         fts: fts_open: do not let an empty string cause immediate failure
77066         This is required in support of GNU rm, for which the command
77067         "rm A '' B" must process and remove both A and B, in spite of
77068         the empty string argument.
77069         * lib/fts.c (fts_open): Do not let the presence of an empty string
77070         cause fts_open to fail immediately.  Most fts-using tools must be
77071         able to process all arguments, in order, and can be expected to
77072         diagnose such arguments themselves.
77074 2009-11-30  Eric Blake  <ebb9@byu.net>
77076         utimens: fix compilation error
77077         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
77078         Declare variable at right scope.
77080 2009-11-29  Jim Meyering  <meyering@redhat.com>
77082         bootstrap: handle perl-5.11's changed --version output
77083         * build-aux/bootstrap (get_version): Handle perl separately,
77084         since perl-5.11's --version output is different.
77086 2009-11-28  Jim Meyering  <meyering@redhat.com>
77088         userspec: depend on the inttostr module, too
77089         * modules/userspec (Depends-on): Add inttostr.
77091         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
77092         * lib/userspec.c (parse_with_separator): Do not accept a user ID
77093         number of MAXUID when it evaluates to (uid_t) -1.
77094         Likewise for group ID.  Reported by Matt McCutchen in
77095         <http://savannah.gnu.org/bugs/?28113>
77097         userspec: reformat to use spaces, not TABs
77098         * lib/userspec.c: Expand TABs to spaces.
77099         Add Emacs' "indent-tabs-mode: nil" hint.
77101 2009-11-27  Eric Blake  <ebb9@byu.net>
77103         getopt-gnu: flush out another BSD bug
77104         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
77105         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
77106         flush out BSD bug.
77107         * tests/test-getopt.h (test_getopt): End lists with NULL.
77108         * tests/test-getopt_long.h (test_getopt_long): Likewise.
77109         (test_getopt_long_posix): Enhance test.
77110         * modules/getopt-posix-tests (Depends-on): Add stdbool.
77111         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
77112         getopt-gnu.
77113         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77114         Likewise.
77116 2009-11-27  Simon Josefsson  <simon@josefsson.org>
77118         * modules/idpriv-droptemp-tests (Notice): Fix text.
77120 2009-11-27  Jim Meyering  <meyering@redhat.com>
77122         test-xalloc-die: avoid spurious failure due to libtool argv difference
77123         In a libtool-enabled project, this test would fail due to a difference
77124         in the emitted program name, e.g.,
77125         -test-xalloc-die: memory exhausted
77126         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
77127         Use program to avoid that.
77128         * modules/xalloc-die-tests (Depends-on): Add progname.
77129         * tests/test-xalloc-die.c: Include progname.h".
77130         (program_name): Remove decl.
77131         (main): Call set_program_name.
77132         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
77134 2009-11-26  Richard Jones  <rjones@redhat.com>
77136         w32sock: leave win32 error in place.
77137         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
77139 2009-11-26  Eric Blake  <ebb9@byu.net>
77141         init.sh: suggest to use skip_ and fail_ functions in comments
77142         * tests/init.sh: Add a sentence.
77144 2009-11-25  Bruno Haible  <bruno@clisp.org>
77146         init.sh: add documentation in comments
77147         * tests/init.sh: Add some developer and user documentation.
77149 2009-11-26  Jim Meyering  <meyering@redhat.com>
77151         init.sh: accommodate even those who specify bogus srcdir manually
77152         * tests/init.sh: Normally, srcdir is guaranteed by automake and
77153         configure-time tests to be sanitized, so that there is no need to
77154         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
77155         (with no double quotes) suffices.  However, since tests may be
77156         invoked manually, and since you may explicitly set srcdir to the
77157         name of a directory containing spaces, do quote its uses here.
77158         * tests/test-pread.sh: Likewise.
77159         Suggested by Bruno Haible.
77161         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
77162         * tests/test-pread.sh: Write no data into the pipe, because
77163         test-pread actually reads none.  This avoids a diagnostic,
77164         "bash: echo: write error: Broken pipe", that arises in the unusual
77165         event something is ignoring SIGPIPE, and might be interpreted
77166         as some sort of failure.  Reported by Bruno Haible.
77168 2009-11-25  Jim Meyering  <meyering@redhat.com>
77170         test-pread: cover failure with ESPIPE and EINVAL
77171         * tests/test-pread.c (main): Test for failure, too.
77172         * tests/test-pread.sh: Invoke with stdin on a pipe.
77173         Suggested by Eric Blake.
77175         pread: improvement and fix
77176         * modules/pread (Depends-on): Depend on lseek, for portability to
77177         e.g., mingw.  Suggested by Eric Blake.
77178         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
77180         unistd.in.h: correct declaration of pread
77181         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
77182         Reported by Richard W.M. Jones.
77184         test-pread.sh: distribute the test script
77185         * modules/pread-tests (Files): Include test-pread.sh.
77187         test-pread.sh: clean up
77188         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
77189         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
77190         That is unnecessary, since it's always ".".
77191         Suggestion from Eric Blake.
77193         test-pread.sh: make executable
77194         * tests/test-pread.sh: Set executable bit.
77195         Reported by Eric Blake.
77197         correct typo in test-pread.sh
77198         * tests/test-pread.sh: Add #! line.
77200         test pread
77201         * tests/test-pread.c: New file.
77202         * tests/test-pread.sh: Likewise.
77203         * modules/pread-tests: Likewise.
77205         pread: new module
77206         * modules/pread: New file.
77207         * lib/unistd.in.h (pread): Define/declare.
77208         * lib/pread.c (pread): New file.
77209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
77210         * modules/unistd (Makefile.am): Substitute witnesses.
77211         * doc/posix-functions/pread.texi (pread): Update.
77212         * MODULES.html.sh: Add pread.
77214 2009-11-25  Jim Meyering  <meyering@redhat.com>
77216         tests/init.sh: new file to be used via most *.sh tests
77217         * tests/init.sh: New file.
77219 2009-11-25  Eric Blake  <ebb9@byu.net>
77221         utimens: work around older Linux failure with symlinks
77222         * lib/utimens.c (lutimensat_works_really): New variable.
77223         (fdutimens, lutimens): Use it to manage kernels that support
77224         nanosecond times on files, but not on symlinks.
77225         Reported by Ondřej Vašík.
77227         utimes: fix configure grammar
77228         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
77230 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
77232         regex: Fix fastmap for multibyte character ranges.
77233         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
77234         characters when a multibyte character range is included.
77236 2009-11-22  Andy Wingo  <wingo@pobox.com>
77238         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
77239         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
77241 2009-11-24  Bruno Haible  <bruno@clisp.org>
77243         doc: Most *_l functions exist in MacOS X 10.5.
77244         * doc/posix-functions/duplocale.texi: Update platforms list.
77245         * doc/posix-functions/freelocale.texi: Likewise.
77246         * doc/posix-functions/newlocale.texi: Likewise.
77247         * doc/posix-functions/uselocale.texi: Likewise.
77248         * doc/posix-functions/isalnum_l.texi: Likewise.
77249         * doc/posix-functions/isalpha_l.texi: Likewise.
77250         * doc/posix-functions/isblank_l.texi: Likewise.
77251         * doc/posix-functions/iscntrl_l.texi: Likewise.
77252         * doc/posix-functions/isdigit_l.texi: Likewise.
77253         * doc/posix-functions/isgraph_l.texi: Likewise.
77254         * doc/posix-functions/islower_l.texi: Likewise.
77255         * doc/posix-functions/isprint_l.texi: Likewise.
77256         * doc/posix-functions/ispunct_l.texi: Likewise.
77257         * doc/posix-functions/isspace_l.texi: Likewise.
77258         * doc/posix-functions/isupper_l.texi: Likewise.
77259         * doc/posix-functions/iswalnum_l.texi: Likewise.
77260         * doc/posix-functions/iswalpha_l.texi: Likewise.
77261         * doc/posix-functions/iswblank_l.texi: Likewise.
77262         * doc/posix-functions/iswcntrl_l.texi: Likewise.
77263         * doc/posix-functions/iswctype_l.texi: Likewise.
77264         * doc/posix-functions/iswdigit_l.texi: Likewise.
77265         * doc/posix-functions/iswgraph_l.texi: Likewise.
77266         * doc/posix-functions/iswlower_l.texi: Likewise.
77267         * doc/posix-functions/iswprint_l.texi: Likewise.
77268         * doc/posix-functions/iswpunct_l.texi: Likewise.
77269         * doc/posix-functions/iswspace_l.texi: Likewise.
77270         * doc/posix-functions/iswupper_l.texi: Likewise.
77271         * doc/posix-functions/iswxdigit_l.texi: Likewise.
77272         * doc/posix-functions/isxdigit_l.texi: Likewise.
77273         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
77274         * doc/posix-functions/strcasecmp_l.texi: Likewise.
77275         * doc/posix-functions/strcoll_l.texi: Likewise.
77276         * doc/posix-functions/strfmon_l.texi: Likewise.
77277         * doc/posix-functions/strftime_l.texi: Likewise.
77278         * doc/posix-functions/strncasecmp_l.texi: Likewise.
77279         * doc/posix-functions/strxfrm_l.texi: Likewise.
77280         * doc/posix-functions/tolower_l.texi: Likewise.
77281         * doc/posix-functions/toupper_l.texi: Likewise.
77282         * doc/posix-functions/towctrans_l.texi: Likewise.
77283         * doc/posix-functions/towlower_l.texi: Likewise.
77284         * doc/posix-functions/towupper_l.texi: Likewise.
77285         * doc/posix-functions/wcscoll_l.texi: Likewise.
77286         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
77287         * doc/posix-functions/wctrans_l.texi: Likewise.
77288         * doc/posix-functions/wctype_l.texi: Likewise.
77289         * doc/glibc-functions/strptime_l.texi: Likewise.
77290         * doc/glibc-functions/strtod_l.texi: Likewise.
77291         * doc/glibc-functions/strtof_l.texi: Likewise.
77292         * doc/glibc-functions/strtol_l.texi: Likewise.
77293         * doc/glibc-functions/strtold_l.texi: Likewise.
77294         * doc/glibc-functions/strtoll_l.texi: Likewise.
77295         * doc/glibc-functions/strtoul_l.texi: Likewise.
77296         * doc/glibc-functions/strtoull_l.texi: Likewise.
77297         * doc/glibc-functions/wcsftime_l.texi: Likewise.
77298         * doc/glibc-functions/wcstod_l.texi: Likewise.
77299         * doc/glibc-functions/wcstof_l.texi: Likewise.
77300         * doc/glibc-functions/wcstol_l.texi: Likewise.
77301         * doc/glibc-functions/wcstold_l.texi: Likewise.
77302         * doc/glibc-functions/wcstoll_l.texi: Likewise.
77303         * doc/glibc-functions/wcstoul_l.texi: Likewise.
77304         * doc/glibc-functions/wcstoull_l.texi: Likewise.
77306 2009-11-24  Bruno Haible  <bruno@clisp.org>
77308         duplocale: Fix logic bug.
77309         * lib/duplocale.c: Don't include <langinfo.h>.
77310         (_NL_LOCALE_NAME): Remove macro.
77311         (rpl_duplocale): Use setlocale instead of nl_langinfo.
77312         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
77314 2009-11-23  Jim Meyering  <meyering@redhat.com>
77316         test-update-copyright: don't hard-code /usr/bin/perl
77317         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
77318         perl to print the current year.  Gilles Espinasse reported that
77319         the replaced use of perl was hard-coded as /usr/bin/perl.
77321 2009-11-23  Bruno Haible  <bruno@clisp.org>
77323         duplocale: Add support for glibc 2.3.x.
77324         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
77326 2009-11-22  Bruno Haible  <bruno@clisp.org>
77328         vasnprintf: Tiny optimization.
77329         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
77330         MacOS X.
77332 2009-11-22  Bruno Haible  <bruno@clisp.org>
77334         Tests for module 'duplocale'.
77335         * modules/duplocale-tests: New file.
77336         * tests/test-duplocale.c: New file.
77338         New module 'duplocale'.
77339         * m4/duplocale.m4: New file.
77340         * lib/locale.in.h (duplocale): New declaration.
77341         * lib/duplocale.c: New file.
77342         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
77343         gl_LOCALE_H_DEFAULTS): New macros.
77344         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
77345         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
77346         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
77347         REPLACE_DUPLOCALE.
77348         * modules/duplocale: New file.
77349         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
77351 2009-11-22  Bruno Haible  <bruno@clisp.org>
77353         * modules/locale-tests (configure.ac): Test for newlocale function.
77354         * tests/test-locale.c: When the system has extended locale functions,
77355         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
77357         locale: Make locale_t available when possible.
77358         * lib/locale.in.h: Include <xlocale.h> when it exists.
77359         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
77360         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
77361         * modules/locale (Depends-on): Add extensions.
77362         (Makefile.am): Also substitute HAVE_XLOCALE_H.
77363         * doc/posix-headers/locale.texi: Document the problem with locale_t.
77365 2009-11-22  Bruno Haible  <bruno@clisp.org>
77367         Add comments.
77368         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
77369         invocation.
77370         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
77371         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
77372         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
77374 2009-11-22  Bruno Haible  <bruno@clisp.org>
77376         error: account for the possibility of freopen (stdout).
77377         * lib/error.c: Include <unistd.h>.
77378         (flush_stdout): New function, extracted from error and error_at_line.
77379         Determine stdout's fd dynamically.
77380         (error, error_at_line): Invoke flush_stdout.
77381         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
77382         * modules/error (Depends-on): Add unistd.
77384 2009-11-22  Bruno Haible  <bruno@clisp.org>
77386         diffseq: Add comment.
77387         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
77389 2009-11-22  Jim Meyering  <meyering@redhat.com>
77391         c-stack: avoid defining an unused static function
77392         * lib/c-stack.c (find_stack_direction): Do not define this function
77393         when it will not be used.
77395         diffseq: avoid spurious gcc warnings
77396         * lib/diffseq.h (IF_LINT2): Define.
77397         (compareseq): Use it to initialize two members of "part".
77398         This avoids two used-uninitialized warnings.
77400 2009-11-21  Jim Meyering  <meyering@redhat.com>
77402         c-stack: avoid "ignoring return value of `write'" warning
77403         * lib/c-stack.c: Include "ignore-value.h".
77404         (die): Explicitly ignore each write return value.
77405         * modules/c-stack (Depends-on): Add ignore-value.
77407 2009-11-21  Bruno Haible  <bruno@clisp.org>
77409         diffseq: reduce scope of variable 'best'.
77410         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
77411         variable, earlier used for two different purposes.
77413 2009-11-21  Jim Meyering  <meyering@redhat.com>
77415         diffseq: remove useless assignment to "best"
77416         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
77417         assignment.  At that point "best" is already guaranteed to be zero.
77419 2009-11-20  Eric Blake  <ebb9@byu.net>
77421         build: mention ftp redirector in release announcements
77422         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
77423         values that used to come from cfg.mk; mention FTP redirect URL.
77424         * build-aux/announce-gen: Mention the mirror list.
77425         Suggested by Karl Berry.
77427         nanosleep: improve port to mingw
77428         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
77429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
77430         LIB_NANOSLEEP, but only when needed.
77431         * modules/select (Link): Document LIBSOCKET.
77432         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
77433         enough.
77435         nanosleep: work around cygwin bug
77436         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
77437         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
77438         bug.
77439         (getnow): Delete, not needed.
77440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
77441         LIB_CLOCK_GETTIME.
77442         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
77443         clock-time, gettime.
77444         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
77445         bug.
77446         * modules/nanosleep-tests: New test.
77447         * tests/test-nanosleep.c: New file.
77449         sleep: work around cygwin bug
77450         * lib/sleep.c (rpl_sleep): Work around the bug.
77451         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
77452         (gl_PREREQ_SLEEP): Delete unused macro.
77453         * modules/sleep (Depends-on): Add verify.
77454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77455         * modules/unistd (Makefile.am): Substitute witness.
77456         * lib/unistd.in.h (sleep): Update prototype.
77457         * doc/posix-functions/sleep.texi (sleep): Document the bug.
77458         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
77459         * modules/sleep-tests (Depends-on): Check for alarm.
77461 2009-11-20  Jim Meyering  <meyering@redhat.com>
77463         maint.mk: improve sc_prohibit_magic_number_exit
77464         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
77465         so it does not match uses like System.exit(1).
77466         Add comments showing how to correct all offenders.
77468 2009-11-19  Eric Blake  <ebb9@byu.net>
77470         xalloc-die-tests: add missing library
77471         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
77473         test-xvasprintf: silence compiler warnings
77474         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
77475         empty string from gcc.
77477 2009-11-19  Jim Meyering  <meyering@redhat.com>
77479         xfreopen: new module, from coreutils
77480         * modules/xfreopen: New module.
77481         * lib/xfreopen.c: New file.
77482         * lib/xfreopen.h: New file.
77483         * MODULES.html.sh (File stream based Input/Output"): Add it.
77485 2009-11-19  Eric Blake  <ebb9@byu.net>
77487         manywarnings: depend on warnings
77488         * modules/manywarnings (Depends-on): Add warnings.
77490         build: avoid compiler warnings
77491         * lib/select.c (rpl_select): Delete unused variable.
77492         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
77494 2009-11-18  Eric Blake  <ebb9@byu.net>
77496         tests: avoid false negative with --with-packager
77497         * tests/test-version-etc.sh: Discard packager information.
77498         * tests/test-argp-version-etc-1.sh: Likewise.
77499         Reported by Mike Frysinger.
77501         utimens: fix regression on Solaris
77502         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
77503         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
77504         can only change fd timestamps via futimesat.  Instead, use an
77505         additional witness macro to avoid BSD bug.
77506         Reported by Jim Meyering.
77508 2009-11-17  Eric Blake  <ebb9@byu.net>
77510         usleep: use it to simplify tests
77511         * modules/stat-time-tests (Depends-on): Add usleep.
77512         (configure.ac): Drop usleep check.
77513         * modules/chown-tests (Depends-on, configure.ac): Likewise.
77514         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
77515         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
77516         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
77517         * modules/openat-tests (Depends-on, configure.ac): Likewise.
77518         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
77519         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
77520         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
77521         Likewise.
77522         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
77523         * tests/test-lchown.h (nap): Likewise.
77524         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
77525         * tests/test-stat-time.c (nap): Likewise.
77526         * tests/test-utimens-common.h (nap): Update comments.
77528         usleep: new module
77529         * modules/usleep: New file.
77530         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
77531         * lib/usleep.c (usleep): Likewise.
77532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
77533         * modules/unistd (Makefile.am): Substitute witnesses.
77534         * lib/unistd.in.h (usleep): Add declaration.
77535         * doc/pastposix-functions/usleep.texi (usleep): Document this.
77536         * MODULES.html.sh (Date and time): Likewise.
77537         * modules/usleep-tests (Depends-on): New test.
77538         * tests/test-usleep.c: New file.
77540         chown: work around OpenBSD bug
77541         * lib/chown.c (rpl_chown): Work around the bug.
77542         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
77543         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
77544         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
77545         * modules/chown (Depends-on): Add stdbool.
77546         * modules/lchown (Depends-on): Likewise.
77547         * doc/posix-functions/chown.texi (chown): Document the bug.
77548         * doc/posix-functions/lchown.texi (lchown): Likewise.
77549         * tests/test-lchown.h (test_chown): Relax test.
77551         mkstemp: avoid conflict with C++ keyword template
77552         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
77553         * lib/mkostemp.c (mkostemp): Likewise.
77554         * lib/mkostemps.c (mkostemps): Likewise.
77555         * lib/mkstemp.c (mkstemp): Likewise.
77556         * lib/mkstemps.c (mkstemps): Likewise.
77558         xalloc-die-tests: optimize
77559         * tests/test-xalloc-die.sh: Reduce number of processes.
77561 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77563         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
77564         patch from ludo@gnu.org (Ludovic Courtès).
77566 2009-11-17  Jim Meyering  <meyering@redhat.com>
77568         version-etc: use proper license string
77569         * modules/version-etc (License): Use LGPL, not LGPLv3+.
77570         * modules/version-etc-fsf: Likewise.
77572 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77574         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
77575         printed to stdout.  Deal with EOL differences.
77577 2009-11-17  Eric Blake  <ebb9@byu.net>
77579         unsetenv: work around Solaris bug
77580         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
77581         * lib/unsetenv.c (rpl_unsetenv): Work around it.
77582         Reported by Jim Meyering.
77584         vasnprintf: avoid compiler warnings
77585         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
77586         variables.
77587         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
77589 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77591         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
77592         settings since xalloc-die is no longer the self test,
77593         xalloc-die.sh is.
77595 2009-11-17  Jim Meyering  <meyering@redhat.com>
77597         test-xalloc-die.sh: make the code agree with the commit log
77598         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
77599         at the end, just in case you happen to have a test-xalloc-die
77600         program in some other PATH directory.
77602         test-xalloc-die.sh: fix a portability bug
77603         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
77604         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
77605         Otherwise, argv[0] (as often seen in diagnostics) would be too
77606         system-dependent, sometimes with, and sometimes without the leading "./".
77608         version-etc-fsf: relax license to LGPLv3+
77609         * modules/version-etc-fsf (License): Relax license.
77611 2009-11-16  Eric Blake  <ebb9@byu.net>
77613         xalloc-die-tests: avoid printing null pointer
77614         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
77615         shell script.
77616         * tests/test-xalloc-die.c (program_name): Declare.
77617         * tests/test-xalloc-die.sh (tmpfiles): New file.
77619         setenv, unsetenv: work around various bugs
77620         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
77621         (setenv) [HAVE_SETENV]: Work around bugs.
77622         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
77623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
77624         for bugs.
77625         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
77626         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
77627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
77628         * modules/stdlib (Makefile.am): Update substitutions.
77629         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
77630         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
77631         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77632         * modules/setenv-tests: New test.
77633         * modules/unsetenv-tests: Likewise.
77634         * tests/test-setenv.c: New file.
77635         * tests/test-unsetenv.c: Likewise.
77637 2009-11-16  Jim Meyering  <meyering@redhat.com>
77639         version-etc: relax license to LGPLv3+
77640         * modules/version-etc (License): Relax license.
77642         better AC_REQUIRE expanded-before-required-warning avoidance
77643         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
77644         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
77645         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
77646         which is no longer needed.
77648 2009-11-16  Eric Blake  <ebb9@byu.net>
77650         test-freading: clean up temporary file
77651         * tests/test-freading.c (main): Remove file on success, and use
77652         ASSERT more liberally.
77653         Reported by Jim Meyering.
77655 2009-11-16  Jim Meyering  <meyering@redhat.com>
77657         avoid new AC_REQUIRE expanded-before-required warnings
77658         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
77659         merely using it.
77660         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
77661         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
77663 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77665         * tests/test-xalloc-die.c: New file.
77666         * modules/xalloc-die-tests: New file.
77667         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
77668         XFAIL_TESTS so it can be appended by modules.
77670 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77672         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
77673         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
77675 2009-11-14  Eric Blake  <ebb9@byu.net>
77677         fnmatch: avoid compiler warning
77678         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
77679         to silence compiler warning about mismatch signedness in ?:.
77680         Reported by Robert Millan.
77682         intprops: add double-inclusion guard
77683         * lib/intprops.h: Allow idempotent includes.
77684         Suggested by Bruce Korb.
77686         openat: detect Solaris fchownat bug
77687         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
77688         penalizing glibc chownat when only lchownat is broken.
77689         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
77690         trailing slash bugs.
77691         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
77692         * modules/openat-tests (Files): Include more files.
77693         (Depends-on): Add mgetgroups, sleep, stat-time.
77694         (configure.ac): Add additional checks.
77695         (Makefile.am): Build new test.
77696         * tests/test-fchownat.c: New file.
77698         lchown: detect Solaris and FreeBSD bug
77699         * lib/lchown.c (rpl_lchown): Work around bug.
77700         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
77701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77702         * modules/unistd (Makefile.am): Populate it.
77703         * lib/unistd.in.h (lchown): Update declaration.
77704         * doc/posix-functions/lchown.texi (lchown): Document the bug.
77705         * modules/lchown-tests: New file.
77706         * tests/test-lchown.h (test_lchown): Likewise.
77707         * tests/test-lchown.c (main): Likewise.
77709         chown: detect Solaris and FreeBSD bug
77710         * lib/chown.c (rpl_chown): Work around bug.
77711         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
77712         (gl_PREREQ_CHOWN): Delete.
77713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77714         * modules/unistd (Makefile.am): Populate it.
77715         * lib/unistd.in.h (chown): Update declaration.
77716         * lib/lchown.c (chown): Update client.
77717         * modules/lchown (Depends-on): Add lstat.
77718         * doc/posix-functions/chown.texi (chown): Document the bug.
77719         * doc/posix-functions/getgroups.texi (getgroups): Document
77720         getgroups pitfall.
77721         * modules/chown-tests: New file.
77722         * tests/test-chown.h (test_chown): Likewise.
77723         * tests/test-chown.c (main): Likewise.
77725 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
77727         gnulib-tool: correctly detect absence of m4 directories
77728         * gnulib-tool: Avoid extra newline on data passed to wc -l.
77730 2009-11-14  Jim Meyering  <meyering@redhat.com>
77732         maint.mk: Prohibit inclusion of "xalloc.h" without use.
77733         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77735 2009-11-14  John W. Eaton  <jwe@gnu.org>
77737         strftime.h: wrap function declaration in extern "C" block
77738         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
77740 2009-11-13  Eric Blake  <ebb9@byu.net>
77742         getgroups: avoid compiler warning
77743         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
77745         getgroups: work around FreeBSD bug
77746         * lib/getgroups.c (rpl_getgroups): Work around the bug.
77747         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
77748         * doc/posix-functions/getgroups.texi (getgroups): Document it.
77749         * tests/test-getgroups.c (main): Fix buffer overrun.
77751         getgroups: avoid compilation failure
77752         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
77753         * modules/getgroups (Depends-on): Add stdint.
77755 2009-11-13  Jim Meyering  <meyering@redhat.com>
77757         test-getgroups: avoid compilation failure
77758         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
77760 2009-11-13  Eric Blake  <ebb9@byu.net>
77762         mgetgroups: new module, taken from coreutils
77763         * modules/mgetgroups: New file.
77764         * lib/mgetgroups.h: Likewise.
77765         * lib/mgetgroups.c (mgetgroups): Likewise.
77766         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
77767         * MODULES.html.sh (Users and groups): Mention it.
77769         getgroups: don't expose GETGROUPS_T to user
77770         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
77771         an element at a time if GETGROUPS_T is wrong size.
77772         * lib/getugroups.h (getugroups): Change signature.
77773         * lib/unistd.in.h (getgroups): Likewise.
77774         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
77775         signature needs fixing.
77776         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
77777         AC_TYPE_GETGROUPS.
77778         * modules/group-member (Depends-on): Add getgroups.
77779         * lib/group-member.c (group_info, get_group_info): Use gid_t.
77780         (group_member): Rely on getgroups replacement.
77781         * lib/getugroups.c (getugroups): Use gid_t.
77782         * tests/test-getgroups.c (main): Likewise.
77783         * NEWS: Mention the signature change.
77784         * doc/posix-functions/getgroups.texi (getgroups): Mention the
77785         problem with signature.
77786         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
77787         GETGROUPS_T is still useful for setgroups.
77789         getgroups, getugroups: provide stubs for mingw
77790         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
77791         * lib/getugroups.c (getugroups): Likewise.
77792         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
77793         function.  Modernize replacement scheme.
77794         (gl_PREREQ_GETGROUPS): Delete.
77795         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
77796         * modules/getgroups (configure.ac): Declare witness.
77797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77798         * modules/unistd (Depends-on): Substitute witness.
77799         * lib/unistd.in.h (getgroups): Declare replacement.
77801         getgroups: avoid calling exit
77802         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
77803         drop xalloc.
77804         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
77805         dependencies.
77806         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
77807         exiting, in the rare case of malloc failure.
77809         getgroups: fix logic error
77810         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
77811         has more than 20 groups.
77812         * modules/getgroups-tests: New test.
77813         * tests/test-getgroups.c: New file.
77815 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77817         * tests/test-base64.c: Improve.
77819 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77821         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
77822         Blake <ebb9@byu.net>.
77824 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77826         * tests/test-xvasprintf.c: Add %s%s related checks.
77828 2009-11-12  Eric Blake  <ebb9@byu.net>
77830         version-etc: match standards.texi style
77831         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
77832         and use <> only for URLs.
77834 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
77836         fts: do not fail on a submount during traversal
77837         * lib/fts.c (fts_build): Read the stat info again after opening
77838         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
77839         Original report at http://bugzilla.redhat.com/501848.
77841 2009-11-12  Jim Meyering  <meyering@redhat.com>
77843         bootstrap: sync from coreutils
77844         * build-aux/bootstrap (bootstrap_epilogue): New function.
77845         Use git_modules_config in one more place.  This make bootstrap's
77846         --gnulib-srcdir option more useful for testing.
77848         bootstrap: generalize autoheader check
77849         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
77850         AC_CONFIG_HEADERS.
77852 2009-11-11  Eric Blake  <ebb9@byu.net>
77854         mkfifoat: use new modules for Solaris and BSD bugs
77855         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
77856         * lib/mkfifoat.c (mknodat): Split...
77857         * lib/mknodat.c (mknodat): ...into new file.
77858         * modules/mkfifoat (Files): Ship new file.
77859         (Depends-on): Add mkfifo, mknod.
77860         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
77861         (Depends-on): Add symlink.
77862         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
77863         redundant with test_mkfifo.h.
77864         (do_mkfifoat, do_mknodat): New helpers.
77866         mknod: new module
77867         * modules/mknod: New file.
77868         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
77869         * lib/mknod.c (mknod): Likewise.
77870         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77871         defaults.
77872         * modules/sys_stat (Makefile.am): Substitute them.
77873         * lib/sys_stat.in.h (mknod): Declare replacement.
77874         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77875         Document it.
77876         * doc/posix-functions/mknod.texi (mknod): Likewise.
77877         * modules/mknod-tests: New test.
77878         * tests/test-mknod.c: Likewise.
77880         mkfifo: new module
77881         * modules/mkfifo: New file.
77882         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
77883         * lib/mkfifo.c (mkfifo): Likewise.
77884         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77885         defaults.
77886         * modules/sys_stat (Makefile.am): Substitute them.
77887         * lib/sys_stat.in.h (mkfifo): Declare replacement.
77888         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77889         Document it.
77890         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
77891         * modules/mkfifo-tests: New test.
77892         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
77893         from test-mkfifoat.c.
77894         * tests/test-mkfifo.c: New file.
77896         readlink: detect FreeBSD bug
77897         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
77898         slash on symlink.
77899         * doc/posix-functions/readlink.texi (readlink): Document the bug.
77900         * tests/test-readlink.h (test_readlink): Enhance test.
77902         symlink: detect FreeBSD bug
77903         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
77904         slash on symlink.
77905         * doc/posix-functions/symlink.texi (symlink): Document the bug.
77906         * tests/test-symlink.h (test_symlink): Enhance test.
77908 2009-11-10  Eric Blake  <ebb9@byu.net>
77910         link: detect FreeBSD bug
77911         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
77912         symlink.
77913         * doc/posix-functions/link.texi (link): Document the bug.
77914         * tests/test-link.h (test_link): Enhance test.
77915         * tests/test-linkat.c (main): Update caller.
77917         unlink, remove: detect FreeBSD bug
77918         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
77919         slash on symlink.
77920         * doc/posix-functions/unlink.texi (unlink): Document the bug.
77921         * doc/posix-functions/remove.texi (remove): Likewise.
77922         * tests/test-unlink.h (test_unlink): Enhance test.
77923         * tests/test-remove.c (main): Likewise.
77925 2009-11-09  Eric Blake  <ebb9@byu.net>
77927         rename: detect FreeBSD bug
77928         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
77929         slash on symlink.
77930         * modules/renameat-tests (Depends-on): Add filenamecat.
77931         * tests/test-rename.h (test_rename): Allow one more errno.
77932         * tests/test-renameat.c (main): Likewise.
77933         * doc/posix-functions/rename.texi (rename): Document the bug.
77935         open: detect FreeBSD bug
77936         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
77937         symlink.
77938         * doc/posix-functions/open.texi (open): Document the bug.
77939         * doc/posix-functions/utimes.texi (utimes): Likewise.
77940         * tests/test-open.h (test_open): Add parameters, and test symlink
77941         handling.
77942         * tests/test-open.c (main): Adjust caller.
77943         * tests/test-fcntl-safer.c (main): Likewise.
77944         * modules/open-tests (Depends-on): Add stdbool, symlink.
77945         * modules/fcntl-safer-tests (Depends-on): Likewise.
77946         * tests/test-openat.c (main): Add test-open tests.
77948         stat: detect FreeBSD bug
77949         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
77950         symlink.
77951         * doc/posix-functions/stat.texi (stat): Document the bug.
77952         * tests/test-stat.h (test_stat_func): Add argument.
77953         * tests/test-stat.c (main): Adjust caller.
77954         * tests/test-fstatat.c (main): Likewise.
77955         * modules/stat-tests (Depends-on): Add stdbool, symlink.
77956         Reported by Jim Meyering.
77958 2009-11-09  James Youngman  <jay@gnu.org>
77960         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
77961         * lib/strftime.c: Correct placement of #include "ignore-value.h".
77963 2009-11-08  Jim Meyering  <meyering@redhat.com>
77965         utimens: remove invalid futimesat call
77966         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
77967         It used the file descriptor of the target file as the DIR_FD
77968         parameter and NULL as the file name.  That caused failure with
77969         errno == EFAULT on FreeBSD-8.0-rc2
77971 2009-11-07  Eric Blake  <ebb9@byu.net>
77973         fflush, freadseek: use fseeko, not fseek
77974         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
77975         (clear_ungetc_buffer): Avoid potential problems on large files.
77976         * lib/freadseek.c (freadseek): Likewise.
77977         * modules/freadseek (Depends-on): Add fseeko.
77978         * modules/fseek (configure.ac): Set a witness.
77979         * tests/test-fflush.c (main): Use fseeko.
77980         * tests/test-fpurge.c (fseek): Disable link warning.
77981         * tests/test-freadable.c (fseek): Likewise.
77982         * tests/test-freading.c (fseek): Likewise.
77983         * tests/test-fseeko.c (fseek): Likewise.
77984         * tests/test-ftell.c (fseek): Likewise.
77985         * tests/test-ftello.c (fseek): Likewise.
77986         * tests/test-fwritable.c (fseek): Likewise.
77987         * tests/test-fwriting.c (fseek): Likewise.
77989 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77991         * modules/memchr (Depends-on): Drop getpagesize dependency.
77993 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77995         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
77996         Reported by Ludovic Courtès.
77997         * build-aux/pmccabe2html: Improve example usage.
77998         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
78000 2009-11-06  Jim Meyering  <meyering@redhat.com>
78002         do-release-commit-and-tag: New module.
78003         Automate the release-commit and tag process.
78004         * build-aux/do-release-commit-and-tag: New script, from coreutils.
78005         * modules/do-release-commit-and-tag: New file.
78006         * MODULES.html.sh (Support for maintaining and releasing): Add it.
78008 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78010         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
78011         because test-select.c uses inet_pton.
78013 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78015         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
78016         GETADDRINFO_LIB.  Bump serial number.
78017         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
78018         Suggested by Eric Blake <ebb9@byu.net>.
78020 2009-11-05  Eric Blake  <ebb9@byu.net>
78022         strtod: detect darwin bug
78023         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
78024         Reported by Leo Davis.
78026         freopen-safer: new module
78027         * modules/freopen-safer: New module.
78028         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
78029         * lib/freopen-safer.c (freopen_safer): New file.
78030         * lib/stdio-safer.h (freopen_safer): New declaration.
78031         * lib/stdio--.h (freopen): New override.
78032         * MODULES.html.sh (File stream based Input/Output): Mention it.
78033         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
78034         freopen-safer module.
78035         * doc/posix-functions/stderr.texi (stderr): Likewise.
78036         * doc/posix-functions/stdin.texi (stdin): Likewise.
78037         * doc/posix-functions/stdout.texi (stdout): Likewise.
78038         * modules/freopen-safer-tests: New test.
78039         * tests/test-reopen-safer.c: New file.
78041 2009-11-05  Jim Meyering  <meyering@redhat.com>
78043         maint.mk: Prohibit inclusion of "close-stream.h" without use.
78044         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78046 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78048         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
78050 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78052         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
78054 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78056         Fix link error.
78057         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78058         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78060 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78062         * tests/test-func.c: Also test value of __func__.
78064 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78066         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
78067         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
78069 2009-11-05  Bruno Haible  <bruno@clisp.org>
78071         Fix link error.
78072         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78073         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78074         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
78076 2009-11-05  Bruno Haible  <bruno@clisp.org>
78078         Tests for module 'inet_pton'.
78079         * modules/inet_pton-tests: New file.
78080         * tests/test-inet_pton.c: New file.
78082 2009-11-05  Bruno Haible  <bruno@clisp.org>
78084         Tests for module 'inet_ntop'.
78085         * modules/inet_ntop-tests: New file.
78086         * tests/test-inet_ntop.c: New file.
78088 2009-11-04  Eric Blake  <ebb9@byu.net>
78090         stdlib-safer: wrap all mkstemp variants
78091         * modules/mkostemp (configure.ac): Set witness.
78092         * modules/mkostemps (configure.ac): Likewise.
78093         * modules/mkstemps (configure.ac): Likewise.
78094         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
78095         (mkstemps_safer): Wrap more functions.
78096         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
78097         wrapping.
78098         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
78099         (mkstemps_safer): Implement the wrappers.
78101         mkstemps, mkostemps: new modules
78102         * modules/mkostemps: New module.
78103         * modules/mkstemps: Likewise.
78104         * lib/mkostemps.c (mkostemps): New file.
78105         * lib/mkstemps.c (mkstemps): Likewise.
78106         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
78107         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
78108         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
78109         * modules/stdlib (Makefile.am): Substitute them.
78110         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
78111         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
78112         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
78113         * doc/gnulib.texi (Glibc stdlib.h): Include them.
78114         * MODULES.html.sh (File system functions): Mention them.
78116         tempname: resync from glibc
78117         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
78118         same values for __GT_FILE as glibc.  Abort even when assertions
78119         are disabled.
78120         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
78121         match its value otherwise.  Allow idempotent inclusion.
78122         * lib/mkdtemp.c (mkdtemp): Adjust caller.
78123         * lib/mkostemp.c (mkostemp): Likewise.
78124         * lib/mkstemp.c (mkstemp): Likewise.
78125         * lib/tmpfile.c (tmpfile): Likewise.
78126         * NEWS: Document this.
78128         utimens: fix use of futimens on older Linux
78129         * lib/utimens.c (fdutimens): Use updated, rather than original,
78130         timespec to avoid bug in older Linux kernel.
78131         Reported by Simon Josefsson.
78133 2009-11-04  Bruno Haible  <bruno@clisp.org>
78135         Make num_processors more flexible and consistent.
78136         * lib/nproc.h (enum nproc_query): New type.
78137         (num_processors): Add a 'query' argument.
78138         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
78139         (num_processors): Add a 'query' argument. Test the value of the
78140         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
78141         mingw, count the number of CPUs available for the current process.
78142         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
78143         Check for sched_getaffinity and sched_getaffinity_np.
78144         * modules/nproc (Depends-on): Add c-ctype, extensions.
78145         * NEWS: Mention the change.
78147 2009-11-03  Bruno Haible  <bruno@clisp.org>
78149         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
78151 2009-11-03  Jim Meyering  <meyering@redhat.com>
78153         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
78154         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
78155         if it is defined.
78157 2009-11-02  Eric Blake  <ebb9@byu.net>
78159         mktime, timegm: share common declaration
78160         * lib/mktime-internal.h: New file.
78161         * lib/mktime.c: Use it rather than open-coding a declaration.
78162         * lib/timegm.c: Likewise.
78163         * modules/mktime (Files): Ship it.
78164         * modules/timegm (Files): Likewise.
78165         Suggested by Bruno Haible.
78167         test-update-copyright: update test to match script changes
78168         * tests/test-update-copyright.sh: Avoid hard-coding perl
78169         location.  Don't update *.bak created by earlier runs.
78171 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78172             Simon Josefsson  <simon@josefsson.org>
78173             Bruno Haible  <bruno@clisp.org>
78175         Fix link error on Solaris 8.
78176         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
78177         also in libnsl. Define also INET_PTON_LIB.
78178         * modules/inet_pton (Link): New section.
78180 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78181             Bruno Haible  <bruno@clisp.org>
78183         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
78184         * modules/inet_ntop (Link): New section.
78185         Reported by Boyan Kasarov <bkasarov@gmail.com>.
78187 2009-11-02  Eric Blake  <ebb9@byu.net>
78189         maint: avoid compiler warnings in m4 macros
78190         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
78191         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
78193 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78195         * m4/pmccabe2html.m4: Remove file.
78196         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
78197         function.  Change maintainer.
78198         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
78199         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
78200         Courtès).
78202 2009-10-31  Eric Blake  <ebb9@byu.net>
78204         fseeko: fix m4 regression
78205         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
78206         regression from 2009-10-27.
78207         Reported by Ralf Wildenhues.
78209 2009-10-31  Jim Meyering  <meyering@redhat.com>
78211         inttostr: aesthetics and improved (compile-time) safety
78212         Define inttype_is_signed rather than inttype_is_unsigned,
78213         since the sole use is via "#if inttype_is_signed".
78214         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
78215         inttype_is_unsigned.
78216         * lib/offtostr.c (inttype_is_signed): Likewise.
78217         * lib/uinttostr.c (inttype_is_signed): Likewise.
78218         * lib/umaxtostr.c (inttype_is_signed): Likewise.
78219         * lib/inttostr.c (inttostr): Use verify to cross-check the
78220         inttype_is_signed value and the signedness of the actual type.
78221         * modules/inttostr (Depends-on): Add verify.
78223 2009-10-30  Eric Blake  <ebb9@byu.net>
78225         build: avoid compiler warnings
78226         * lib/fchmodat.c (lchmod): Mark unused variables.
78227         * lib/getopt.c (_getopt_initialize): Likewise.
78228         * lib/mktime.c (__mktime_internal): Provide prototype.
78229         * lib/inttostr.c (inttostr): Avoid compiler warning even with
78230         older gcc that do not understand #pragma GCC diagnostic.
78231         * lib/uinttostr.c (inttype_is_unsigned): Define.
78232         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
78234 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
78236         stat: fix compilation on AIX
78237         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
78238         only see struct stat64.
78240 2009-10-30  Eric Blake  <ebb9@byu.net>
78242         exclude: make more robust
78243         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
78244         rather than masking a coding bug.
78245         Suggested by Bruno Haible.
78247 2009-10-30  Jim Meyering  <meyering@redhat.com>
78249         perl scripts: remove #!/usr/bin/perl in favor of more portable...
78250         Rather than putting #!/usr/bin/perl on the first line,
78251         start with a variant of what's recommended by "man perlrun" that
78252         invokes the first "perl" program from your shell's search path.
78253         * build-aux/gitlog-to-changelog: Replace #!... as above.
78254         Add a "Local Variables" perl mode setting.
78255         Prompted by a patch from Ludovic Courtès.
78256         Improved by Eric Blake.
78257         * build-aux/useless-if-before-free: Likewise.
78258         * build-aux/announce-gen: Likewise.
78259         * build-aux/update-copyright: Likewise.
78261 2009-10-29  Eric Blake  <ebb9@byu.net>
78263         filenamecat-lgpl: adjust clients
78264         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
78265         filenamecat.
78266         * modules/renameat (Depends-on): Likewise.
78268         filenamecat: split into filenamecat-lgpl
78269         * modules/filenamecat-lgpl: New module.
78270         * modules/filenamecat (Files): Move library-safe files into
78271         filenamecat-lgpl.
78272         (Depends-on): Add filenamecat-lgpl.
78273         (configure.ac): Declare witness.
78274         * lib/filenamecat.h (file_name_concat): Only declare when using
78275         GPL module.
78276         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
78277         Move...
78278         * lib/filenamecat-lgpl.c: ...into new file.
78279         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
78280         (gl_FILE_NAME_CONCAT): Use it.
78281         * MODULES.html.sh (File system functions): Mention new module.
78283         argp: avoid memory leak
78284         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
78285         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
78286         base_name, since the latter malloc()s and can call exit().
78287         Leak introduced 2006-07-03.
78289         dirname-lgpl: adjust clients that don't need full dirname
78290         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
78291         * modules/filenamecat (Depends-on): Likewise.
78292         * modules/linkat (Depends-on): Likewise.
78293         * modules/mkancesdirs (Depends-on): Likewise.
78294         * modules/mkdir (Depends-on): Likewise.
78295         * modules/openat (Depends-on): Likewise.
78296         * modules/savewd (Depends-on): Likewise.
78297         * modules/rename (Depends-on): Likewise.
78298         (License): Relax license.
78299         * modules/mkdir-tests (Depends-on): Drop progname.
78300         (Makefile.am): Delete unneeded LDADD.
78301         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
78303         dirname: split into dirname-lgpl
78304         * modules/dirname-lgpl: New module.
78305         * modules/dirname (Files): Move library-safe files into
78306         dirname-lgpl.
78307         (Depends-on): Add dirname-lgpl.
78308         (configure.ac): Declare witness.
78309         * modules/double-slash-root (License): Relax license.
78310         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
78311         module.
78312         * lib/dirname.c (dir_len, mdir_name): Move...
78313         * lib/dirname-lgpl.c: ...into new file.
78314         * lib/basename.c (last_component, base_len): Move...
78315         * lib/basename-lgpl.c: ...into new file.
78316         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
78317         (gl_DIRNAME): Use it.
78318         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
78319         Mention new module.
78320         * modules/dirname-tests (Depends-on): Add progname.
78321         * tests/test-dirname.c (program_name): Delete.
78323         mkdir: make safe for libraries
78324         * modules/mkdir (Depends-on): Drop xalloc.
78325         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
78326         exit.
78328         tests: avoid some compiler warnings
78329         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
78330         literals.
78331         * tests/test-memchr.c (main): Avoid type mismatch.
78332         * tests/test-arpa_inet.c (main): Avoid unused parameters.
78333         * tests/test-base64.c (main): Likewise.
78334         * tests/test-getdelim.c (main): Likewise.
78335         * tests/test-gethostname.c (main): Likewise.
78336         * tests/test-getline.c (main): Likewise.
78337         * tests/test-netinet_in.c (main): Likewise.
78338         * tests/test-select.c (open_server_socket, main): Likewise.
78339         * tests/test-select-stdin.c (main): Likewise.
78340         * tests/test-sockets.c (main): Likewise.
78341         * tests/test-strsignal.c (main): Likewise.
78342         * tests/test-sys_select.c (main): Likewise.
78343         * tests/test-sys_socket.c (main): Likewise.
78344         * tests/test-u64.c (main): Likewise.
78345         * tests/test-xfprintf-posix.c (main): Likewise.
78346         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
78348         sockets: avoid compiler warning
78349         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
78351         maint: detect usage(1) and other suspicious exits
78352         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
78354 2009-10-29  Jim Meyering  <meyering@redhat.com>
78356         timespec: long-to-int truncation could make timespec_cmp malfunction
78357         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
78358         a multiple of 2^32 nanoseconds as no difference.
78360 2009-10-28  Jim Meyering  <meyering@redhat.com>
78362         fprintftime: wrap macro code argument in "do {...} while(0)"
78363         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
78364         cpy macro must be a statement that can be followed by a semicolon.
78365         Now that the else clause contains a comment and is hence longer
78366         than one line, I require curly braces.  That in turn requires
78367         that we wrap this code block in the standard do...while(0).
78369         fprintftime: remove stray semicolon from previous change
78370         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
78372         fprintftime: avoid a warning about ignored fwrite return value
78373         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
78374         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
78375         that is unsafe.
78376         * modules/fprintftime (Depends-on): Add ignore-value.
78378         exclude: avoid an unwarranted warning
78379         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
78381 2009-10-27  Eric Blake  <ebb9@byu.net>
78383         fseek: avoid compilation failure when fflush is replaced
78384         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
78385         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
78386         module is in use.
78387         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
78388         module is not in use; since REPLACE_FSEEK worked otherwise.
78389         (GNULIB_FTELLO): Likewise for ftell.
78390         Reported by Ian Beckwith and others.
78392 2009-10-27  Bruno Haible  <bruno@clisp.org>
78394         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
78395         Reported by Jim Meyering.
78397 2009-10-27  Jim Meyering  <jim@meyering.net>
78398             Bruno Haible  <bruno@clisp.org>
78400         Avoid warning despite dropping the return value of fwrite.
78401         * lib/unicodeio.c: Include ignore-value.h.
78402         (fwrite_success_callback): Explicitly ignore fwrite's return value.
78403         * modules/unicodeio (Depends-on): Add ignore-value.
78405 2009-10-26  Eric Blake  <ebb9@byu.net>
78407         areadlinkat: fix fallback path
78408         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
78409         pointer and zero.
78411 2009-10-22  Pádraig Brady  <P@draigBrady.com>
78413         Use a better IO block size for modern systems
78414         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
78415         * lib/md2.c: Likewise.
78416         * lib/md4.c: Likewise.
78417         * lib/md5.c: Likewise.
78418         * lib/sha1.c: Likewise.
78419         * lib/sha256.c: Likewise.
78420         * lib/sha512.c: Likewise.
78422 2009-10-22  Eric Blake  <ebb9@byu.net>
78424         tests: avoid several compiler warnings
78425         * tests/test-getcwd.c (main): Avoid buffer underflow.
78426         * tests/test-getdate.c (main): String literals are not safe with
78427         putenv, so use setenv.  Declare unused argument.
78428         * modules/getdate-tests (Depends-on): Add setenv.
78429         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
78430         problems with string literals in char *.
78431         * tests/test-hash.c (main): Avoid shadowing declaration.
78432         (insert_new): Treat string literals as char const *.
78433         * tests/test-getopt.h (test_getopt): Likewise.
78434         (getopt_loop): Alter types to minimize casting elsewhere.
78435         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
78436         (test_getopt_long_posix): Likewise.
78437         (do_getopt_long): Add wrapper to minimize casting.
78438         * tests/test-atexit.c (clear_temp_file): Use void.
78439         * tests/test-areadlink-with-size.c (main): Declare unused
78440         arguments.
78441         * tests/test-areadlink.c (main): Likewise.
78442         * tests/test-areadlinkat-with-size.c (main): Likewise.
78443         * tests/test-areadlinkat.c (main): Likewise.
78444         * tests/test-canonicalize-lgpl.c (main): Likewise.
78445         * tests/test-canonicalize.c (main): Likewise.
78446         * tests/test-dirent-safer.c (main): Likewise.
78447         * tests/test-dirname.c (main): Likewise.
78448         * tests/test-dup2.c (main): Likewise.
78449         * tests/test-fchdir.c (main): Likewise.
78450         * tests/test-fcntl-h.c (main): Likewise.
78451         * tests/test-fcntl-safer.c (main): Likewise.
78452         * tests/test-fdopendir.c (main): Likewise.
78453         * tests/test-fdutimensat.c (main): Likewise.
78454         * tests/test-fflush.c (main): Likewise.
78455         * tests/test-filenamecat.c (main): Likewise.
78456         * tests/test-filevercmp.c (main): Likewise.
78457         * tests/test-fopen-safer.c (main): Likewise.
78458         * tests/test-fopen.c (main): Likewise.
78459         * tests/test-fpending.c (main): Likewise.
78460         * tests/test-fpurge.c (main): Likewise.
78461         * tests/test-freading.c (main): Likewise.
78462         * tests/test-fstatat.c (main): Likewise.
78463         * tests/test-fsync.c (main): Likewise.
78464         * tests/test-futimens.c (main): Likewise.
78465         * tests/test-getndelim2.c (main): Likewise.
78466         * tests/test-gettimeofday.c (main): Likewise.
78467         * tests/test-getopt.c (main): Likewise.
78468         * tests/test-i-ring.c (main): Likewise.
78469         * tests/test-inttypes.c (main): Likewise.
78470         * tests/test-link.c (main): Likewise.
78471         * tests/test-lstat.c (main): Likewise.
78472         * tests/test-math.c (main): Likewise.
78473         * tests/test-md5.c (main): Likewise.
78474         * tests/test-memchr2.c (main): Likewise.
78475         * tests/test-memrchr.c (main): Likewise.
78476         * tests/test-mkdir.c (main): Likewise.
78477         * tests/test-mkdirat.c (main): Likewise.
78478         * tests/test-mkfifoat.c (main): Likewise.
78479         * tests/test-open.c (main): Likewise.
78480         * tests/test-openat-safer.c (main): Likewise.
78481         * tests/test-openat.c (main): Likewise.
78482         * tests/test-quotearg.c (main): Likewise.
78483         * tests/test-rawmemchr.c (main): Likewise.
78484         * tests/test-readlink.c (main): Likewise.
78485         * tests/test-remove.c (main): Likewise.
78486         * tests/test-rename.c (main): Likewise.
78487         * tests/test-renameat.c (main): Likewise.
78488         * tests/test-rmdir.c (main): Likewise.
78489         * tests/test-sha1.c (main): Likewise.
78490         * tests/test-signal.c (main): Likewise.
78491         * tests/test-sigaction.c (main): Likewise.
78492         * tests/test-stat.c (main): Likewise.
78493         * tests/test-stat-time.c (main): Likewise.
78494         * tests/test-stddef.c (main): Likewise.
78495         * tests/test-stdint.c (main): Likewise.
78496         * tests/test-stdio.c (main): Likewise.
78497         * tests/test-stdlib.c (main): Likewise.
78498         * tests/test-strchrnul.c (main): Likewise.
78499         * tests/test-strerror.c (main): Likewise.
78500         * tests/test-string.c (main): Likewise.
78501         * tests/test-strtod.c (main): Likewise.
78502         * tests/test-strverscmp.c (main): Likewise.
78503         * tests/test-symlink.c (main): Likewise.
78504         * tests/test-symlinkat.c (main): Likewise.
78505         * tests/test-sys_stat.c (main): Likewise.
78506         * tests/test-sys_time.c (main): Likewise.
78507         * tests/test-time.c (main): Likewise.
78508         * tests/test-unistd.c (main): Likewise.
78509         * tests/test-unlink.c (main): Likewise.
78510         * tests/test-unlinkat.c (main): Likewise.
78511         * tests/test-utimens.c (main): Likewise.
78512         * tests/test-utimensat.c (main): Likewise.
78513         * tests/test-version-etc.c (main): Likewise.
78514         * tests/test-wchar.c (main): Likewise.
78515         * tests/test-wctype.c (main): Likewise.
78516         * tests/test-xprintf-posix.c (main): Likewise.
78517         * tests/test-posixtm.c (main): Likewise.
78518         (STREQ): Delete unused macro.
78519         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
78520         shadowed variables.
78521         * tests/test-memchr.c (main): Likewise.
78523 2009-10-21  Eric Blake  <ebb9@byu.net>
78525         areadlinkat: avoid failure on older glibc
78526         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
78527         rather than mis-comparing 0 against FUNC_RESULT of char*.
78529 2009-10-21  Bruno Haible  <bruno@clisp.org>
78531         * modules/stpncpy (License): Relicense under LGPLv2+.
78532         Reported by David Lutterkort <lutter@redhat.com>.
78534 2009-10-20  Eric Blake  <ebb9@byu.net>
78536         utimensat: work around Solaris 9 bug
78537         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
78538         has trailing slash bugs.
78539         * tests/test-lutimens.h (test_lutimens): Enhance test.
78540         * tests/test-utimens.h (test_utimens): Likewise.
78541         * doc/posix-functions/utime.texi (utime): Enhance documentation.
78542         * doc/posix-functions/utimes.texi (utimes): Likewise.
78543         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78544         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
78545         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
78546         * doc/posix-functions/futimens.texi (futimens): Likewise.
78548         fdutimensat: new module
78549         * modules/fdutimensat: New file.
78550         * lib/fdutimensat.c (fdutimensat): Likewise.
78551         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
78552         * MODULES.html.sh (File system functions): Mention module.
78553         * modules/fdutimensat-tests: New test.
78554         * tests/test-fdutimensat.c: Likewise.
78556         doc: regenerate INSTALL
78557         * doc/INSTALL: Reflect recent autoconf update.
78558         * doc/INSTALL.ISO: Likewise.
78559         * doc/INSTALL.UTF-8: Likewise.
78561 2009-10-20  Pádraig Brady  <P@draigBrady.com>
78563         acl: warn if ACL support is not detected
78564         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
78566 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
78568         * lib/nproc.h: Add extern "C" block for C++.
78570 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
78571             Bruno Haible  <bruno@clisp.org>
78573         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
78574         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
78575         * doc/posix-functions/isalpha.texi: Likewise.
78576         * doc/posix-functions/isblank.texi: Likewise.
78577         * doc/posix-functions/iscntrl.texi: Likewise.
78578         * doc/posix-functions/isdigit.texi: Likewise.
78579         * doc/posix-functions/isgraph.texi: Likewise.
78580         * doc/posix-functions/islower.texi: Likewise.
78581         * doc/posix-functions/isprint.texi: Likewise.
78582         * doc/posix-functions/ispunct.texi: Likewise.
78583         * doc/posix-functions/isspace.texi: Likewise.
78584         * doc/posix-functions/isupper.texi: Likewise.
78585         * doc/posix-functions/isxdigit.texi: Likewise.
78587 2009-10-18  Bruno Haible  <bruno@clisp.org>
78589         Tests for module 'isblank'.
78590         * modules/isblank-tests: New file.
78591         * tests/test-isblank.c: New file.
78593         New module 'isblank'.
78594         * lib/isblank.c: New file.
78595         * m4/isblank.m4: New file.
78596         * modules/isblank: New file.
78597         * doc/posix-functions/isblank.texi: Mention the new module.
78599 2009-10-18  Bruno Haible  <bruno@clisp.org>
78601         New module 'ctype'.
78602         * lib/ctype.in.h: New file.
78603         * m4/ctype.m4: New file.
78604         * modules/ctype: New file.
78605         * doc/posix-headers/ctype.texi: Mention the new module.
78607 2009-10-18  Jim Meyering  <meyering@redhat.com>
78609         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
78610         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
78611         right after its initialization, rather than farther down.
78612         Keeping these in close proximity makes it easier to ensure
78613         that each such variable is initialized.  E.g.,
78615             LIB_CLOCK_GETTIME=
78616             AC_SUBST([LIB_CLOCK_GETTIME])
78618         This change also increments these serial numbers.
78619         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
78620         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78623 2009-10-18  Bruno Haible  <bruno@clisp.org>
78625         Don't let environment variables perturb build.
78626         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
78627         (gl_PREREQ_GETHRXTIME): ... not here.
78629 2009-10-18  Bruno Haible  <bruno@clisp.org>
78631         Avoid symlink attack in localcharset module.
78632         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
78633         (O_NOFOLLOW): Define fallback.
78634         (get_charset_aliases): Don't open the file if it is a symbolic link.
78635         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
78636         gl_FCNTL_H.
78637         (gl_FCNTL_H): Require it.
78638         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
78639         * modules/localcharset (Files): Add m4/fcntl_h.m4.
78640         Reported by Fergal Glynn <fglynn@veracode.com>.
78642 2009-10-18  Bruno Haible  <bruno@clisp.org>
78644         Implement nproc for mingw.
78645         * lib/nproc.c: Include <windows.h>
78646         (num_processors): On native Windows platforms, try GetSystemInfo.
78648 2009-10-18  Bruno Haible  <bruno@clisp.org>
78650         Implement nproc for IRIX.
78651         * lib/nproc.c: Include <sys/sysmp.h>.
78652         (num_processors): On IRIX systems, try sysmp.
78653         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
78655 2009-10-18  Bruno Haible  <bruno@clisp.org>
78657         Implement nproc for HP-UX.
78658         * lib/nproc.c: Include <sys/pstat.h>
78659         (num_processors): On HP-UX systems, try pstat_getdynamic.
78660         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
78661         pstat_getdynamic.
78663 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
78664             Bruno Haible  <bruno@clisp.org>
78666         Implement nproc for NetBSD, OpenBSD.
78667         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
78668         (ARRAY_SIZE): New macro.
78669         (num_processors): On BSD systems, try sysctl of HW_NCPU.
78670         * m4/nproc.m4: New file.
78671         * modules/nproc (Files): Add m4/nproc.m4.
78672         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
78673         (Makefile.am): Instead, augment lib_SOURCES.
78675 2009-10-18  Bruno Haible  <bruno@clisp.org>
78677         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
78678         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
78679         sys/param.h.
78681 2009-10-16  Eric Blake  <ebb9@byu.net>
78683         utimensat: new module
78684         * modules/utimensat: New file.
78685         * lib/utimensat.c (utimensat): Likewise.
78686         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
78687         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
78688         so we can work around Linux bugs.
78689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78690         * modules/sys_stat (Makefile.am): Substitute them.
78691         * lib/sys_stat.in.h (utimensat): Declare it.
78692         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78693         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78694         * modules/utimensat-tests: New test.
78695         * tests/test-utimensat.c: Likewise.
78697         utimens: let lutimens work on non-symlinks
78698         * lib/utimens.c (lutimens): Fall back to utimens rather than
78699         failing with ENOSYS, when file is not a symlink.
78700         (utimens): Reduce redirection.
78701         * tests/test-lutimens.h (test_lutimens): Update test to cover
78702         non-symlinks.
78703         * tests/test-utimens.h (test_utimens): Update test to cover
78704         symlinks.
78705         * tests/test-utimens.c (main): Update caller.
78707         utimens: cache whether utimensat syscall works
78708         * lib/utimens.c (utimensat_works_really): New cache variable.
78709         (fdutimens, lutimens): Use it to avoid failing syscall.
78711         test-stat-time, test-utimens: improve portability
78712         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
78713         ext4 on alpha, and for cygwin.
78714         * tests/test-utimens-common.h: New file.
78715         (nap): Factor delays into single function.
78716         * tests/test-lutimens.h (test_lutimens): Use new header.
78717         * tests/test-futimens.h (test_futimens): Likewise.
78718         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
78719         timestamps to occur from same machine, as was done previously for
78720         test_utimens.
78721         * modules/utimens-tests (Files): Ship new file.
78722         * modules/futimens-tests (Files): Likewise.
78723         Reported in part by Jim Meyering.
78725         sys_stat: sort replacement declarations
78726         * lib/sys_stat.in.h: Sort declarations.
78727         * lib/futimens.c (futimens): Fix typo.
78729 2009-10-15  Jim Meyering  <meyering@redhat.com>
78731         don't let environment settings perturb build
78732         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
78733         could cause a configure-time and/or build-time malfunction.
78734         Typically, a configure-time function-in-library test is performed
78735         via code like this:
78737           LIB_VAR=
78738           AC_SUBST([LIB_VAR])
78739           prefix_saved_LIBS=$LIBS
78740             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
78741                        [test "$ac_cv_search_FUNC" = "none required" ||
78742                         LIB_VAR=$ac_cv_search_FUNC])
78743           LIBS=$prefix_saved_LIBS
78745         However, in each of the files affected by this change, the LIB_VAR=
78746         initialization was omitted.  Thus, when set in the environment, its
78747         value would propagate into generated Makefiles when FUNC is not found
78748         in LIB_NAME.
78749         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
78750         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78751         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78753 2009-10-14  Eric Blake  <ebb9@byu.net>
78755         fchdir: avoid infinite recursion in mingw
78756         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
78757         recursing.
78759         test-stat-time: port to mingw
78760         * tests/test-stat-time.c (force_unlink): Return a value.
78761         (test_ctime) [W32]: Fix compilation error.
78762         (nap): Don't call usleep with too large an argument.  Use
78763         force_unlink.
78764         * doc/pastposix-functions/usleep.texi (usleep): Document the
78765         portability issue.
78767 2009-10-13  Jim Meyering  <meyering@redhat.com>
78769         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
78770         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
78771         * modules/pipe-filter-ii: Likewise.
78772         * modules/sys_socket-tests: Likewise.
78773         * modules/tsearch-tests: Likewise.
78774         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
78775         (check): Depend on it.
78777 2009-10-12  Eric Blake  <ebb9@byu.net>
78779         utimens-tests: port to NFS file systems
78780         * tests/test-utimens.h (test_utimens): Refactor utimecmp
78781         comparisons to avoid spurious failures from timestamp drift
78782         between NFS machines.
78784 2009-10-12  Eric Blake  <ebb9@byu.net>
78786         stat-time-tests: minor cleanups
78787         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
78788         * tests/test-stat-time.c (nap): Separate assignment from call.
78789         Suggested by Paolo Bonzini and Bruno Haible.
78791         sys_stat: guarantee struct timespec
78792         * lib/sys_stat.in.h (includes): Always include <time.h>
78793         * modules/sys_stat (Depends-on): Add time.
78794         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
78795         mode_t permission values.
78796         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
78797         get at subsecond timestamps.
78799 2009-10-10  Eric Blake  <ebb9@byu.net>
78801         futimens: new module
78802         * modules/futimens: New file.
78803         * lib/futimens.c (futimens): Likewise.
78804         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
78805         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
78806         we can work around Linux bugs.
78807         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78808         * modules/sys_stat (Makefile.am): Substitute them.
78809         * lib/sys_stat.in.h (futimens): Declare it.
78810         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78811         * doc/posix-functions/futimens.texi (futimens): Likewise.
78812         * modules/futimens-tests: New test.
78813         * tests/test-futimens.c: Likewise.
78815         utimens: introduce fdutimens
78816         * lib/utimens.h (fdutimens): New prototype.
78817         * lib/utimens.c (gl_futimens): Move guts...
78818         (fdutimens): ...to new interface.
78819         * tests/test-utimens.c (do_fdutimens): Use it.
78821         utimens: add UTIME_NOW and UTIME_OMIT support
78822         * lib/utimens.c (validate_timespec, update_timespec): New helper
78823         functions.
78824         (gl_futimens, lutimens): Use them.
78825         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
78826         stdbool, sys_stat.
78827         (Link): Mention resulting library dependency.
78828         * modules/utimecmp (Link): Likewise.
78829         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
78830         (Makefile.am): Pick up library dependency.
78831         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
78832         definition.
78833         * tests/test-sys_stat.c: Test the definitions.
78834         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
78835         * NEWS: Document library dependency.
78837         utimecmp: support symlink timestamps
78838         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
78839         hashing when possible.  Use pathconf when available.
78840         (SYSCALL_RESOLUTION): Recognize tighter resolution.
78841         * modules/utimecmp (Depends-on): Add lstat.
78843         utimens: add lutimens interface
78844         * lib/utimens.c (lutimens): New function.
78845         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
78846         * lib/utimens.h (lutimens): Declare new interface.
78847         * tests/test-utimens.c (main): Enhance test.
78848         * tests/test-lutimens.h (test_lutimens): New file.
78849         * modules/utimens-tests (Files): Distribute it.
78850         (Depends-on): Add symlink.
78851         (configure.ac): Check for usleep.
78853         utimens: validate futimens usage
78854         * lib/utimens.c (gl_futimens): Require valid fd up front, using
78855         fewer syscalls on failure later on.  Avoid compiler warning on
78856         mingw.
78857         * modules/utimens (Depends-on): Add dup2.
78859         utimens: add test
78860         * modules/utimens-tests: New test.
78861         * tests/test-utimens.h: New file.
78862         * tests/test-futimens.h: Likewise.
78863         * tests/test-utimens.c: Likewise.
78865         doc: mention timestamp portability issues
78866         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
78867         instead.
78868         * doc/posix-functions/utime.texi (utime): Likewise.
78869         * doc/posix-functions/utimes.texi (utimes): Likewise.
78870         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
78871         instead.
78872         * doc/posix-functions/futimens.texi (futimens): Mention utimens
78873         module.
78874         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78875         Mention weakness with symlink timestamps.
78876         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
78877         to utimensat/futimens instead.
78878         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
78880         test-dup2: enhance test
78881         * tests/test-dup2.c (main): Also check AT_FDCWD.
78883         test-stat-time: avoid more spurious failures
78884         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
78885         xfs; and avoid race if the two timestamps cross quantization edge.
78887         relocatable: prefer 'file system' over 'filesystem'
78888         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
78889         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
78890         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
78891         * doc/relocatable.texi (Enabling Relocatability): Likewise.
78892         * lib/relocatable.c (compute_curr_prefix): Likewise.
78894 2009-10-10  Jim Meyering  <meyering@redhat.com>
78896         stat-time-tests: check for the usleep function
78897         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
78899 2009-10-10  Bruno Haible  <bruno@clisp.org>
78901         * modules/xnanosleep: Put the Link section after the Include section.
78903 2009-10-09  Eric Blake  <ebb9@byu.net>
78905         dup2: work around FreeBSD 6.1 bug
78906         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
78907         * doc/posix-functions/dup2.texi (dup2): Document it.
78908         Reported by Nelson H. F. Beebe and Jim Meyering.
78910         test-stat-time: port to buggy NFS clients
78911         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
78912         (test_ctime): Also skip test if mtime and ctime are skewed.
78914         maint: prefer 'file system' over 'filesystem'
78915         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
78916         * doc/posix-functions/lstat.texi (lstat): Likewise.
78917         * lib/file-has-acl.c (file_has_acl): Likewise.
78918         * lib/fwriteerror.c [TEST]: Likewise.
78919         * tests/test-areadlink.h (test_areadlink): Likewise.
78920         * tests/test-areadlinkat-with-size.c (main): Likewise.
78921         * tests/test-areadlinkat.c (main): Likewise.
78922         * tests/test-canonicalize-lgpl.c (main): Likewise.
78923         * tests/test-canonicalize.c (main): Likewise.
78924         * tests/test-fstatat.c (main): Likewise.
78925         * tests/test-linkat.c (main): Likewise.
78926         * tests/test-lstat.h (test_lstat_func): Likewise.
78927         * tests/test-mkdir.h (test_mkdir): Likewise.
78928         * tests/test-readlink.h (test_readlink): Likewise.
78929         * tests/test-remove.c (main): Likewise.
78930         * tests/test-rename.h (test_rename): Likewise.
78931         * tests/test-renameat.c (main): Likewise.
78932         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78933         * tests/test-symlink.h (test_symlink): Likewise.
78934         * tests/test-symlinkat.c (main): Likewise.
78935         * tests/test-unlink.h (test_unlink_func): Likewise.
78936         * tests/test-unlinkat.c (main): Likewise.
78938         maint: make realtime library usage explicit
78939         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
78940         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
78941         * modules/settime (Link): Likewise.
78942         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
78944         test-stat-time: speed up execution
78945         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
78946         warning on mingw.
78947         (nap): New helper function.
78948         (prepare_test): Use it to reduce sleep time.
78949         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
78950         execution.
78951         * modules/stat-time-tests (configure.ac): Check for usleep.
78953 2009-10-09  Jim Meyering  <meyering@redhat.com>
78955         selinux-h: always use getfilecon wrappers
78956         * lib/getfilecon.c: New file.
78957         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
78958         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
78959         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
78960         (fgetfilecon): Provide a stub.
78961         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
78962         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
78963         file unconditionally.
78964         When <selinux/selinux.h> is found, arrange to use wrappers.
78965         * modules/selinux-h (Files): Add getfilecon.c.
78966         (Makefile.am): Substitute include-next-related bits
78967         into the now-always-generated selinux/selinux.h file.
78968         * doc/glibc-functions/lgetfilecon.texi: New file.
78969         * doc/glibc-functions/fgetfilecon.texi: New file.
78970         * doc/glibc-functions/getfilecon.texi: New file.
78971         * doc/glibc-functions/getfilecon-desc.texi: New file.
78972         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
78973         which to pull in the new files.
78974         * MODULES.html.sh (Misc): Add selinux-h.
78976 2009-10-08  Jim Meyering  <meyering@redhat.com>
78978         unistd: fix comment typo
78979         * lib/unistd.in.h (euidaccess): Fix a comment typo.
78981 2009-10-08  Eric Blake  <ebb9@byu.net>
78983         areadlink: use SIZE_MAX consistently
78984         * modules/areadlink (Depends-on): Add stdint.
78985         * modules/areadlink-with-size (Depends-on): Likewise.
78986         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
78987         gives NULL; drop sys/types, since unistd gives size_t; and add
78988         stdint for SIZE_MAX.
78989         (SIZE_MAX): Rely on headers.
78990         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
78991         and add stdint.
78992         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
78993         (SIZE_MAX): Likewise.
78994         (INITIAL_BUF_SIZE): Turn into enum.
78995         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
78997 2009-10-08  Jim Meyering  <meyering@redhat.com>
78999         areadlinkat: avoid compilation failure
79000         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
79001         Fix typo in comment.
79003 2009-10-07  Eric Blake  <ebb9@byu.net>
79005         areadlinkat-with-size: new module
79006         * modules/areadlinkat-with-size: New module.
79007         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
79008         * lib/areadlink.h (areadlinkat): Declare it.
79009         * MODULES.html.sh (File system functions): Mention it.
79010         * modules/areadlinkat-with-size-tests: New test.
79011         * tests/test-areadlinkat-with-size.c: New file.
79013         xreadlinkat: new module
79014         * modules/xreadlinkat: New module.
79015         * lib/xreadlinkat.c (xreadlinkat): New file.
79016         * lib/xreadlink.h (xreadlinkat): Declare it.
79017         * MODULES.html.sh (File system functions): Mention it.
79019         areadlinkat: new module
79020         * lib/at-func.c (FUNC_FAIL): New define.
79021         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
79022         * modules/areadlinkat: New module.
79023         * lib/linkat.c (areadlinkat): Move...
79024         * lib/areadlinkat.c (areadlinkat): ...to new file.
79025         * lib/areadlink.h (areadlinkat): Declare it.
79026         * modules/linkat (Depends-on): Add areadlinkat.
79027         * MODULES.html.sh (File system functions): Mention it.
79028         * modules/areadlinkat-tests: New test.
79029         * tests/test-areadlinkat.c: New file.
79031         areadlink, areadlink-with-size: add tests
79032         * modules/areadlink-tests: New test.
79033         * modules/areadlink-with-size-tests: Likewise.
79034         * tests/test-areadlink.h: New file.
79035         * tests/test-areadlink.c: Likewise.
79036         * tests/test-areadlink-with-size.c: Likewise.
79038         maint: minor cleanups
79039         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
79040         _UNUSED_PARAMETER_ instead.
79041         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
79042         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
79043         * modules/linkat-tests (Files): Distribute test-link.h.
79045         openat, utimens: whitespace cleanup
79046         * lib/openat.c: Prefer space throughout, rather than mix of 8
79047         spaces vs. tabs.
79048         * lib/at-func.c: Likewise.
79049         * lib/utimens.c: Likewise.
79051         openat: avoid using wrong fd
79052         * lib/openat.c (openat_permissive): Reject user's fd if saving the
79053         working directory chooses same fd.
79054         * lib/at-func.c (AT_FUNC_NAME): Likewise.
79056         mkdir, mkdirat: fix cygwin 1.5.x bug
79057         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
79058         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
79059         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
79060         bug.
79061         (gl_PREREQ_MKDIR): Delete unused macro.
79062         * modules/mkdir (Files): Track file rename.
79063         (configure.ac): Update macro name.
79064         * modules/openat (Depends-on): Add mkdir.
79065         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
79067         mkdir, mkdirat: add tests
79068         * modules/mkdir-tests: New test.
79069         * tests/test-mkdir.h: New file.
79070         * tests/test-mkdir.c: Likewise.
79071         * tests/test-mkdirat.c: Likewise.
79072         * modules/openat-tests (Files): Add new files.
79073         (Makefile.am): Run new test.
79075 2009-10-06  Eric Blake  <ebb9@byu.net>
79077         doc: tweak *at function documentation
79078         * doc/posix-functions/faccessat.texi (faccessat): Mention
79079         known issue with replacement.
79080         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
79081         * doc/posix-functions/linkat.texi (linkat): Likewise.
79082         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79083         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79084         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79085         * doc/posix-functions/renameat.texi (renameat): Likewise.
79086         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79088         openat: fix GNU/Hurd bug in unlinkat
79089         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
79090         broken.
79091         * doc/posix-functions/unlink.texi (unlink): Document this.
79092         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
79094         fdopendir: fix GNU/Hurd bug
79095         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
79096         allowing non-directory fds.
79097         * lib/fdopendir.c (rpl_fdopendir): Work around it.
79098         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
79099         * modules/dirent (Makefile.am): Substitute it.
79100         * lib/dirent.in.h (fdopendir): Declare replacement.
79101         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
79102         * tests/test-fdopendir.c (main): Test something other than
79103         /dev/null, since on Hurd that behaves like a directory.
79105         test-symlink: port to GNU/Hurd
79106         * tests/test-symlink.h (test_symlink): Relax expected errno.
79108         doc: tweak more cygwin information
79109         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
79110         now compatible with glibc.
79111         * doc/posix-functions/getopt.texi (getopt): Likewise.
79113         getopt-gnu: add another test
79114         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
79115         guarantee behavior relied on by m4.
79116         * tests/test-getopt.c (main): Use it.
79117         * modules/getopt-posix-tests (Depends-on): Add setenv.
79118         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
79120         getopt: fix compilation on darwin
79121         * lib/getopt.in.h (includes): Leave breadcrumbs during system
79122         include.
79123         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
79124         Reported by Ludovic Courtès.
79126 2009-10-06  Bruno Haible  <bruno@clisp.org>
79128         * modules/size_max (Description): Discourage its use.
79129         Reported by Simon Josefsson.
79131 2009-10-06  Jim Meyering  <meyering@redhat.com>
79133         linkat: avoid compilation failure
79134         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
79136 2009-10-05  Eric Blake  <ebb9@byu.net>
79138         linkat: support Linux 2.6.17
79139         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
79140         linkat on Linux, but allow cache variable override.
79141         * lib/linkat.c (rpl_linkat): Define override.
79142         * modules/linkat (Depends-on): Add symlinkat.
79143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
79144         * modules/unistd (Makefile.am): Substitute it.
79145         * lib/unistd.in.h (linkat): Declare replacement.
79146         Reported by Pádraig Brady.
79148         quotearg: port test to systems with C.UTF-8 locale
79149         * tests/test-quotearg.c (struct result_strings): Add another
79150         member, differentiating between C.ASCII and C.UTF-8 handling.
79151         (compare_strings): Add parameter.
79152         (main): Adjust all callers.
79154         getopt: avoid clash with FreeBSD _getopt_internal
79155         * lib/getopt.in.h (_getopt_internal): Override the name.
79156         * lib/getopt_int.h (includes): Pick up any overrides.
79157         Reported by Reuben Thomas.
79159         hash: allow C89 compilation
79160         * lib/hash.c (check_tuning): Move declaration before statement.
79161         Reported by Reuben Thomas.
79163 2009-10-05  Karl Berry  <karl@gnu.org>
79165         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
79167 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
79168             Bruno Haible  <bruno@clisp.org>
79170         * lib/uname.c (uname): Use a table-driven algorithm to compute
79171         Windows NT versions.
79173 2009-10-04  Bruno Haible  <bruno@clisp.org>
79175         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
79176         program_invocation_short_name.
79177         * modules/progname (configure.ac): Test for presence of
79178         program_invocation_short_name.
79179         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
79181 2009-10-04  Bruno Haible  <bruno@clisp.org>
79183         * lib/progname.c (set_program_name): Fix comment.
79184         Reported by Jim Meyering.
79186 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79187             Bruno Haible  <bruno@clisp.org>
79189         * lib/uname.c: Include <string.h>.
79190         (uname): Do only one call to GetVersionEx in the common case.
79192 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79193             Bruno Haible  <bruno@clisp.org>
79195         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
79196         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
79197         (uname): Add support for Windows CE and various non-x86 CPU types.
79199 2009-10-03  Bruno Haible  <bruno@clisp.org>
79201         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
79202         invocation to tests/configure.ac.
79203         Reported by Ian Beckwith <ianb@erislabs.net>.
79205 2009-10-02  Eric Blake  <ebb9@byu.net>
79207         fchdir: avoid compiler warning
79208         * lib/fchdir.c (canonicalize_file_name)
79209         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
79211         test-open: support mingw errno values
79212         * tests/test-open.h (test_open): Relax test.
79213         * tests/test-fopen.h (test_fopen): Likewise.
79214         * tests/test-openat-safer.c (main): Likewise.
79216         open: fix opening directory on mingw
79217         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
79219         test-open: on GNU/Hurd, /dev/null is a directory
79220         * tests/test-fopen.h (main): Rename...
79221         (test_fopen): ...to this.  Use a guaranteed non-directory when
79222         confirming open behavior on trailing slash.
79223         * tests/test-openat-safer.c (main): Likewise.
79224         * tests/test-open.h (main): Likewise....
79225         (test_open): ...to this.
79226         * tests/test-fopen.c (main): Adjust caller.
79227         * tests/test-fopen-safer.c (main): Likewise.
79228         * tests/test-open.c (main): Likewise.
79229         * tests/test-fcntl-safer.c (main): Likewise.
79230         Reported by Samuel Thibault.
79232         rename, fchdir: don't ignore chdir failure
79233         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
79234         * lib/rename.c (rpl_rename) [W32]: Likewise.
79235         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
79236         an empty destination directory if source cannot be renamed,
79237         although there is still possibility for failure.
79238         * doc/posix-functions/rename.texi (rename): Document the race.
79239         Reported by Jim Meyering.
79241         maint: cleanup whitespace in recent commits
79242         * lib/rename.c (rpl_rename): Remove tabs.
79243         * tests/test-link.h (test_link): Likewise.
79244         * lib/fchdir.c (get_name): Likewise.
79245         Reported by Jim Meyering.
79247 2009-10-02  Ben Pfaff  <blp@gnu.org>
79249         relocatable-prog-wrapper: Add missing dependency on
79250         double-slash-root.
79251         * modules/relocatable-prog-wrapper: Add dependency.
79252         Reported by Ian Beckwith <ianb@erislabs.net>.
79254 2009-10-02  Eric Blake  <ebb9@byu.net>
79256         renameat: fix Solaris bugs
79257         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
79258         needed fixing.
79259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
79260         * modules/stdio (Makefile.am): Substitute it.
79261         * lib/stdio.in.h (renameat): Declare replacement.
79262         * lib/renameat.c (rpl_renameat): Implement fix.
79264         renameat: new module
79265         * modules/renameat: New file.
79266         * lib/renameat.c (renameat): Likewise.
79267         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
79268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79269         * modules/stdio (Makefile.am): Substitute them.
79270         * lib/stdio.in.h (renameat): Declare it.
79271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79272         * doc/posix-functions/renameat.texi (renameat): Likewise.
79273         * modules/renameat-tests: New test.
79274         * tests/test-renameat.c: Likewise.
79276         rename: fix mingw bugs
79277         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
79278         directory overwrite bugs.
79280         rename: fix another cygwin 1.5 bug
79281         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
79282         checks.
79283         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
79284         unnecessary cygwin workarounds.  Also work around bug with moving
79285         full directory onto an empty one.
79286         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
79288         rename-dest-slash: merge into rename module
79289         * modules/rename-dest-slash (Status): Mark obsolete.
79290         (Depends-on): Add rename.
79291         (Files): Let rename do it all.
79292         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
79293         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
79294         * m4/rename-dest-slash.m4: ...so this file can be deleted.
79295         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
79296         * lib/rename.c (rpl_rename): Update comments.
79298         rename: fix cygwin 1.5.x bugs
79299         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
79300         * lib/rename.c (rpl_rename): Work around them.
79301         * modules/rename (Depends-on): Add same-inode.
79303         rename: fix Solaris 10 bug
79304         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79305         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
79306         was the only bug.
79308         rename: fix Solaris 9 bug
79309         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
79310         on non-directory.  Avoid calling exit.
79311         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
79312         strdup.
79313         * modules/rename-tests (Depends-on): Drop lstat.
79314         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79315         (gl_PREREQ_RENAME): Delete unused macro.
79317         rename-dest-slash: fix NetBSD bug
79318         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
79319         links.
79320         * modules/rename-dest-slash (Depends-on): Add same-inode.
79322         rename-tests: new test, exposes several platform bugs
79323         * modules/rename-tests: New file.
79324         * tests/test-rename.h: Likewise.
79325         * tests/test-rename.c: Likewise.
79326         * doc/posix-functions/rename.texi (rename): Improve documentation,
79327         including bugs that will eventually be fixed in gnulib.
79329 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
79331         * lib/uname.c: Include <stdlib.h>
79332         (uname): Assume version info is available.
79334 2009-10-02  Jim Meyering  <meyering@redhat.com>
79336         gnu-web-doc-update: correct --help output
79337         * build-aux/gnu-web-doc-update: Make --help output relevant.
79339         gnu-web-doc-update: add standard options
79340         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
79342         gnu-web-doc-update: New module.
79343         Use this script to automatically update the on-line web documentation
79344         for your GNU project at http://www.gnu.org/software/$pkg/manual/
79345         * modules/gnu-web-doc-update: New file, from coreutils.
79346         * build-aux/gnu-web-doc-update: New script.
79348 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
79350         link: LoadLibrary is not needed.
79351         * lib/link.c: Use GetModuleHandle.
79353 2009-10-01  Eric Blake  <ebb9@byu.net>
79355         getopt: bump serial number
79356         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
79357         change.
79359         tests: tighten link, rmdir, and remove tests
79360         * tests/test-link.h (includes): No need to use <config.h> here.
79361         Clean up if directory hard link was created, otherwise test for
79362         trailing '.'.
79363         * tests/test-linkat.c (main): Simplify.
79364         * tests/test-remove.c (main): Enhance test for trailing '.'.
79365         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79367 2009-10-01  Jim Meyering  <meyering@redhat.com>
79369         maint.mk: requiring "make major" was annoying, for a "minor" release.
79370         What is intended is "stable", to contrast with alpha and beta,
79371         so require "make stable", not "make major".
79372         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
79373         (get_tool_versions): Likewise.
79374         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
79376 2009-09-30  Ben Pfaff  <blp@gnu.org>
79378         Fix broken build of replacement for Windows tmpfile().
79379         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
79380         flags argument added along with the 'mkostemp' module.
79382 2009-09-28  Bruno Haible  <bruno@clisp.org>
79384         Avoid identifier clash with POSIX function 'remove' defined as a macro.
79385         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
79386         to 'remove_elt'.
79387         (gl_list_remove): Update.
79388         * lib/gl_list.c (gl_list_remove): Update.
79389         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
79390         to 'remove_elt'.
79391         (gl_oset_remove): Update.
79392         * lib/gl_list.c (gl_oset_remove): Update.
79393         Reported by Eric Blake.
79395 2009-09-28  Eric Blake  <ebb9@byu.net>
79397         doc: mention yet more cygwin 1.7 status
79398         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
79399         cygwin.
79400         * doc/glibc-functions/execvpe.texi (execvpe): New file.
79401         * doc/gnulib.texi (Glibc unistd.h): Mention it.
79403         argp: fix test failure
79404         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
79405         that are not upper-case.  Pass correct range to tolower.
79407 2009-09-27  Jim Meyering  <meyering@redhat.com>
79409         test-yesno: work around sparc-dash here-document infelicity
79410         Without this change, the literal \177 byte in a here document
79411         would make dash 0.5.5.1-3 access uninitialized memory.
79412         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
79413         Instead, use a marker, "@", and filter through tr to create the desired
79414         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
79416 2009-09-27  Bruno Haible  <bruno@clisp.org>
79418         Disable untested support for new flavours of ACLs on AIX.
79419         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
79420         progress.
79421         * lib/set-mode-acl.c (qset_acl): Likewise.
79423 2008-12-07  Bruno Haible  <bruno@clisp.org>
79425         Add support for new flavours of ACLs on AIX. (Untested.)
79426         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
79427         (file_has_acl): Add support for newer AIX.
79428         * lib/set-mode-acl.c (qset_acl): Likewise.
79429         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
79430         Rainer Tammer <tammer@tammer.net>.
79432 2009-09-26  Eric Blake  <ebb9@byu.net>
79434         argp: fix compilation of getopt
79435         * lib/getopt.in.h (includes): Use different guard than glibc.
79436         Reported by Sergey Poznyakoff.
79438         doc: mention more cygwin 1.7 status
79439         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
79440         bug.
79441         * doc/posix-functions/execl.texi (execl): Likewise.
79442         * doc/posix-functions/execle.texi (execle): Likewise.
79443         * doc/posix-functions/execlp.texi (execlp): Likewise.
79444         * doc/posix-functions/execv.texi (execv): Likewise.
79445         * doc/posix-functions/execve.texi (execve): Likewise.
79446         * doc/posix-functions/execvp.texi (execvp): Likewise.
79447         * doc/glibc-functions/canonicalize_file_name.texi
79448         (canonicalize_file_name): Cygwin 1.7 now provides this.
79449         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
79450         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
79451         on AT_SYMLINK_NOFOLLOW.
79453 2009-09-24  Eric Blake  <ebb9@byu.net>
79455         test-linkat: make test more robust
79456         * tests/test-linkat.c (main): Avoid collision with EEXIST.
79458         getopt: fix inclusion guards for cygwin
79459         * modules/getopt-posix (Depends-on): Add include-next.
79460         (Makefile.am): Substitute more items in replacement header.
79461         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
79462         <getopt.h>.
79463         * lib/getopt.in.h (includes): Use split inclusion guard, and
79464         prefer <getopt.h> over include <unistd.h> when one is present.
79465         (option): Also override name of 'struct option'.
79467         same-inode: revert prior change; it is not yet ready
79468         * NEWS: Undo mention of this change.
79469         * lib/same-inode.h (same-inode.h): Undo tri-state change.
79470         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79471         * lib/cycle-check.c (cycle_check): Likewise.
79472         * lib/same.c (same_name): Likewise.
79473         * lib/at-func2.c (at_func2): Likewise.
79475 2009-09-23  Eric Blake  <ebb9@byu.net>
79477         linkat: new module
79478         * modules/linkat: New file.
79479         * lib/at-func2.c (at_func2): Likewise.
79480         * lib/linkat.c (linkat): Likewise.
79481         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
79482         * lib/openat-priv.h (at_func2): Add declaration.
79483         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79484         * modules/unistd (Makefile.am): Substitute them.
79485         * lib/unistd.in.h (linkat): Declare it.
79486         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79487         * doc/posix-functions/linkat.texi (linkat): Likewise.
79488         * doc/posix-functions/link.texi (link): Tweak wording.
79489         * tests/test-link.c (main): Move guts...
79490         * tests/test-link.h (test_link): ...into new file.
79491         * modules/linkat-tests: New test.
79492         * tests/test-linkat.c: Likewise.
79493         * modules/link-tests (Files): Ship new file.
79494         (Depends-on): Add stdbool.
79496         dirname: add library-safe mdir_name
79497         * lib/dirname.h (mdir_name): New prototype.
79498         * lib/dirname.c (dir_name): Move guts...
79499         (mdir_name): ...to new function that avoids xalloc_die.
79501         fchdir: another mingw fix
79502         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
79503         * lib/fchdir.c (get_name): New helper method; skips canonicalize
79504         on mingw (where it has not yet been ported), and make it optional
79505         elsewhere.
79506         (_gl_register_fd): Use it.
79508         same-inode: make SAME_INODE tri-state, to port to mingw
79509         * NEWS: Mention this change.
79510         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
79511         st_ino always being 0.
79512         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79513         * lib/cycle-check.c (cycle_check): Likewise.
79514         * lib/same.c (same_name): Likewise.
79516         lstat: avoid mingw compilation error
79517         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
79518         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
79519         lstat ourselves.
79520         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
79521         was adequate.
79522         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
79523         the checks for lstat.
79524         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
79526         link: fix test failure on Solaris 9
79527         * lib/link.c (rpl_link): Don't assume link will catch bogus
79528         trailing slash on source.
79530         test-symlinkat: enhance test
79531         * tests/test-readlink.c (main): Move guts...
79532         * tests/test-readlink.h (test_readlink): ...into new file.
79533         * tests/test-symlink.c (main): Move guts...
79534         * tests/test-symlink.h (test_symlink): ...into new file.
79535         * tests/test-symlinkat.c (main): Use new files for further
79536         coverage.
79537         (do_symlink, do_readlink): New helper functions.
79538         * modules/symlink-tests (Files): Ship new file.
79539         (Depends-on): Add stdbool.
79540         * modules/readlink-tests (Files): Ship new file.
79541         (Depends-on): Add stdbool.
79542         * modules/symlinkat-tests (Files): Use new files.
79544 2009-09-23  Eric Blake  <ebb9@byu.net>
79546         readlink: document portability issue with symlink length
79547         * doc/posix-functions/lstat.texi (lstat): Mention that some file
79548         systems have bogus st_size on symlinks, and mention the
79549         areadlink-with-size module.
79550         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79551         * doc/posix-functions/readlink.texi (readlink): Mention the
79552         areadlink module, and ERANGE failure.
79553         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79554         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
79556         readlink: fix Solaris 9 bug with trailing slash
79557         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
79558         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
79559         * doc/posix-functions/readlink.texi (readlink): Document this.
79560         * modules/readlink-tests: New test.
79561         * tests/test-readlink.c: Likewise.
79563         readlink: fix cygwin 1.5.x bug with return type
79564         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
79565         * lib/unistd.in.h (readlink): Use ssize_t.
79566         * lib/readlink.c (readlink): Likewise.
79567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79568         * modules/unistd (Makefile.am): Substitute it.
79569         * lib/unistd.in.h (readlink): Declare replacement.
79570         * doc/posix-functions/readlink.texi (readlink): Document this.
79572         symlink: use throughout gnulib
79573         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
79574         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
79575         symlink is not used.
79576         * modules/symlinkat (Depends-on): Add symlink.
79577         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79578         * modules/canonicalize-tests (Depends-on): Likewise.
79579         * modules/lstat-tests (Depends-on): Likewise.
79580         * modules/openat-tests (Depends-on): Likewise.
79581         * modules/remove-tests (Depends-on): Likewise.
79582         * modules/rmdir-tests (Depends-on): Likewise.
79583         * modules/unlink-tests (Depends-on): Likewise.
79584         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
79585         * tests/test-canonicalize.c (symlink): Likewise.
79586         * tests/test-fstatat.c (symlink): Likewise.
79587         * tests/test-lstat.c (symlink): Likewise.
79588         * tests/test-remove.c (symlink): Likewise.
79589         * tests/test-rmdir.c (symlink): Likewise.
79590         * tests/test-unlink.c (symlink): Likewise.
79591         * tests/test-unlinkat.c (symlink): Likewise.
79593         symlink: new module, for Solaris 9 bug
79594         * modules/symlink: New file.
79595         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
79596         * lib/symlink.c: Likewise.
79597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
79598         * modules/unistd (Makefile.am): Substitute them.
79599         * lib/unistd.in.h (symlink): Declare replacement.
79600         * MODULES.html.sh (File system functions): Mention it.
79601         * doc/posix-functions/symlink.texi (symlink): Likewise.
79602         * modules/symlink-tests: New test.
79603         * tests/test-symlink.c: Likewise.
79605 2009-09-23  Bruno Haible  <bruno@clisp.org>
79607         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
79608         when needed.
79609         Test case: gnulib-tool --import --with-tests atexit inttypes.
79610         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
79612 2009-09-23  Bruno Haible  <bruno@clisp.org>
79614         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
79615         subcommand, not in a subshell.
79617 2009-09-22  Eric Blake  <ebb9@byu.net>
79619         unistd: sort replacement declarations
79620         * lib/unistd.in.h: Sort declarations.
79622         open, openat: minor optimization
79623         * lib/open.c (open): If open succeeded, len is non-zero.
79624         * lib/openat.c (rpl_openat): Likewise.
79626         link-follow: ensure correct result
79627         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
79628         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
79629         distinguish between possible failures.
79631 2009-09-21  Eric Blake  <ebb9@byu.net>
79633         fts: avoid compiler warning
79634         * lib/fts.c (dirent_inode_sort_may_be_useful)
79635         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
79637 2009-09-19  Bruno Haible  <bruno@clisp.org>
79639         * lib/progreloc.c (canonicalize_file_name): New declaration.
79641 2009-09-19  Eric Blake  <ebb9@byu.net>
79643         link: fix quoting
79644         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
79646         openat: fix openat bugs on Solaris 9
79647         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
79648         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
79649         * modules/openat (Depends-on): Add open.
79650         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
79651         * modules/fcntl-h (Makefile.am): Substitute it.
79652         * lib/fcntl.in.h (openat): Declare replacement.
79653         * doc/posix-functions/openat.texi (openat): Document this.
79655         openat: move fstatat and unlinkat into correct files
79656         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
79657         compiled.
79658         * lib/openat.c (fstatat, unlinkat): Move...
79659         * lib/fstatat.c (fstatat): ...into correct files.
79660         * lib/unlinkat.c (unlinkat): Likewise.
79662         openat: fix unlinkat bugs on Solaris 9
79663         * lib/unlinkat.c (unlinkat): New file.
79664         * modules/openat (Depends-on): Add unlink.
79665         (Files): Distribute it.
79666         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
79667         trailing slash behavior is broken.
79668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79669         * modules/unistd (Makefile.am): Substitute it.
79670         * lib/unistd.in.h (unlinkat): Declare replacement.
79671         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
79673         openat: fix fstatat bugs on Solaris 9
79674         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
79675         stat.
79676         * doc/posix-functions/fstatat.texi (fstatat): Document this.
79678         test-unlinkat: enhance test, to expose Solaris 9 bug
79679         * tests/test-unlink.c (main): Factor guts...
79680         * tests/test-unlink.h (test_rmdir_func): ...into new file.
79681         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
79682         * tests/test-rmdir.c (main): Adjust caller.
79683         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
79684         (unlinker): New helper function.
79685         (rmdirat): Enhance check.
79686         * modules/rmdir-tests (Depends-on): Add stdbool.
79687         * modules/unlink-tests (Depends-on): Likewise.
79688         (Files): Add test-unlink.h.
79689         * modules/openat-tests (Files): Likewise.
79690         (Depends-on): Add unlinkdir.
79692         test-fstatat: new test, to expose Solaris 9 bugs
79693         * tests/test-stat.c (main): Factor guts...
79694         * tests/test-stat.h (test_stat_func): ...into new file.
79695         * tests/test-lstat.c (main): Factor guts...
79696         * tests/test-lstat.h (test_lstat_func): ...into new file.
79697         * tests/test-fstatat.c: New file.
79698         * modules/stat-tests (Files): Add test-stat.h.
79699         * modules/lstat-tests (Files): Add test-lstat.h.
79700         (Depends-on): Add stdbool.
79701         * modules/openat-tests (Depends-on): Add pathmax.
79702         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
79703         (Makefile.am): Run new test.
79705         remove: new module, for mingw and Solaris 9 bugs
79706         * modules/remove: New file.
79707         * lib/remove.c: Likewise.
79708         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
79709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79710         * modules/stdio (Makefile.am): Use them.
79711         * lib/stdio.in.h (remove): Declare replacement.
79712         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79713         * doc/posix-functions/remove.texi (remove): Likewise.
79714         * modules/remove-tests: New test.
79715         * tests/test-remove.c: Likewise.
79717         unlink: new module, for Solaris 9 bug
79718         * modules/unlink: New file.
79719         * lib/unlink.c: Likewise.
79720         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
79721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79722         * modules/unistd (Makefile.am): Use them.
79723         * lib/unistd.in.h (stat): Declare replacement.
79724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79725         * doc/posix-functions/unlink.texi (unlink): Likewise.
79726         * modules/unlink-tests: New test.
79727         * tests/test-unlink.c: Likewise.
79729         lstat: fix Solaris 9 bug
79730         * lib/lstat.c (lstat): Also check for trailing slash on
79731         non-symlink, non-directories.  Use stat module to simplify logic.
79732         * doc/posix-functions/lstat.texi (lstat): Document it.
79733         * modules/lstat-tests (Depends-on): Add errno, same-inode.
79734         (configure.ac): Check for symlink.
79735         * tests/test-lstat.c (main): Add more tests.
79737         stat: add as dependency to other modules
79738         * modules/chown (Depends-on): Add stat.
79739         * modules/euidaccess (Depends-on): Likewise.
79740         * modules/fchdir (Depends-on): Likewise.
79741         * modules/isdir (Depends-on): Likewise.
79742         * modules/link (Depends-on): Likewise.
79743         * modules/lstat (Depends-on): Likewise.
79744         * modules/mkdir-p (Depends-on): Likewise.
79745         * modules/modechange (Depends-on): Likewise.
79746         * modules/open (Depends-on): Likewise.
79747         * modules/readlink (Depends-on): Likewise.
79748         * modules/same (Depends-on): Likewise.
79750         stat: fix Solaris 9 bug
79751         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
79752         slash.
79753         * lib/stat.c (rpl_stat): Work around it.
79754         * doc/posix-functions/stat.texi (stat): Update documentation.
79756         stat: new module, for mingw bug
79757         * modules/stat: New file.
79758         * lib/stat.c: Likewise.
79759         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
79760         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79761         * modules/sys_stat (Makefile.am): Use them.
79762         * lib/sys_stat.in.h (stat): Declare replacement.
79763         * lib/openat.c (fstatat): Deal with lstat and stat being function
79764         macros.
79765         * modules/openat (Depends-on): Add inline.
79766         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79767         * doc/posix-functions/stat.texi (stat): Likewise.
79768         * modules/stat-tests: New test.
79769         * tests/test-stat.c: Likewise.
79771 2009-09-19  Jim Meyering  <meyering@redhat.com>
79773         syntax-check: detect unnecessary inclusion of canonicalize.h
79774         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
79776 2009-09-19  Eric Blake  <ebb9@byu.net>
79778         canonicalize-lgpl: adjust clients to use correct header
79779         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79780         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
79781         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
79782         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
79783         * lib/progreloc.c (includes): Likewise.
79785 2009-09-19  Jim Meyering  <meyering@redhat.com>
79787         test-posixtm.c: correct a comment
79788         * tests/test-posixtm.c: Correct first-line comment.
79789         Spotted by Eric Blake.
79791 2009-09-16  Jim Meyering  <meyering@redhat.com>
79793         posixtm-tests: make T const-correct; add a test case
79794         * tests/test-posixtm.c (T): Declare const.
79795         Add a test for -(2^31+1).
79796         Remove useless can-succeed-only-in-2002 test.
79798         posixtm-tests: adjust the sole failing test
79799         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
79800         expected output matches what mktime now produces.  Cross-checked via
79801         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
79803         posixtm: move #ifdef'd tests into a new module
79804         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
79805         * tests/test-posixtm.c: ... this new file.
79806         * modules/posixtm-tests: New module.
79808 2009-09-19  Eric Blake  <ebb9@byu.net>
79810         openat: simplify use of at-func.c
79811         * lib/at-func.c (includes): Include prerequisites here, to
79812         simplify requirements on client files.
79813         * lib/openat-priv.h: Add double-inclusion guard.
79814         * lib/faccessat.c (includes): Simplify.
79815         * lib/fchmodat.c (includes): Likewise.
79816         * lib/fchownat.c (includes): Likewise.
79817         * lib/mkdirat.c (includes): Likewise.
79818         * lib/mkfifoat.c (includes): Likewise.
79819         * lib/symlinkat.c (includes): Likewise.
79821         openat: allow return of fd 0
79822         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
79823         * modules/save-cwd (Depends-on): Replace fcntl-safer with
79824         unistd-safer.
79825         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
79826         <fcntl.h>; this module does not leak fds.
79827         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
79828         must be allowed to return 0, leaving openat_safer to add the
79829         safety.
79830         (openat_permissive): Avoid writing to just-opened fd 2 if
79831         restoring the current directory fails.
79832         * lib/openat-die.c (openat_restore_fail): Add comment.
79833         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
79834         (save_cwd): Guarantee safe fd, but without use of open_safer.
79835         * tests/test-openat.c: New test.
79836         * modules/openat-tests (Files, Makefile.am): Distribute and build
79837         new file.
79839         relocatable-prog-wrapper: fix build
79840         * modules/relocatable-prog-wrapper (Files): Update name of
79841         canonicalize m4 file, broken on 2009-09-17.
79842         Reported by emad hajjar <aleppos@hotmail.com>.
79844 2009-09-19  Bruno Haible  <bruno@clisp.org>
79846         * lib/safe-alloc.h: Use the standard header with GPL copyright.
79847         * lib/safe-alloc.c: Likewise.
79848         Reported by Ian Beckwith <ianb@erislabs.net>.
79850 2009-09-18  Bruno Haible  <bruno@clisp.org>
79852         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
79853         Reported by <erobles@sensacd.com.mx>.
79855 2009-09-17  Eric Blake  <ebb9@byu.net>
79857         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
79858         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
79859         slashes when checking if last component is missing.
79860         * tests/test-canonicalize.c (main): Test this.
79862         canonicalize, canonicalize-lgpl: honor // if distinct from /
79863         * modules/canonicalize (Files): Add double-slash-root.m4.
79864         * modules/canonicalize-lgpl (Files): Likewise.
79865         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79866         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
79867         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
79868         fallback definition.
79869         (canonicalize_filename_mode): Use it to protect //.
79870         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
79871         (__realpath): Likewise.
79872         * tests/test-canonicalize.c (main): Test this.
79873         * tests/test-canonicalize-lgpl.c (main): Likewise.
79874         * modules/canonicalize-tests (Depends-on): Add same-inode.
79875         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79877         canonicalize-lgpl: fix glibc bug with trailing slash
79878         * m4/canonicalize-lgpl.m4: Move contents...
79879         * m4/canonicalize.m4: ...here.
79880         (gl_CANONICALIZE_LGPL): Factor realpath check...
79881         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
79882         glibc 2.3.5 bug, fixed 2005-04-27.
79883         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
79884         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
79885         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
79886         * modules/canonicalize-lgpl (Files): Manage file rename.
79887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79888         * modules/stdlib (Makefile.am): Substitute witness.
79889         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
79890         is needed.
79891         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
79892         replacement is required.
79893         * lib/canonicalize.c (canonicalize_file_name): Likewise.
79894         * doc/glibc-functions/canonicalize_file_name.texi
79895         (canonicalize_file_name): Document this.
79896         * doc/posix-functions/realpath.texi (realpath): Likewise.
79898         canonicalize-lgpl: reject non-directory with trailing slash
79899         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
79900         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
79901         catches failures in glibc 2.3.5.
79902         * tests/test-canonicalize.c (main): Likewise.
79904         canonicalize-lgpl: use native realpath if it works
79905         * lib/canonicalize-lgpl.c (realpath): Guard with
79906         FUNC_REALPATH_WORKS.
79907         * lib/stdlib.in.h (realpath): Make declaration optional based on
79908         HAVE_REALPATH.
79909         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
79910         native realpath works.
79911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79912         * modules/stdlib (Makefile.am): Substitute witness.
79914         canonicalize, canonicalize-lgpl: use <stdlib.h>
79915         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
79916         (Include): Mention <stdlib.h>.
79917         (configure.ac): Mention functions we provide.
79918         * modules/canonicalize (configure.ac): Likewise.
79919         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
79920         realpath if canonicalize_file_name is missing.
79921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
79922         * modules/stdlib (Makefile.am): Substitute witnesses.
79923         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
79924         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
79925         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
79926         * NEWS: Document this.
79927         * doc/glibc-functions/canonicalize_file_name.texi
79928         (canonicalize_file_name): Likewise.
79929         * doc/posix-functions/realpath.texi (realpath): Likewise.
79930         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
79932         test-canonicalize: consolidate into single C program
79933         * tests/test-canonicalize.sh: Delete; move setup into...
79934         * tests/test-canonicalize.c (main): ...the program, making it
79935         easier to run in debugger.  Add some tests.
79936         * modules/canonicalize-tests (Files): Remove unused file.
79937         (Depends-on): Add progname.
79938         (configure.ac, Makefile.am): Simplify.
79940         test-canonicalize-lgpl: consolidate into single C program
79941         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
79942         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
79943         easier to run in debugger.  Add some tests.
79944         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
79945         (configure.ac, Makefile.am): Simplify.
79947         canonicalize: avoid resolvepath
79948         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
79949         unnecessary checks.
79950         * lib/canonicalize.c (includes): Simplify.
79951         (canonicalize_file_name): Drop resolvepath implementation.
79952         * modules/canonicalize (Depends-on): Drop filenamecat.
79954         canonicalize: don't lose errno
79955         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
79956         over calls to free.
79958         canonicalize: simplify errno handling
79959         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
79960         assignment.
79962         canonicalize, canonicalize-lgpl: update module dependencies
79963         * modules/canonicalize (Depends-on): Add extensions, lstat,
79964         pathmax, stdlib.
79965         (Files): Drop pathmax.h.
79966         (configure.ac): Adjust macro name.
79967         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
79968         lstat, stdlib, sys_stat.
79969         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
79970         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
79971         extensions.
79972         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
79973         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
79974         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
79975         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
79976         declaration, if available.
79977         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
79978         we can rely on the readlink module.
79979         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
79980         (includes): Use <unistd.h> unconditionally.
79982 2009-09-17  Eric Blake  <ebb9@byu.net>
79984         maint: make Include sections of modules consistent
79985         * modules/alloca: Use only header name; no need to list #include.
79986         * modules/alloca-opt: Likewise.
79987         * modules/arpa_inet: Likewise.
79988         * modules/canon-host: Likewise.
79989         * modules/configmake: Likewise.
79990         * modules/dirent: Likewise.
79991         * modules/eealloc: Likewise.
79992         * modules/environ: Likewise.
79993         * modules/fchdir: Likewise.
79994         * modules/fcntl: Likewise.
79995         * modules/fcntl-h: Likewise.
79996         * modules/gethrxtime: Likewise.
79997         * modules/gettime: Likewise.
79998         * modules/ignore-value: Likewise.
79999         * modules/inet_ntop: Likewise.
80000         * modules/inet_pton: Likewise.
80001         * modules/inttypes: Likewise.
80002         * modules/isnand-nolibm: Likewise.
80003         * modules/isnanf-nolibm: Likewise.
80004         * modules/mbchar: Likewise.
80005         * modules/mbfile: Likewise.
80006         * modules/mbiter: Likewise.
80007         * modules/mbuiter: Likewise.
80008         * modules/netdb: Likewise.
80009         * modules/netinet_in: Likewise.
80010         * modules/nproc: Likewise.
80011         * modules/pagealign_alloc: Likewise.
80012         * modules/poll: Likewise.
80013         * modules/printf-frexp: Likewise.
80014         * modules/pthread: Likewise.
80015         * modules/putenv: Likewise.
80016         * modules/random_r: Likewise.
80017         * modules/relocatable-prog: Likewise.
80018         * modules/search: Likewise.
80019         * modules/select: Likewise.
80020         * modules/selinux-h: Likewise.
80021         * modules/settime: Likewise.
80022         * modules/signal: Likewise.
80023         * modules/size_max: Likewise.
80024         * modules/socklen: Likewise.
80025         * modules/ssize_t: Likewise.
80026         * modules/stdarg: Likewise.
80027         * modules/stdbool: Likewise.
80028         * modules/stddef: Likewise.
80029         * modules/stdint: Likewise.
80030         * modules/stdio: Likewise.
80031         * modules/stdlib: Likewise.
80032         * modules/string: Likewise.
80033         * modules/strings: Likewise.
80034         * modules/sys_file: Likewise.
80035         * modules/sys_ioctl: Likewise.
80036         * modules/sys_select: Likewise.
80037         * modules/sys_socket: Likewise.
80038         * modules/sys_stat: Likewise.
80039         * modules/sys_time: Likewise.
80040         * modules/sys_times: Likewise.
80041         * modules/sys_utsname: Likewise.
80042         * modules/sys_wait: Likewise.
80043         * modules/sysexits: Likewise.
80044         * modules/time: Likewise.
80045         * modules/times: Likewise.
80046         * modules/tmpfile: Likewise.
80047         * modules/trim: Likewise.
80048         * modules/unistd: Likewise.
80049         * modules/wchar: Likewise.
80050         * modules/wctype: Likewise.
80052 2009-09-17  Bruno Haible  <bruno@clisp.org>
80054         Make getdate.y compile on QNX and NetBSD 5 / i386.
80055         * m4/getdate.m4 (gl_GETDATE): Conditionally define
80056         TIME_T_FITS_IN_LONG_INT.
80057         * lib/getdate.y (long_time_t): New type.
80058         (relative_time): Change type of 'seconds' field to long_time_t.
80059         (get_date): Update types of local variables. Check against overflow
80060         during conversion from long_time_t to time_t.
80061         Reported by Matt Kraai <kraai@ftbfs.org>
80062         and Hasso Tepper <hasso@netbsd.org>.
80064 2009-09-17  Bruno Haible  <bruno@clisp.org>
80066         * modules/COPYING: Update copyright years.
80067         * modules/README: Likeiwse.
80068         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
80069         Reported by Ian Beckwith <ianb@erislabs.net>.
80071 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80073         * users.txt: Update references for gnuit package.
80075 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80077         * m4/getdelim.m4: Fix typo in copyright line.
80079 2009-09-17  Bruno Haible  <bruno@clisp.org>
80081         * lib/atoll.c: Use the standard header with GPL copyright.
80082         * lib/argz.in.h: Likewise.
80083         * lib/glob.c: Likewise.
80084         * lib/glob-libc.h: Likewise.
80085         * lib/random_r.c: Likewise.
80086         * lib/siglist.h: Likewise.
80087         * lib/strsignal.c: Likewise.
80088         Reported by Ian Beckwith <ianb@erislabs.net>.
80090 2009-09-17  Eric Blake  <ebb9@byu.net>
80092         rmdir: ensure correct dependency order
80093         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
80095 2009-09-17  Bruno Haible  <bruno@clisp.org>
80097         Disable assertion that fails on NetBSD 5 / i386.
80098         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
80099         Reported by Sam Steingold <sds@gnu.org>
80100         and Hasso Tepper <hasso@netbsd.org>.
80102 2009-09-16  Eric Blake  <ebb9@byu.net>
80104         unlinkdir: port to mingw
80105         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
80106         on which no one can unlink a directory.
80108         stdlib: sort witness names
80109         * modules/stdlib (Makefile.am): Sort replacements.
80110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80111         * lib/stdlib.in.h: Likewise.
80113         parse-duration-tests: avoid link failure
80114         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
80115         LIBINTL.
80116         Reported by Tom G. Christensen.
80118         openat-tests: ensure unlinkat behaves like rmdir
80119         * tests/test-rmdir.c (main): Factor guts...
80120         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
80121         * modules/rmdir-tests (Files): Ship new file.
80122         * modules/openat-tests: New test.
80123         * tests/test-unlinkat.c: Likewise.
80125         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
80126         * modules/rmdir-errno (Status, Notice): Now obsolete.
80128         rmdir: work around cygwin 1.5.x and mingw bugs
80129         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
80130         * lib/rmdir.c (rmdir): Work around it.
80131         * modules/rmdir (Status, Notice): No longer obsolete.
80132         (Files): Add dos.m4.
80133         (Depends-on): Add unistd.
80134         (configure.ac): Set witnesses.
80135         (License): Relax to LGPLv2+.
80136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
80137         * modules/unistd (Makefile.am): Substitute witnesses.
80138         * lib/unistd.in.h (rmdir): Declare replacement.
80139         * doc/posix-functions/rmdir.texi (rmdir): Document this.
80140         * modules/rmdir-tests: New tests.
80141         * tests/test-rmdir.c: Likewise.
80143 2009-09-15  Eric Blake  <ebb9@byu.net>
80145         fchdir: improve use of replacement functions
80146         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
80147         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
80148         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
80149         REPLACE_CLOSEDIR.
80150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
80151         * modules/sys_stat (Makefile.am): Substitute correct witness.
80152         * modules/dirent (Makefile.am): Likewise.
80153         * modules/unistd (Makefile.am): Likewise.
80154         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
80155         * lib/unistd.in.h (dup): Likewise.
80156         * lib/sys_stat.in.h (fstat): Likewise.
80158         maint: ignore gnulib-tool temp files
80159         * .gitignore: Ignore files created during gnulib-tool --test.
80161 2009-09-13  Jim Meyering  <meyering@redhat.com>
80163         posixtm: don't reject a time that specify "60" as the number of seconds
80164         * lib/posixtm.c (posixtime): The code to reject invalid dates
80165         would also reject a time specified with the .60 suffix.
80166         But POSIX allows that, in order to accommodate leap seconds.
80167         So don't reject it.
80168         (main): Adjust tests accordingly.
80169         * modules/posixtm (Depends-on): Add stpcpy.
80171 2009-09-11  Jim Meyering  <meyering@redhat.com>
80173         announce-gen: include [$release_type] in emitted Subject:
80174         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
80175         e.g., [stable] in the emitted Subject: line.
80177 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80179         Remove obsolete macros from several modules.
80180         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
80181         obsolete Autoconf macros with their modern counterparts.
80182         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
80183         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
80184         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
80185         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
80186         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
80187         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80188         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
80189         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80190         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
80191         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
80192         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
80193         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
80194         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
80195         * m4/sockets.m4 (gl_SOCKETS): Likewise.
80196         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
80197         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
80198         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
80199         * m4/time_r.m4 (gl_TIME_R): Likewise.
80200         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
80201         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
80202         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
80204         Fix copyright header in build-aux scripts.
80205         * build-aux/git-version-gen: Fix copyright header to match GPLv3
80206         recommendation.
80207         * build-aux/ncftpput-ftp: Likewise.
80208         * build-aux/update-copyright: Likewise.
80210 2009-09-09  Eric Blake  <ebb9@byu.net>
80212         test-link: allow Linux choice of errno
80213         * tests/test-link.c (main): Relax test for alternate error.
80215         strndup: fix improper m4 caching
80216         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
80217         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
80218         (gl_PREREQ_STRNDUP): Delete.
80219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
80220         * modules/string (Makefile.am): Substitute it.
80221         * lib/string.in.h (strndup): Modernize prototype.
80223         getcwd: port to mingw
80224         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
80225         different from the POSIX assumptions made throughout the getcwd
80226         module; fortunately, the mingw getcwd does not need replacement.
80227         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
80228         * modules/getcwd-tests: New test.
80229         * tests/test-getcwd.c: Likewise.
80231         link: fix platform bugs
80232         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
80233         * lib/link.c (link): Work around them.  Fix related mingw bug.
80234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
80235         * modules/unistd (Makefile.am): Substitute it.
80236         * lib/unistd.in.h (link): Declare replacement.
80237         * doc/posix-functions/link.texi (link): Document this.
80238         * modules/link (Depends-on): Add strdup-posix, sys_stat.
80240         test-link: consolidate into single C program, test more cases
80241         * tests/test-link.sh: Delete.
80242         * tests/test-link.c: Test more error conditions.  Exposes bugs on
80243         at least Cygwin and Solaris.
80244         * modules/link-tests (Files): Remove unused file.
80245         (Depends-on): Add errno, sys_stat.
80246         (Makefile.am): Simplify.
80248 2009-09-08  Bruno Haible  <bruno@clisp.org>
80250         Work around towlower, towupper bug on mingw.
80251         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
80252         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
80253         * doc/posix-functions/towlower.texi: Mention the mingw bug.
80254         * doc/posix-functions/towupper.texi: Likewise.
80255         Reported by Eric Blake.
80257 2009-09-08  Jim Meyering  <meyering@redhat.com>
80259         build: don't try to run autoheader if we don't use it
80260         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
80261         is not used in configure.ac.
80263 2009-09-08  Eric Blake  <ebb9@byu.net>
80265         euidaccess: fix compilation error
80266         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
80268         rawmemchr: relax license
80269         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
80270         okay.
80271         Reported by Jim Meyering.
80273         mkfifoat: new module
80274         * modules/mkfifoat: New file.
80275         * lib/mkfifoat.c: Likewise.
80276         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
80277         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80278         * modules/sys_stat (Makefile.am): Use them.
80279         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
80280         * MODULES.html.sh (File system functions): Mention module.
80281         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80282         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80283         * modules/mkfifoat-tests: New test.
80284         * tests/test-mkfifoat.c: Likewise.
80286         strchrnul: relax license
80287         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
80288         okay.
80289         Reported by Jim Meyering.
80291 2009-09-08  Eric Blake  <ebb9@byu.net>
80293         fstatat: fix compilation on Solaris
80294         * lib/fstatat.c (includes): Add fcntl.h.
80295         Reported by Pádraig Brady.
80297 2009-09-07  Eric Blake  <ebb9@byu.net>
80299         rename: modernize replacement
80300         * modules/rename (Depends-on): Add stdio.
80301         (configure.ac): Declare witness.
80302         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
80303         stdio take care of replacement.
80304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80305         * modules/stdio (Makefile.am): Substitute them.
80306         * lib/stdio.in.h (rename): Declare replacement.
80307         * lib/rename.c (includes): Allow cross-compilation to non-windows
80308         machines.
80309         * doc/posix-functions/rename.texi (rename): Improve
80310         documentation.
80312         stdio: sort witness names
80313         * modules/stdio (Makefile.am): Sort replacements.
80314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
80315         * lib/stdio.in.h: Likewise.
80317         getcwd: minor cleanups
80318         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
80319         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
80321         openat: provide more convenience names
80322         * modules/faccessat (configure.ac): Add C witness.
80323         * lib/unistd.in.h (readlinkat): Fix typo.
80324         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
80325         convenience wrappers.
80326         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
80327         wrappers in syntax checks.
80329 2009-09-06  Eric Blake  <ebb9@byu.net>
80331         doc: fix comments in recent patches
80332         * lib/faccessat.c: Mention correct function.
80333         * lib/fchmodat.c: Likewise.
80334         * lib/fchownat.c: Likewise.
80335         * lib/symlinkat.c: Likewise.
80336         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
80337         constants.
80339         faccessat, symlinkat: continue cleanup of previous patch
80340         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
80341         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80342         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
80343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
80344         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
80345         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
80346         set.
80348 2009-09-06  Bruno Haible  <bruno@clisp.org>
80350         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
80351         (fstatat): Declare if GNULIB_FSTATAT is set.
80352         (mkdirat): Declare if GNULIB_MKDIRAT is set.
80353         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
80354         (unlinkat): Declare if GNULIB_UNLINKAT is set.
80355         * modules/fcntl-h (Files): Remove m4/openat.m4.
80356         * modules/sys_stat (Files): Remove m4/openat.m4.
80357         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
80358         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
80359         * modules/unistd (Files): Remove m4/openat.m4.
80360         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
80361         GNULIB_OPENAT.
80362         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
80363         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
80364         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
80365         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
80366         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
80367         gl_OPENAT_DEFAULTS.
80368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
80369         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
80370         Don't require gl_OPENAT_DEFAULTS.
80371         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
80372         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
80373         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
80374         (gl_OPENAT_DEFAULTS): Remove macro.
80376 2009-09-06  Bruno Haible  <bruno@clisp.org>
80378         * modules/openat (configure.ac): Remove unneeded witness.
80380 2009-09-06  Bruno Haible  <bruno@clisp.org>
80382         Set errno to ENOSYS when a function is entirely unsupported.
80383         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
80384         EOPNOTSUPP.
80385         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80386         * modules/chown (Depends-on): Remove errno.
80388 2009-09-06  Bruno Haible  <bruno@clisp.org>
80390         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
80392 2009-09-06  Bruno Haible  <bruno@clisp.org>
80394         * lib/sys_stat.in.h: Fix preprocessor command indentation.
80396 2009-09-06  Ben Pfaff  <blp@gnu.org>
80397             Bruno Haible  <bruno@clisp.org>
80399         Work around a glibc bug in strtok_r.
80400         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
80401         Undefine if UNDEFINE_STRTOK_R is set.
80402         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
80403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80404         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
80405         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
80406         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
80407         UNDEFINE_STRTOK_R.
80408         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
80410 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
80412         exclude: minor fix
80413         * lib/exclude.c: Include wctype.h
80415 2009-09-06  Akim Demaille  <demaille@gostai.com>
80417         bootstrap: improve error message
80418         * build-aux/bootstrap (find_tool): Upon failure, report the list
80419         of candidates.
80420         Honor the initial value of the envvar.
80422 2009-09-05  Eric Blake  <ebb9@byu.net>
80424         symlinkat: new module
80425         * modules/symlinkat: New file.
80426         * lib/symlinkat.c: Likewise.
80427         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
80428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80429         * modules/unistd (Makefile.am): Use them.
80430         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
80431         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
80432         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
80433         * MODULES.html.sh (File system functions): Mention module.
80434         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80435         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80436         * modules/symlinkat-tests: New test.
80437         * tests/test-symlinkat.c: Likewise.
80439         test-openat-safer: add more checks
80440         * tests/test-openat-safer.c (main): Check more code paths.
80442 2009-09-05  Jim Meyering  <meyering@redhat.com>
80444         syntax-check: detect unnecessary inclusion of openat.h
80445         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
80447 2009-09-05  Bruno Haible  <bruno@clisp.org>
80449         Support towlower, towupper.
80450         * doc/posix-functions/towlower.texi: Mention module wctype.
80451         * doc/posix-functions/towupper.texi: Likewise.
80452         * lib/wctype.in.h (towlower, towupper): New functions.
80453         * tests/test-wctype.c: Include stdio.h, stdlib.h.
80454         (ASSERT): New macro.
80455         (e): New variable.
80456         (main): Test also towlower, towupper. Test WEOF argument.
80457         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
80459 2009-09-05  Bruno Haible  <bruno@clisp.org>
80461         Fix conversion behaviour when the input is invalid.
80462         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
80463         mark occurring in first pass of indirect conversion.
80464         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
80465         input.
80466         Found by clang's static analyzer.
80468 2009-09-05  Bruno Haible  <bruno@clisp.org>
80470         * tests/test-striconveh.c (main): Test indirect conversion on platforms
80471         where direct conversion is possible.
80473 2009-09-04  Eric Blake  <ebb9@byu.net>
80475         openat: fail with ENOENT on empty name
80476         * lib/openat-proc.c (openat_proc_name): Special-case the empty
80477         buffer.
80479         link-follow: fix logic bug in prior patch
80480         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
80481         reversed sense of yes and no in prior patch.  Avoid confusing
80482         compilation failure with desired semantics.
80484         link-follow: accommodate mingw and cross-compilation
80485         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
80486         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
80487         cross-compilation results to -1, to make linkat easier to
80488         implement when cross-compiling.  Trivially support mingw.
80489         * modules/link-follow (configure.ac): Call new name.
80490         * NEWS: Mention this.
80492 2009-09-03  Eric Blake  <ebb9@byu.net>
80494         faccessat: compile replacement
80495         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
80496         needed.
80498         fts: fix compilation error
80499         * lib/fts.c (includes): Re-add "openat.h", for
80500         openat_needs_fchdir.
80502         faccessat: new module
80503         * modules/faccessat: New file.
80504         * lib/faccessat.c: Likewise.
80505         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80507         * modules/unistd (Makefile.am): Use it.
80508         * lib/unistd.in.h (faccessat): Declare it.
80509         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
80510         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
80511         * MODULES.html.sh (File system functions): Mention it.
80512         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
80513         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
80515         euidaccess: prefer POSIX over non-standard implementation
80516         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
80517         * lib/euidaccess.c (euidaccess): Use it if available.
80519         openat: make template easier to use
80520         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
80521         AT_FUNC_F2 to be undefined.
80522         (VALIDATE_FLAG): New macro; use it to reject bad flags.
80523         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
80524         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
80525         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
80526         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
80527         Likewise.
80528         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
80529         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
80530         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
80531         Likewise.
80533         openat: declare in POSIX headers
80534         * NEWS: Mention this.
80535         * modules/openat (configure.ac): Declare witnesses.
80536         (Depends-on): Add fcntl-h, sys_stat, unistd.
80537         (Include): Mention correct headers.
80538         * modules/fcntl-h (Depends-on): Add link-warning.
80539         (Files): Add openat.m4.
80540         (Makefile.am): Substitute witnesses.
80541         * modules/sys_stat (Files, Makefile.am): Likewise.
80542         * modules/unistd (Files, Makefile.am): Likewise.
80543         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
80544         (gl_OPENAT_DEFAULTS): New macro.
80545         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
80546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
80547         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
80548         (SYS_STAT_H): Remove unused variable.
80549         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
80550         * lib/fcntl--.h (includes): Remove unneeded header.
80551         * lib/openat-safer.c (includes): Likewise.
80552         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
80553         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
80554         appropriate headers.
80555         (__OPENAT_PREFIX): Delete.
80556         * lib/fcntl.in.h (openat): Provide declaration.
80557         (AT_FDCWD): Fix Solaris bug.
80558         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
80559         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
80560         * lib/fchmodat.c (includes):  Adjust to find declaration.
80561         * lib/fchownat.c (includes): Likewise.
80562         * lib/mkdirat.c (includes): Likewise.
80563         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
80564         still visible.
80566 2009-09-02  Eric Blake  <ebb9@byu.net>
80568         errno: use consistently
80569         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
80570         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
80571         * lib/canonicalize.c (ELOOP): Likewise.
80572         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
80573         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
80574         * lib/lchown.c (EOPNOTSUPP): Likewise.
80575         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
80576         * lib/savewd.c (ESTALE): Likewise.
80577         * lib/settime.c (ENOSYS): Likewise.
80578         * lib/utimens.c (ENOSYS): Likewise.
80579         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
80580         * lib/chdir-safer.c (ELOOP): Likewise.
80581         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
80582         * modules/c-stack (Depends-on): Add errno.
80583         * modules/canonicalize (Depends-on): Likewise.
80584         * modules/chdir-safer (Depends-on): Likewise.
80585         * modules/fdopendir (Depends-on): Likewise.
80586         * modules/inet_ntop (Depends-on): Likewise.
80587         * modules/inet_pton (Depends-on): Likewise.
80588         * modules/lchown (Depends-on): Likewise.
80589         * modules/openat (Depends-on): Likewise.
80590         * modules/savewd (Depends-on): Likewise.
80591         * modules/settime (Depends-on): Likewise.
80592         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
80594         fts: avoid leaking fds
80595         * modules/fts (Depends-on): Add cloexec.
80596         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
80597         flag.
80599         fts: make directory fds more robust
80600         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
80601         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
80603         backupfile, chdir-long, fts, savedir: make safer
80604         * lib/backupfile.c (includes): Use "dirent--.h", since
80605         numbered_backup can write to stderr during readdir.
80606         * lib/savedir.c (includes): Likewise.
80607         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
80608         emulation can write to stderr on failure.
80609         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
80610         * lib/getcwd.c: Document why opendir_safer is unused.
80611         * lib/glob.c: Likewise.
80612         * lib/scandir.c: Likewise.
80613         * lib/openat-proc.c: Likewise, for open_safer.
80614         * modules/backupfile (Depends-on): Add dirent-safer.
80615         * modules/savedir (Depends-on): Likewise.
80616         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
80617         * modules/chdir-long (Depends-on): Add openat-safer.
80619         openat-safer: new module
80620         * modules/openat-safer: New file.
80621         * lib/openat-safer.c: Likewise.
80622         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
80623         * lib/fcntl-safer.h (openat_safer): Declare.
80624         * lib/fcntl--.h (openat): Override.
80625         * MODULES.html.sh (File descriptor based I/O): Mention it.
80626         * lib/openat.h: Add double-inclusion guards.
80627         * lib/openat.c (includes): Only include "fcntl-safer.h", not
80628         "fcntl--.h", so we can implement openat.
80629         * modules/openat-safer-tests: New test.
80630         * tests/test-openat-safer.c: New file.
80632         dirent-safer: new module
80633         * modules/dirent-safer: New file.
80634         * lib/dirent--.h: Likewise.
80635         * lib/dirent-safer.h: Likewise.
80636         * lib/opendir-safer.c: Likewise.
80637         * m4/dirent-safer.m4: Likewise.
80638         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
80639         * modules/dirent-safer-tests: New test.
80640         * tests/test-dirent-safer.c: New file.
80641         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
80643         fdopendir: optimize on mingw
80644         * lib/unistd.in.h (_gl_directory_name): New prototype.
80645         * lib/fchdir.c (_gl_directory_name): Implement it.
80646         (fchdir): Use it to simplify implementation.
80647         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
80648         fchdir, when available, to avoid calling [f]chdir().
80650         fdopendir: split into its own module
80651         * lib/openat.c (fdopendir): Move...
80652         * lib/fdopendir.c: ...into new file.
80653         * modules/fdopendir: New module.
80654         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
80655         * modules/openat (Depends-on): Add fdopendir.
80656         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
80657         fdopendir here.
80658         * modules/savedir (Depends-on): Only need fdopendir, not full
80659         openat.
80660         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
80661         * lib/openat.h (fdopendir): Drop prototype.
80662         * lib/dirent.in.h (fdopendir): Provide prototype.
80663         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
80664         * modules/dirent (Makefile.am): Substitute them.
80665         * MODULES.html.sh (File system functions): Mention it.
80666         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
80667         * modules/fdopendir-tests: New file.
80668         * tests/test-fdopendir.c: Likewise.
80670         fchdir: use more consistent macro convention
80671         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
80672         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
80673         REPLACE_FCHDIR, rather than relying on config.h macros.
80674         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
80675         inside a single make-time REPLACE_FCHDIR block, rather than using
80676         the config.h FCHDIR_REPLACEMENT.
80677         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
80678         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
80679         Manage fstat replacement.
80680         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
80681         REPLACE_FCHDIR.
80682         * modules/sys_stat (Files): Add m4/unistd_h.m4.
80683         (Makefile.am): Substitute REPLACE_FCHDIR.
80684         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
80685         FCHDIR_REPLACEMENT.
80686         * lib/dup-safer.c (dup_safer): Likewise.
80687         * lib/dup2.c (rpl_dup2): Likewise.
80688         * lib/dup3.c (rpl_dup3): Likewise.
80689         * lib/open.c (rpl_open): Likewise.
80691         fchdir: simplify error handling, and support dup3
80692         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
80693         stdbool, malloc-posix, realloc-posix.
80694         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
80695         (ensure_dirs_slot): Return false on allocation failure.
80696         (rpl_dup2): Delete.
80697         (_gl_register_dup): New function.
80698         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
80699         (_gl_register_fd): Close fd on allocation failure.
80700         * lib/fcntl.in.h (_gl_register_fd): Update signature.
80701         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
80702         prototype.
80703         (rpl_dup2_fchdir): Delete prototype.
80704         * lib/open.c (open): Update caller.
80705         * lib/dup2.c (dup2): Track fchdir metadata.
80706         * lib/dup3.c (dup3): Likewise.
80707         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
80708         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
80710 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80712         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
80713         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
80714         don't pass arguments to AC_OUTPUT.
80716 2009-09-02  Bruno Haible  <bruno@clisp.org>
80718         * modules/mkdtemp (License): Relicense under LGPLv2+.
80719         Reported by Paolo Bonzini.
80721 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80723         Replace uses of obsolete autoconf macros in Jim's modules.
80724         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
80725         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
80726         can evoke a warning from autoconf when run with -Wobsolete
80727         enabled.  They were declared obsolete for good reasons (see
80728         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
80729         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
80730         should not continue using the deprecated macros.
80731         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
80732         obsolete Autoconf macros with modern counterparts.
80733         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80734         * m4/dos.m4 (gl_AC_DOS): Likewise.
80735         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
80736         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
80737         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
80738         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
80739         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
80740         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
80741         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
80742         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
80743         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
80744         Likewise.
80745         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
80746         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80747         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
80748         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
80749         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
80750         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80752 2009-09-01  Eric Blake  <ebb9@byu.net>
80754         fchdir: fix off-by-one bug in previous patch
80755         * lib/fchdir.c (rpl_fstat): Use correct bounds.
80756         (_gl_unregister_fd): Delete useless if.
80758 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
80760         maint.mk: sort the list of syntax-check rules
80761         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
80762         easier to get a sense of progress when the rules are run sequentially
80763         and take a long time.
80765 2009-09-01  Simon Josefsson  <simon@josefsson.org>
80767         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
80768         * modules/netinet_in: Likewise.
80769         * modules/sys_file: Likewise.
80770         * modules/sys_ioctl: Likewise.
80771         * modules/sys_select: Likewise.
80772         * modules/sys_socket: Likewise.
80773         * modules/sys_stat: Likewise.
80774         * modules/sys_time: Likewise.
80775         * modules/sys_times: Likewise.
80776         * modules/sys_utsname: Likewise.
80777         * modules/sys_wait: Likewise.
80779 2009-09-01  Jim Meyering  <meyering@redhat.com>
80781         fts: help ensure that return values are not ignored
80782         * lib/fts_.h (__GNUC_PREREQ): Define.
80783         (__attribute_warn_unused_result__): Define.
80784         (fts_children, fts_close, fts_open, fts_read): Declare with
80785         __attribute_warn_unused_result__.
80787         fts: fts_close now fails also when closing a dir file descriptor fails
80788         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
80789         and propagate to caller, along with errno.
80791         announce-gen: correct formatting in --help output
80792         * build-aux/announce-gen (usage): Move the one-line description in
80793         --help output "up", to where it belongs, just after Usage:.
80795 2009-08-31  Eric Blake  <ebb9@byu.net>
80797         fchdir: port to mingw
80798         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
80799         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
80800         opened, then use a substitute.
80801         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
80802         replacement.
80803         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
80804         (_gl_register_fd): No need to check stat if open already filters
80805         all directories.
80806         (fchdir): Fix error condition to match POSIX.
80807         * modules/fchdir (Depends-on): Add sys_stat.
80808         * doc/posix-functions/open.texi (open): Document the limitation.
80809         * modules/fchdir-tests: New file.
80810         * tests/test-fchdir.c: Likewise.
80812         canonicalize: allow cross-testing from cygwin to mingw
80813         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
80814         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
80815         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
80816         Likewise.
80817         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
80818         target does not support symlinks.
80819         * tests/test-canonicalize-lgpl.sh: Likewise.
80821         chown: avoid compilation warning on mingw
80822         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
80823         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
80824         mingw.
80825         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80826         * modules/chown (Depends-on): Add errno.
80828 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
80830         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
80831         command.
80833 2009-08-31  Jim Meyering  <meyering@redhat.com>
80835         canonicalize: remove useless initialization
80836         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
80837         initialization of local, "end".
80839 2009-08-30  Bruno Haible  <bruno@clisp.org>
80841         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
80842         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
80843         ENOSYS.
80845 2009-08-30  Bruno Haible  <bruno@clisp.org>
80847         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
80848         /usr/xpg4/bin/tr when it exists.
80849         * tests/test-pipe-filter-gi1.sh: Likewise.
80851 2009-08-30  Bruno Haible  <bruno@clisp.org>
80853         Work around deficient /usr/bin/id program on Solaris.
80854         * tests/test-file-has-acl.sh (ID): New variable.
80855         * tests/test-set-mode-acl.sh (ID): Likewise.
80856         * tests/test-copy-acl.sh (ID): Likewise.
80857         * tests/test-copy-file.sh (ID): Likewise.
80859 2009-08-30  Bruno Haible  <bruno@clisp.org>
80861         New module 'xstriconveh'.
80862         * lib/xstriconveh.h: New file.
80863         * lib/xstriconveh.c: New file.
80864         * modules/xstriconveh: New file.
80866 2009-08-30  Bruno Haible  <bruno@clisp.org>
80868         Make it easier to use mem_cd_iconveh.
80869         * lib/striconveh.h (iconveh_t): New type.
80870         (iconveh_open, iconveh_close): New declarations.
80871         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80872         with a single 'const iconveh_t *' argument.
80873         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
80874         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80875         with a single 'const iconveh_t *' argument.
80876         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
80877         * tests/test-striconveh.c (main): Update.
80878         * NEWS: Mention the change.
80880 2009-08-30  Bruno Haible  <bruno@clisp.org>
80882         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
80883         problem.
80885 2009-08-30  Bruno Haible  <bruno@clisp.org>
80887         Work around iconv_open problem on Solaris.
80888         * lib/iconv_open-solaris.gperf: New file.
80889         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
80890         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
80891         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
80892         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
80893         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
80894         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
80896 2009-08-29  Jim Meyering  <meyering@redhat.com>
80898         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
80899         * top/maint.mk (cvs-check): Remove target; it was just an alias
80900         to the better-named vc-diff-check.
80901         (maintainer-distcheck): Remove rule.  It was used only from
80902         the (alpha/beta/major) target, and all of its commands but one
80903         were coreutils-specific.
80904         (vc-dist): Remove rule.
80905         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
80906         Run vc-diff-check, not vc-dist.
80907         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
80909 2009-08-27  Bruno Haible  <bruno@clisp.org>
80911         * tests/test-bitrotate.c (main): Remove test that uses a shift count
80912         of 0.
80914 2009-08-27  Bruno Haible  <bruno@clisp.org>
80916         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
80917         compilers.
80918         * doc/func.texi: Document the SunPRO C bug.
80920 2009-08-27  Bruno Haible  <bruno@clisp.org>
80922         Fix link error on Solaris.
80923         * tests/test-parse-duration.c (xstrdup): Remove function.
80925 2009-08-26  Pádraig Brady  <P@draigbrady.com>
80927         ignore-value: handle pointer types, too
80928         * lib/ignore-value.h (__attribute__): Remove definition.
80929         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
80930         of a more concise and more-often effective "(void) i" statement.
80931         (ignore_ptr): New function to suppress warnings from functions that
80932         return pointers, and to make it explicit that one function doesn't
80933         handle all cases.
80935 2009-08-25  Bruno Haible  <bruno@clisp.org>
80937         dup2: work around a Linux bug.
80938         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
80939         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
80940         * doc/posix-functions/dup2.texi: Mention the Linux bug.
80941         Reported by Simon Josefsson.
80943 2009-08-25  Jim Meyering  <meyering@redhat.com>
80945         libguestfs uses gnulib
80946         * users.txt: Add libguestfs.
80948 2009-08-24  Eric Blake  <ebb9@byu.net>
80950         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
80951         * lib/pipe2.c (includes): Add binary-io.h.
80952         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
80954 2009-08-24  Bruno Haible  <bruno@clisp.org>
80956         Tolerate declared but missing accept4 syscall.
80957         * lib/accept4.c (accept4): Invoke original accept4 function first, if
80958         available.
80959         * lib/sys_socket.in.h (accept4): If the function is already present,
80960         override it.
80961         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
80962         * modules/accept4 (Makefile.am): Compile accept4.c always.
80963         Reported by Paolo Bonzini and Eric Blake.
80965 2009-08-23  Bruno Haible  <bruno@clisp.org>
80967         New module 'accept4'.
80968         * lib/sys_socket.in.h (accept4): New declaration.
80969         * lib/accept4.c: New file.
80970         * m4/accept4.m4: New file.
80971         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
80972         GNULIB_ACCEPT4, HAVE_ACCEPT4.
80973         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
80974         HAVE_ACCEPT4.
80975         * modules/accept4: New file.
80976         * doc/glibc-functions/accept4.texi: Mention the new module.
80978 2009-08-24  Jim Meyering  <meyering@redhat.com>
80980         progname: also set global program_invocation_name, when possible
80981         Before this change, a libtool-enabled program that calls glibc's
80982         error function would report the program name as
80983         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
80984         * modules/progname (configure.ac): Check for a declaration of
80985         program_invocation_name.
80986         * lib/progname.c:  Include <errno.h>.
80987         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
80988         Set program_invocation_name.
80990 2009-08-23  Bruno Haible  <bruno@clisp.org>
80992         * lib/dup3.c: Include <string.h>.
80994 2009-08-23  Bruno Haible  <bruno@clisp.org>
80996         * lib/dup3.c (dup3): Test only once whether the system actually exists.
80997         * lib/pipe2.c (pipe2): Likewise.
80998         Suggested by Eric Blake.
81000 2009-08-23  Bruno Haible  <bruno@clisp.org>
81002         Tolerate declared but missing dup3 syscall.
81003         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
81004         * lib/unistd.in.h (dup3): If the function is already present,
81005         override it.
81006         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
81007         * modules/dup3 (Makefile.am): Compile dup3.c always.
81008         Reported by Paolo Bonzini.
81010 2009-08-23  Bruno Haible  <bruno@clisp.org>
81012         Tolerate declared but missing pipe2 syscall.
81013         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
81014         available.
81015         * lib/unistd.in.h (pipe2): If the function is already present,
81016         override it.
81017         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
81018         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
81019         Reported by Paolo Bonzini.
81021 2009-08-23  Bruno Haible  <bruno@clisp.org>
81023         * lib/pipe2.c (pipe2): Move #ifs inside function.
81025 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81027         quotearg: document limitations of quote_these_too
81028         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
81029         those limitations are created.
81030         * lib/quotearg.h (set_char_quoting): Document that digits and
81031         letters that are special after backslash are not permitted.
81032         (quotearg_char): Cross-reference set_char_quoting documentation.
81034 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
81036         quotearg: implement custom_quoting_style
81037         * lib/quotearg.c: (struct quoting_options): Add left_quote and
81038         right_quote fields.
81039         (set_custom_quoting): New public function.
81040         (quotearg_buffer_restyled): Add left_quote and right_quote
81041         arguments, handle them very much like locale quoting, and update
81042         all uses.
81043         (quotearg_n_custom): New public function.
81044         (quotearg_n_custom_mem): New public function.
81045         (quotearg_custom): New public function.
81046         (quotearg_custom_mem): New public function.
81047         * lib/quotearg.h: Prototype and document new public functions.
81048         (enum quoting_style): For escape_quoting_style and
81049         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
81050         ignored even though they're otherwise like c_quoting_style.
81051         Add custom_quoting_style member and document with comparison to
81052         clocale_quoting_style.
81053         * tests/test-quotearg.c (custom_quotes): New array.
81054         (custom_results): New array.
81055         (main): Extend to test custom quoting.
81057 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81059         quotearg: fix right quote escaping when it's in quote_these_too
81060         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
81061         quote, be sure to prepend only one backslash.
81062         * tests/test-quotearg.c (use_quote_double_quotes): New function.
81063         (main): Test it.
81065 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81067         quotearg-tests: test escaping of embedded locale quotes
81068         * tests/test-quotearg.c (struct result_strings): Add member for
81069         new input.
81070         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
81071         (inputs): Add new input.
81072         (results_g): Add expected results.
81073         (flag_results): Likewise.
81074         (locale_results): Likewise.
81075         (compare_strings): Check those.
81077 2009-08-23  Bruno Haible  <bruno@clisp.org>
81079         Tests for module 'dup3'.
81080         * modules/dup3-tests: New file.
81081         * tests/test-dup3.c: New file.
81083         New module 'dup3'.
81084         * lib/unistd.in.h (dup3): New declaration.
81085         * lib/dup3.c: New file.
81086         * m4/dup3.m4: New file.
81087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
81088         HAVE_DUP3.
81089         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
81090         * modules/dup3: New file.
81091         * doc/glibc-functions/dup3.texi: Mention the new module.
81093 2009-08-23  Bruno Haible  <bruno@clisp.org>
81095         Tweak the dup2 test.
81096         * tests/test-dup2.c (main): Create the test file empty. Verify that an
81097         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
81098         the test file is still empty. Fix argument order of lseek.
81100 2009-08-23  Bruno Haible  <bruno@clisp.org>
81102         Avoid test link errors when the modules getopt-gnu, gettext are used.
81103         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
81104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81106 2009-08-23  Bruno Haible  <bruno@clisp.org>
81108         Fix getdtablesize() on mingw.
81109         * lib/getdtablesize.c (getdtablesize): Implement differently.
81110         * lib/unistd.in.h (getdtablesize): Improve comment.
81112 2009-08-23  Bruno Haible  <bruno@clisp.org>
81114         New module 'mkostemp'.
81115         Based on Ulrich Drepper's 2007-08-10 change in glibc.
81116         * lib/stdlib.in.h (mksotemp): New declaration.
81117         * lib/mkostemp.c: New file, from glibc with modifications.
81118         * lib/tempname.h (GT_FILE): Remove outdated comment.
81119         (gen_tempname): Add flags argument.
81120         * lib/tempname.c (__GT_BIGFILE): Remove macro.
81121         (__GT_FILE): Map to 1.
81122         (small_open, large_open): Remove macros.
81123         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
81124         * lib/mkstemp.c (mkstemp): Update.
81125         * lib/mkdtemp.c (mkdtemp): Likewise.
81126         * m4/mkostemp.m4: New file.
81127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
81128         HAVE_MKOSTEMP.
81129         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
81130         HAVE_MKOSTEMP.
81131         * modules/mkostemp: New file, based on modules/mkstemp.
81132         * doc/glibc-functions/mkostemp.texi: Mention the new module.
81133         * NEWS: Mention the change.
81135 2009-08-23  Bruno Haible  <bruno@clisp.org>
81137         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
81138         Reported by Eric Blake.
81140 2009-08-23  Bruno Haible  <bruno@clisp.org>
81142         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
81143         Reported by Eric Blake.
81145 2009-08-23  Bruno Haible  <bruno@clisp.org>
81147         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
81148         * modules/pipe2 (Depends-on): Likewise.
81150 2009-08-23  Eric Blake  <ebb9@byu.net>
81152         fcntl-h: add O_TTY_INIT support
81153         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
81154         * tests/test-fcntl-h.c (o): Test it.
81155         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81157         fcntl-h: rename from fcntl, in preparation for fcntl(2)
81158         * modules/fcntl: Move <fcntl.h> header replacement...
81159         * modules/fcntl-h: ...to new name, so as not to collide with
81160         like-named function.
81161         * tests/test-fcntl.c: Rename...
81162         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
81163         * modules/fcntl-tests: Rename...
81164         * modules/fcntl-h-tests: ...to this.  Update test file name.
81165         * modules/chdir-long (Depends-on): Update clients.
81166         * modules/chdir-safer (Depends-on): Likewise.
81167         * modules/fcntl-safer (Depends-on): Likewise.
81168         * modules/fts (Depends-on): Likewise.
81169         * modules/mkancesdirs (Depends-on): Likewise.
81170         * modules/mkdir-p (Depends-on): Likewise.
81171         * modules/open (Depends-on): Likewise.
81172         * modules/savewd (Depends-on): Likewise.
81173         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
81174         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81176 2009-08-22  Bruno Haible  <bruno@clisp.org>
81178         * modules/binary-io (License): Relicense under LGPL.
81179         * modules/pipe2 (License): Likewise.
81181 2009-08-22  Bruno Haible  <bruno@clisp.org>
81183         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
81184         return value.
81185         * lib/pipe-filter-gi.c (filter_init): Likewise.
81186         Reported by Eric Blake.
81188 2009-08-22  Bruno Haible  <bruno@clisp.org>
81190         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
81191         * modules/pipe (Depends-on): Add pipe2.
81193 2009-08-22  Bruno Haible  <bruno@clisp.org>
81195         Tests for module 'pipe2'.
81196         * modules/pipe2-tests: New file.
81197         * tests/test-pipe2.c: New file.
81199         New module 'pipe2'.
81200         * lib/unistd.in.h (pipe2): New declaration.
81201         * lib/pipe2.c: New file.
81202         * m4/pipe2.m4: New file.
81203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
81204         HAVE_PIPE2.
81205         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
81206         * modules/pipe2: New file.
81207         * doc/glibc-functions/pipe2.texi: Mention the new module.
81209 2009-08-22  Bruno Haible  <bruno@clisp.org>
81211         Reference some new glibc functions.
81212         * doc/glibc-functions/accept4.texi: New file.
81213         * doc/glibc-functions/dup3.texi: New file.
81214         * doc/glibc-functions/mkostemp.texi: New file.
81215         * doc/glibc-functions/pipe2.texi: New file.
81216         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
81217         (Glibc sys/socket.h): Refer to accept4.
81218         (Glibc unistd.h): Refer to dup3, pipe2.
81219         Reported by Eric Blake.
81221 2009-08-22  Jim Meyering  <meyering@redhat.com>
81222             Bruno Haible  <bruno@clisp.org>
81224         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
81225         This makes it so packages using automake-1.11's silent-rules option
81226         can print e.g., a single "GEN    configmake.h" line, rather than
81227         the 30+ statements that perform the job.  If you want to see the
81228         actual commands, you can still run "make V=1".
81229         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
81230         so that make output is abbreviated when those variables are defined
81231         appropriately.
81232         * modules/argz: Likewise.
81233         * modules/arpa_inet: Likewise.
81234         * modules/byteswap: Likewise.
81235         * modules/configmake: Likewise.
81236         * modules/dirent: Likewise.
81237         * modules/errno: Likewise.
81238         * modules/fcntl: Likewise.
81239         * modules/float: Likewise.
81240         * modules/fnmatch: Likewise.
81241         * modules/getopt-posix: Likewise.
81242         * modules/glob: Likewise.
81243         * modules/iconv_open: Likewise.
81244         * modules/inttypes: Likewise.
81245         * modules/localcharset: Likewise.
81246         * modules/locale: Likewise.
81247         * modules/math: Likewise.
81248         * modules/netdb: Likewise.
81249         * modules/netinet_in: Likewise.
81250         * modules/poll: Likewise.
81251         * modules/posix_spawnp-tests: Likewise.
81252         * modules/sched: Likewise.
81253         * modules/search: Likewise.
81254         * modules/selinux-h: Likewise.
81255         * modules/signal: Likewise.
81256         * modules/spawn: Likewise.
81257         * modules/stdarg: Likewise.
81258         * modules/stdbool: Likewise.
81259         * modules/stddef: Likewise.
81260         * modules/stdint: Likewise.
81261         * modules/stdio: Likewise.
81262         * modules/stdlib: Likewise.
81263         * modules/string: Likewise.
81264         * modules/strings: Likewise.
81265         * modules/sys_file: Likewise.
81266         * modules/sys_ioctl: Likewise.
81267         * modules/sys_select: Likewise.
81268         * modules/sys_socket: Likewise.
81269         * modules/sys_stat: Likewise.
81270         * modules/sys_time: Likewise.
81271         * modules/sys_times: Likewise.
81272         * modules/sys_utsname: Likewise.
81273         * modules/sys_wait: Likewise.
81274         * modules/sysexits: Likewise.
81275         * modules/time: Likewise.
81276         * modules/unistd: Likewise.
81277         * modules/wchar: Likewise.
81278         * modules/wctype: Likewise.
81280 2009-08-22  Jim Meyering  <meyering@redhat.com>
81282         announce-gen: detect write failure
81283         * build-aux/announce-gen: Add Coda at end.
81284         Remove equivalent-but-more-verbose block at top.
81286 2009-08-19  Akim Demaille  <demaille@gostai.com>
81288         bootstrap: --help to stdout.
81289         * bootstrap (usage): Don't send --help to stderr.
81290         Use a here doc instead of a long string.
81292 2009-08-21  Eric Blake  <ebb9@byu.net>
81294         test-popen-safer: split from test-popen
81295         * tests/test-popen.c (main): Move...
81296         * tests/test-popen.h: ...into new file.
81297         * tests/test-popen-safer2.c: New file.
81298         * modules/popen-tests (Files): Add test-popen.h.
81299         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
81300         Suggested by Bruno Haible.
81302         test-fcntl-safer: split from test-open
81303         * tests/test-open.c (main): Move...
81304         * tests/test-open.h: ...into new file.
81305         * tests/test-fcntl-safer.c: New file.
81306         * modules/open-tests (Files): Add test-open.h.
81307         * modules/fcntl-safer-tests: New file.
81308         Suggested by Bruno Haible.
81310         test-fopen-safer: split from test-fopen
81311         * tests/test-fopen.c (main): Move...
81312         * tests/test-fopen.h: ...into new file.
81313         * tests/test-fopen-safer.c: New file.
81314         * modules/fopen-tests (Files): Add test-fopen.h.
81315         * modules/fopen-safer-tests: New file.
81316         Suggested by Bruno Haible.
81318 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81320         popen-safer: test O_CLOEXEC at run-time.
81321         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
81323 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81325         fcntl: move more flags to the header
81326         * lib/cloexec.c: Do not define FD_CLOEXEC here.
81327         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
81328         * lib/fcntl.in.h: Do both things here.
81330 2009-08-21  Jim Meyering  <meyering@redhat.com>
81332         consistently remove $@-t before redirecting to it
81333         * modules/argz: Remove $@-t and $@ before redirecting to the former.
81334         * modules/alloca-opt: Likewise.
81335         * modules/byteswap: Likewise.
81336         * modules/fnmatch: Likewise.
81337         * modules/getopt-posix: Likewise.
81338         * modules/glob: Likewise.
81339         * modules/poll: Likewise.
81340         * modules/posix_spawnp-tests: Likewise.
81341         * modules/sys_socket: Likewise.
81342         * modules/sysexits: Likewise.
81344 2009-08-21  Eric Blake  <ebb9@byu.net>
81346         popen: simplify access to original popen
81347         * lib/popen.c (rpl_popen): No need to worry about popen being a
81348         macro.
81349         Reported by Bruno Haible.
81351 2009-08-20  Eric Blake  <ebb9@byu.net>
81353         build: avoid some compiler warnings
81354         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
81355         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
81356         type.
81357         (new_exclude_segment, excluded_file_pattern_p)
81358         (excluded_file_name_p): Reduce scope.
81359         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
81360         old-style declaration.
81362 2009-08-20  Simon Josefsson  <simon@josefsson.org>
81364         * tests/test-exclude1.sh: Handle Windows EOL.
81365         * tests/test-exclude2.sh: Likewise.
81366         * tests/test-exclude3.sh: Likewise.
81367         * tests/test-exclude4.sh: Likewise.
81368         * tests/test-exclude5.sh: Likewise.
81369         * tests/test-exclude6.sh: Likewise.
81370         * tests/test-exclude7.sh: Likewise.
81372 2009-08-19  Akim Demaille  <demaille@gostai.com>
81374         bootstrap: find sha1sum when named gsha1sum.
81375         * bootstrap (find_tool): New.
81376         ($SHA1SUM): New.
81377         Use it.
81379 2009-08-20  Jim Meyering  <meyering@redhat.com>
81381         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
81382         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
81383         expression that converts "." in a file name to "\." in the resulting
81384         regexp.  Start with a dummy statement, so that prior shell variable
81385         definitions are expanded portably.  Reported by Simon Josefsson.
81387 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
81389         Fix polling for writeability of a screen buffer.
81390         * lib/poll.c: Distinguish input and screen buffers for the
81391         Win32 implementation.
81392         * lib/select.c: Likewise.
81394 2009-08-19  Eric Blake  <ebb9@byu.net>
81396         popen-safer: prevent popen from clobbering std descriptors
81397         * modules/popen-safer: New file.
81398         * lib/popen-safer.c: Likewise.
81399         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
81400         * lib/stdio--.h (popen): Provide override.
81401         * lib/stdio-safer.h (popen_safer): Provide declaration.
81402         * tests/test-popen.c (includes): Partially test this.
81403         * modules/popen-safer-tests: New file, for more tests.
81404         * tests/test-popen-safer.c: Likewise.
81405         * MODULES.html.sh (file stream based Input/Output): Mention it.
81407         tests: test some of the *-safer modules
81408         * modules/fopen-safer (Depends-on): Add fopen.
81409         * modules/fcntl-safer (Depends-on): Add fcntl.
81410         * modules/stdlib-safer (Depends-on): Add stdlib.
81411         (configure.ac): Set indicator.
81412         * modules/unistd-safer (configure.ac): Likewise.
81413         * modules/tmpfile-safer (configure.ac): Likewise.
81414         (Depends-on): Add tmpfile.
81415         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
81416         active.
81417         * tests/test-fopen.c (includes): Test safer versions when they are
81418         in use.
81419         * tests/test-open.c (includes): Likewise.
81421         popen: fix cygwin 1.5 bug when stdin closed
81422         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
81423         * modules/popen: New file.
81424         * modules/popen-tests: Likewise.
81425         * tests/test-popen.c: Likewise.
81426         * m4/popen.m4: Likewise.
81427         * lib/popen.c: Likewise.
81428         * lib/stdio.in.h (popen): New declaration.
81429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
81430         * modules/stdio (Makefile.am): Likewise.
81431         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
81433 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
81435         maint.mk: give full control over update-copyright exclusions
81436         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
81437         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
81438         (update-copyright): Don't force inclusion of top-level
81439         ChangeLog.  Don't force exclusion of all COPYING files, but make
81440         them the default exclusion instead.
81442 2009-08-16  Bruno Haible  <bruno@clisp.org>
81444         Fix test failures on Solaris 10.
81445         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
81446         tests when Solaris iconv() is used.
81447         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
81448         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
81449         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
81450         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
81451         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
81453 2009-08-16  Bruno Haible  <bruno@clisp.org>
81455         Fix test failures on Solaris 10.
81456         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
81457         'tr' program and pass it as first argument.
81458         * tests/test-pipe-filter-gi1.sh: Likewise.
81459         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
81460         program as first argument.
81461         * tests/test-pipe-filter-gi1.c (main): Likewise.
81463 2009-08-16  Eric Blake  <ebb9@byu.net>
81465         fpurge: fix previous commits
81466         * modules/fpurge (Makefile.am): Make replacement conditional,
81467         partially reverting 2007-04-29 change; missed in previous
81468         attempt.
81469         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
81470         is missing.
81472 2009-08-16  Bruno Haible  <bruno@clisp.org>
81474         Clarify fpurge's effect on the file position.
81475         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
81476         * tests/test-fpurge.c (main): Make a second pass for checking the file
81477         position.
81479 2009-08-16  Bruno Haible  <bruno@clisp.org>
81481         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
81482         declaration of fpurge is missing.
81483         * tests/test-fpurge.c (main): Check that the file has not more contents
81484         than expected. Close the file before removing it.
81486 2009-08-15  Eric Blake  <ebb9@byu.net>
81488         fpurge: don't wrap working cygwin implementation
81489         * lib/fpurge.c (fpurge): Fix comment typo.
81490         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
81491         1.7 to avoid replacement.
81492         * tests/test-fpurge.c (main): Enhance test.
81494 2009-08-15  Eric Blake  <ebb9@byu.net>
81495         and Jim Meyering  <meyering@redhat.com>
81497         test-update-copyright: skip if perl is insufficient
81498         * tests/test-update-copyright.sh: Failure to run maintainer tool
81499         should not cause testsuite failure on cygwin 1.5.
81501 2009-08-14  Eric Blake  <ebb9@byu.net>
81503         doc: mention more functions added in cygwin 1.7.0
81504         * doc/posix-headers/limits.texi (limits.h): Update for recent
81505         cygwin additions.
81506         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
81507         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
81508         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
81509         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
81510         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
81512 2009-08-14  Eric Blake  <ebb9@byu.net>
81514         maint.mk: simplify update-copyright rule
81515         * top/maint.mk (update-copyright-local): Delete, and document how
81516         to do it in cfg.mk instead.
81517         (update-copyright-exclude-regexp): Delete, and document how to do
81518         it in .x-update-copyright instead.
81519         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
81520         exclude ChangeLog.
81522 2009-08-14  Bruno Haible  <bruno@clisp.org>
81524         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
81526 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81528         maint.mk: support update-copyright-env
81529         * top/maint.mk (update-copyright-env): Define place-holder.
81530         (update-copyright): Expand $(update-copyright-env) before
81531         invoking update-copyright.
81533 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81535         update-copyright: implement forced reformatting
81536         * build-aux/update-copyright: Implement and document
81537         UPDATE_COPYRIGHT_FORCE.
81538         * tests/test-update-copyright.sh: Test it.
81540 2009-08-14  Eric Blake  <ebb9@byu.net>
81541         and Bruno Haible  <bruno@clisp.org>
81543         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
81544         * tests/test-locale.c: Revert previous patch related to NULL.
81545         * tests/test-stdio.c: Likewise.
81546         * tests/test-stdlib.c: Likewise.
81547         * tests/test-string.c: Likewise.
81548         * tests/test-unistd.c: Likewise.
81549         * modules/time-tests (Depends-on): Add verify.
81550         * modules/wchar-tests (Depends-on): Likewise.
81551         * tests/test-time.c: Test for NULL compliance.
81552         * tests/test-wchar.c: Likewise.
81553         * modules/locale (Depends-on): Add stddef.
81554         * modules/stdio (Depends-on): Likewise.
81555         * modules/stdlib (Depends-on): Likewise.
81556         * modules/string (Depends-on): Likewise.
81557         * modules/time (Depends-on): Likewise.
81558         * modules/unistd (Depends-on): Likewise.
81559         * modules/wchar (Depends-on): Likewise.
81560         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
81561         * lib/stdlib.in.h (includes): Likewise.
81562         * lib/string.in.h (includes): Likewise.
81563         * lib/time.in.h (includes): Likewise.
81564         * lib/unistd.in.h (includes): Likewise.
81565         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
81566         replaced.
81567         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
81568         * m4/stddef_h.m4: New file.
81569         * modules/stddef: Likewise.
81570         * lib/stddef.in.h: Likewise.
81571         * modules/stddef-tests: Likewise.
81572         * tests/test-stddef.c: Likewise.
81573         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
81574         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
81575         * doc/posix-headers/locale.texi (locale.h): Likewise.
81576         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
81577         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
81578         * doc/posix-headers/string.texi (string.h): Likewise.
81579         * doc/posix-headers/time.texi (time.h): Likewise.
81580         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
81581         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
81583 2009-08-14  Eric Blake  <ebb9@byu.net>
81585         doc: improve git diff of texinfo files
81586         * .gitattributes: Add rule for *.texi files, with hint on how to
81587         use it.
81588         Copied from m4, and based on a report by Bruno Haible.
81590 2009-08-14  Bruno Haible  <bruno@clisp.org>
81592         Disable multithread support by default on Cygwin 1.5.x for real.
81593         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
81595 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81597         update-copyright: much ado about intervals
81598         * build-aux/update-copyright: Implement and document
81599         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
81600         of copyright year intervals.
81601         Also, document UPDATE_COPYRIGHT_YEAR.
81602         * tests/test-update-copyright.sh: Test it.
81604         update-copyright: convert 2-digit to 4-digit years
81605         * build-aux/update-copyright: Implement and document.
81606         * tests/test-update-copyright.sh: Update.
81608 2009-08-14  Jim Meyering  <meyering@redhat.com>
81610         test-exclude: avoid coreutils "make check" failure
81611         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
81612         just as in test-argmatch.c.
81614 2009-08-13  Eric Blake  <ebb9@byu.net>
81616         test-dup2: fix bad assumption
81617         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
81618         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
81620         test-version-etc: fix CRLF portability issue
81621         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
81622         recognize \r.
81623         * tests/test-argp-version-etc-1.sh: Likewise.
81625         getopt: update client modules
81626         * modules/argp (Depends-on): Use getopt-gnu.
81627         * modules/git-merge-changelog (Depends-on): Likewise.
81628         * modules/long-options (Depends-on): Likewise.
81629         * modules/xstrtol (Depends-on): Likewise.
81631 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81633         * tests/test-version-etc.sh: Don't fail on different
81634         project/version.  Don't fail on CRLF differences.  Rewrite to use
81635         multiple -e instead of multiple sed forks, suggested by Eric Blake
81636         <ebb9@byu.net>.
81637         * tests/test-argp-version-etc-1.sh: Likewise.
81639 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81641         * tests/test-version-etc.sh: Don't fail on different
81642         project/version.
81644 2009-08-12  Bruno Haible  <bruno@clisp.org>
81646         Tests for modules 'getopt-posix', 'getopt-gnu'.
81647         * modules/getopt-posix-tests: New file.
81648         * tests/test-getopt.c: New file.
81649         * tests/test-getopt.h: New file.
81650         * tests/test-getopt_long.h: New file.
81652         New modules 'getopt-posix', 'getopt-gnu'.
81653         * modules/getopt-gnu: New file, renamed from modules/getopt.
81654         * modules/getopt-posix: New file.
81655         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
81656         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
81657         (gl_GETOPT): Remove macro.
81658         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
81659         Disable the test against BSD systems that declare optreset. Test
81660         against mingw bug. Test against lack of support of optional arguments
81661         on many platforms.
81662         * doc/glibc-headers/getopt.texi: Update module name and list of
81663         relevant platforms.
81664         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
81665         'getopt-gnu' and more portability problems.
81666         * NEWS: Mention the changes.
81668 2009-08-12  Bruno Haible  <bruno@clisp.org>
81670         Ensure that optarg etc. get declared by <unistd.h>.
81671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
81672         AC_USE_SYSTEM_EXTENSIONS.
81673         * modules/getopt (Depends-on): Add 'extensions'.
81675 2009-08-12  Bruno Haible  <bruno@clisp.org>
81677         Avoid test link errors.
81678         * modules/pipe-filter-ii-tests (Makefile.am): Define
81679         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
81680         * modules/pipe-filter-gi-tests (Makefile.am): Define
81681         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
81682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81684 2009-08-12  Bruno Haible  <bruno@clisp.org>
81686         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
81687         gl_GETOPT_SUBSTITUTE before.
81688         (gl_GETOPT): Use it.
81689         * m4/argp.m4 (gl_ARGP): Update.
81690         Reported by Sergey Poznyakoff.
81692         * m4/getopt.m4: Reorder macros.
81693         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
81694         (gl_GETOPT_SUBSTITUTE): Remove macro.
81696 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81698         Minor improvement in gitlog-to-changelog
81700         * build-aux/gitlog-to-changelog: New option `--format' makes
81701         output format string configurable.
81703 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81705         Optimize exclude: use hash tables for non-wildcard patterns.
81707         * lib/exclude.c: Include hash.h and mbuiter.h
81708         (struct exclude_pattern, exclude_segment): New data types.
81709         (struct exclude): Rewrite.
81710         (fnmatch_pattern_has_wildcards): New function.
81711         (new_exclude_segment, free_exclude_segment): New functions.
81712         (excluded_file_pattern_p, excluded_file_name_p): New functions.
81713         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
81714         * lib/exclude.h (is_fnmatch_pattern): New prototype.
81715         * modules/exclude: Depend on hash and mbuiter.
81717         * modules/exclude-tests: New file.
81718         * tests/test-exclude.c: New file.
81719         * tests/test-exclude1.sh: New file.
81720         * tests/test-exclude2.sh: New file.
81721         * tests/test-exclude3.sh: New file.
81722         * tests/test-exclude4.sh: New file.
81723         * tests/test-exclude5.sh: New file.
81724         * tests/test-exclude6.sh: New file.
81725         * tests/test-exclude7.sh: New file.
81727 2009-08-12  Bruno Haible  <bruno@clisp.org>
81729         Ensure that getopt() gets declared by <unistd.h>.
81730         * lib/unistd.in.h: Conditionally include getopt.h.
81731         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
81732         Set GNULIB_UNISTD_H_GETOPT.
81733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81734         GNULIB_UNISTD_H_GETOPT.
81735         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
81737 2009-08-12  Bruno Haible  <bruno@clisp.org>
81739         Clarify logic.
81740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
81741         gl_replace_getopt instead of GETOPT_H.
81743 2009-08-12  Bruno Haible  <bruno@clisp.org>
81745         * m4/getopt.m4: Add comments.
81747 2009-08-12  Bruno Haible  <bruno@clisp.org>
81749         Disable multithread support by default on Cygwin 1.5.x.
81750         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
81751         set gl_use_threads=no if not specified otherwise.
81753 2009-08-11  Bruno Haible  <bruno@clisp.org>
81755         Avoid compilation error on NetBSD 5.0.
81756         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
81757         * tests/test-stdio.c: Likewise.
81758         * tests/test-stdlib.c: Likewise.
81759         * tests/test-string.c: Likewise.
81760         * tests/test-unistd.c: Likewise.
81761         Reported by Greg Troxel <gdt@ir.bbn.com>
81762         at <https://savannah.gnu.org/support/?106973>.
81764 2009-08-11  Bruno Haible  <bruno@clisp.org>
81766         * modules/dup2-tests (Depends-on): Remove close.
81768         Undo 2009-07-19 commit.
81769         * modules/acl-tests (Depends-on): Remove close.
81770         * modules/binary-io-tests (Depends-on): Likewise.
81771         * modules/closein-tests (Depends-on): Likewise.
81772         * modules/flock-tests (Depends-on): Likewise.
81773         * modules/fsync-tests (Depends-on): Likewise.
81774         * modules/lseek-tests (Depends-on): Likewise.
81775         * modules/pipe-tests (Depends-on): Likewise.
81776         * modules/posix_spawn-tests (Depends-on): Likewise.
81777         * modules/posix_spawnp-tests (Depends-on): Likewise.
81778         * modules/stat-time-tests (Depends-on): Likewise.
81779         * modules/yesno-tests (Depends-on): Likewise.
81781 2009-08-10  Bruno Haible  <bruno@clisp.org>
81783         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
81785 2009-08-10  Bruno Haible  <bruno@clisp.org>
81787         Fix a gcc warning.
81788         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
81790 2009-08-10  Bruno Haible  <bruno@clisp.org>
81792         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
81793         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
81794         not only the first time.
81795         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
81796         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
81797         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
81798         is 1, not only the first time.
81800 2009-08-10  Bruno Haible  <bruno@clisp.org>
81802         Make it possible to use module 'gethostname' without module 'close'.
81803         * lib/unistd.in.h (close): Evoke a link error only if
81804         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81806         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81807         * modules/unistd (Makefile.am): Substitute
81808         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81809         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
81810         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81811         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
81812         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81813         * modules/sys_ioctl (Makefile.am): Substitute
81814         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81815         * modules/socket (configure.ac): On native Windows, set
81816         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
81817         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81818         Reported by Sam Steingold <sds@gnu.org>.
81820 2009-08-10  Bruno Haible  <bruno@clisp.org>
81822         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
81823         * modules/ioctl (configure.ac): Likewise.
81825 2009-08-10  Bruno Haible  <bruno@clisp.org>
81827         Avoid collision between gnulib wrapper and libintl wrapper.
81828         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
81829         already defined in intl/printf.c.
81830         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
81831         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
81833 2009-08-09  Bruno Haible  <bruno@clisp.org>
81835         Make <sys/select.h> really self-contained, also on Solaris 10.
81836         * lib/sys_select.in.h: Include <string.h>.
81837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
81838         Solaris 10 problem.
81839         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
81840         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
81841         Reported by Jim Meyering.
81843 2009-08-09  Bruno Haible  <bruno@clisp.org>
81845         Avoid warnings from 'aclocal' that are due to a use of macro name
81846         AM_XGETTEXT_OPTION that is not defined in automake.
81847         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
81848         automake.
81849         * modules/error (configure.ac): Likewise.
81850         * modules/propername (configure.ac): Likewise.
81851         * modules/vasprintf (configure.ac): Likewise.
81852         * modules/verror (configure.ac): Likewise.
81853         * modules/xprintf (configure.ac): Likewise.
81854         * modules/xvasprintf (configure.ac): Likewise.
81856 2009-08-08  Bruno Haible  <bruno@clisp.org>
81858         Avoid compilation error in C++ mode.
81859         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
81860         Reported by Sam Steingold <sds@gnu.org>.
81862 2009-08-08  Bruno Haible  <bruno@clisp.org>
81864         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
81865         for the various Unix platforms.
81866         * doc/posix-headers/limits.texi: Update platforms list regarding
81867         HOST_NAME_MAX.
81868         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81870 2009-08-07  Jim Meyering  <meyering@redhat.com>
81872         selinux-at: fix typo in a comment
81873         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
81874         Spotted by Paolo Bonzini.
81876         selinux-at: remove redundant m4 code, add documentation
81877         * modules/selinux-at (configure.ac): Remove redundant code.
81878         LIB_SELINUX is already set via the dependent module, selinux-h.
81879         (Include): Add quotes around selinux-at.h.
81880         * lib/selinux-at.h: Add documentation.
81881         Reported by Bruno Haible in
81882         http://marc.info/?l=gnulib-bug&m=124958988300749
81884 2009-08-07  Bruno Haible  <bruno@clisp.org>
81886         Avoid link error on MacOS X 10.3 and 10.4.
81887         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
81888         on non-ELF systems.
81889         * lib/argp-pv.c (argp_program_version): Likewise.
81890         Reported by Simon Josefsson.
81892 2009-08-07  Simon Josefsson  <simon@josefsson.org>
81894         * tests/test-version-etc.sh: Use $EXEEXT.
81896 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
81898         update-copyright: update documentation to point to maint.mk
81899         * build-aux/update-copyright: Here.
81901 2009-08-06  Jim Meyering  <meyering@redhat.com>
81903         maint.mk: support update-copyright-local
81904         * top/maint.mk (update-copyright-local): Define place-holder.
81905         (update-copyright): Depend on $(update-copyright-local).
81907 2009-08-06  Jim Meyering  <meyering@redhat.com>
81909         selinux-at: new module
81910         Initially written for coreutils, this module will soon be
81911         used by findutils, too.
81912         * MODULES.html.sh [Misc]: Add selinux-at.
81913         * lib/selinux-at.h: New file, from coreutils.
81914         * lib/selinux-at.c: Likewise.
81915         * modules/selinux-at: Likewise.
81916         (License): Change from LGPL to GPL, since it depends
81917         on the GPL'd openat module.
81919         doc: update README
81920         * README: Remove references to cogito.
81921         Remove cvs-repo-updating instructions from 2007.
81922         Don't imply that CVS is better if you have limited disk space.
81924 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81926         update-copyright: support C-style comments
81927         * build-aux/update-copyright: Implement and document.
81928         * tests/test-update-copyright.sh: Test.
81930 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81932         update-copyright: support omitted "(C)"
81933         * build-aux/update-copyright: Implement and document.  Also,
81934         allow variable whitespace before "(C)".
81935         * tests/test-update-copyright.sh: Test.
81937 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81939         update-copyright: don't trip on non-FSF copyright statements
81940         * build-aux/update-copyright: Fix so that the first correctly
81941         formatted FSF copyright statement is recognized no matter what
81942         appears before it.  Update documentation.
81943         * tests/test-update-copyright.sh: Test that.
81945 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81947         update-copyright: clean up code a little
81948         * build-aux/update-copyright: Append "_re" to the name of any
81949         variable holding a regular expression.
81950         Replace "old" and "new" with "stmt" in variable names.
81951         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
81952         handled correctly.
81953         Format code more consistently.
81955 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81957         update-copyright-tests: improve portability
81958         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
81959         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
81961 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81963         update-copyright: support @copyright{} and &copy;
81964         * build-aux/update-copyright: Implement and document.
81965         * tests/test-update-copyright.sh: Test.
81967 2009-08-04  Jim Meyering  <meyering@redhat.com>
81969         update-copyright-tests: correctly test EOL=\r\n handling
81970         * tests/test-update-copyright.sh: Put \r at the end of some lines
81971         for the dos-eol tests.  Based on a patch by Joel E. Denny.
81973         maint.mk: make update-copyright exclusion list more configurable
81974         * top/maint.mk (update-copyright): Default to excluding COPYING,
81975         but allow an override, in case someone does want to update that file.
81977         maint.mk: don't update copyright date in COPYING
81978         * top/maint.mk (update-copyright): Exclude COPYING.
81980         maint.mk: add a copyright-updating rule
81981         * top/maint.mk (update-copyright): New rule.
81982         Derived from coreutils/Makefile.am.
81984         update-copyright: rename some variables
81985         * build-aux/update-copyright: Rename a few variables for clarity.
81986         Tweak syntax.  List Joel E. Denny as coauthor.
81988 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81990         update-copyright: fix bug for 2-digit last year and add tests
81991         * build-aux/update-copyright: Fix bug.
81992         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
81993         specified.
81994         * modules/update-copyright-tests: New
81995         * tests/test-update-copyright.sh: New.
81997 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81999         update-copyright: handle leading tabs in line prefix
82000         * build-aux/update-copyright: Count leading tabs as 8 spaces
82001         when computing margin.  This helps with the formatting of
82002         ChangeLogs, for example.
82003         Fix documentation a little.
82005 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82007         update-copyright: support EOL=\r\n
82008         * build-aux/update-copyright: Implement that.
82010 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82012         update-copyright: automatically format copyright statements
82013         * build-aux/update-copyright: Implement that.
82014         Also, be a little more predictable and safer by always failing
82015         when the full copyright format is not perfectly recognized as an
82016         unbroken whole.  Discussed at
82017         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
82018         Rewrite documentation.
82020 2009-08-03  Bruno Haible  <bruno@clisp.org>
82022         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
82024 2009-08-02  Bruno Haible  <bruno@clisp.org>
82026         Tests for module 'uname'.
82027         * modules/uname-tests: New file.
82028         * tests/test-uname.c: New file.
82030         New module 'uname'.
82031         * lib/uname.c: New file.
82032         * m4/uname.m4: New file.
82033         * modules/uname: New file.
82034         * doc/posix-functions/uname.texi: Mention the new module.
82036 2009-08-02  Bruno Haible  <bruno@clisp.org>
82038         Tests for module 'sys_utsname'.
82039         * modules/sys_utsname-tests: New file.
82040         * tests/test-sys_utsname.c: New file.
82042         New module 'sys_utsname'.
82043         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
82044         * m4/sys_utsname_h.m4: New file.
82045         * modules/sys_utsname: New file.
82046         * doc/posix-headers/sys_utsname.texi: Mention the new module.
82048 2009-08-02  Bruno Haible  <bruno@clisp.org>
82050         Implicitly initialize the sockets library.
82051         * lib/gethostname.c: Include sockets.h.
82052         (rpl_gethostname): Invoke gl_sockets_startup.
82053         * lib/socket.c: Include sockets.h.
82054         (rpl_socket): Invoke gl_sockets_startup.
82055         * modules/gethostname (Depends-on): Add sockets.
82056         * modules/socket (Depends-on): Likewise.
82057         * tests/test-poll.c: Don't include sockets.h.
82058         (main): Don't invoke gl_sockets_startup.
82059         * tests/test-select.c: Don't include sockets.h.
82060         (main): Don't invoke gl_sockets_startup.
82062 2009-08-02  Bruno Haible  <bruno@clisp.org>
82064         Allow multiple calls to gl_sockets_startup.
82065         * lib/sockets.c (initialized_sockets_version): New variable.
82066         (gl_sockets_startup): Do nothing if already called for this or a higher
82067         version.
82068         (gl_sockets_cleanup): Reset initialized_sockets_version.
82070 2009-08-03  Simon Josefsson  <simon@josefsson.org>
82072         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
82073         different project/version.
82075 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
82076             Bruno Haible  <bruno@clisp.org>
82078         Tests for module 'pipe-filter-gi'.
82079         * modules/pipe-filter-gi-tests: New file.
82080         * tests/test-pipe-filter-gi1.sh: New file.
82081         * tests/test-pipe-filter-gi1.c: New file.
82082         * tests/test-pipe-filter-gi2.sh: New file.
82083         * tests/test-pipe-filter-gi2-main.c: New file.
82084         * tests/test-pipe-filter-gi2-child.c: New file.
82086         New module 'pipe-filter-gi'.
82087         * lib/pipe-filter-gi.c: New file.
82088         * modules/pipe-filter-gi: New file.
82090 2009-08-02  Bruno Haible  <bruno@clisp.org>
82091             Paolo Bonzini  <bonzini@gnu.org>
82093         Tests for module 'pipe-filter-ii'.
82094         * modules/pipe-filter-ii-tests: New file.
82095         * tests/test-pipe-filter-ii1.sh: New file.
82096         * tests/test-pipe-filter-ii1.c: New file.
82097         * tests/test-pipe-filter-ii2.sh: New file.
82098         * tests/test-pipe-filter-ii2-main.c: New file.
82099         * tests/test-pipe-filter-ii2-child.c: New file.
82101         New module 'pipe-filter-ii'.
82102         * lib/pipe-filter.h: New file.
82103         * lib/pipe-filter-ii.c: New file.
82104         * lib/pipe-filter-aux.h: New file.
82105         * modules/pipe-filter-ii: New file.
82107 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82109         * lib/gc-libgcrypt.c: Change copyright to FSF.
82110         * lib/gc-gnulib.c: Likewise.
82112 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
82114         * lib/gethostname.c: Include limits.h.
82116 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82117             Bruno Haible  <bruno@clisp.org>
82119         Ensure HOST_NAME_MAX as part of the gethostname module.
82120         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
82121         define also HOST_NAME_MAX.
82122         * tests/test-gethostname.c: Include <limits.h>.
82123         (main): Check also HOST_NAME_MAX.
82124         * doc/posix-headers/limits.texi: Document the mingw problem.
82126 2009-08-02  Bruno Haible  <bruno@clisp.org>
82128         * lib/gethostname.c (gethostname): Fix handling of large len argument.
82129         Add comments.
82131 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82133         * lib/gethostname.c: Add Windows wrapper.
82134         * m4/gethostname.m4: Look for gethostname in -lws2_32.
82135         * modules/gethostname: Depend on sys_socket & errno, for also
82136         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
82137         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
82139 2009-07-31  Jim Meyering  <meyering@redhat.com>
82141         getloadavg: fix symbol name in comment
82142         * lib/getloadavg.c: Correct a typo I introduced when adding
82143         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
82144         Matt Kraai spotted the problem.
82146 2009-07-29  Matt Kraai  <mkraai@beckman.com>
82148         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
82149         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
82150         code also if ! defined N_NAME_POINTER.
82151         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
82152         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
82153         but the n_name member is a 12-byte array.
82155 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
82157         update-copyright: generalize comment handling
82158         * build-aux/update-copyright: Handle copyright statements
82159         within more comment styles.
82160         Document usage.
82161         Report any file with an external copyright holder or parse failure.
82163 2009-07-29  Jim Meyering  <meyering@redhat.com>
82165         mktime: correct setting of REPLACE_MKTIME
82166         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
82168         update-copyright: new module
82169         * modules/update-copyright: New file.
82170         * build-aux/update-copyright: New file.
82171         * MODULES.html.sh (maint+release support): Add update-copyright.
82173 2009-07-27  Bruno Haible  <bruno@clisp.org>
82175         Fix compilation error when <ctime> is used and mktime is replaced.
82176         * lib/time.in.h (mktime): New declaration.
82177         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
82178         REPLACE_MKTIME instead of defining mktime in config.h.
82179         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
82180         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
82181         Reported by Ross McFarland <rwmcfa1@neces.com>.
82183 2009-07-27  Bruno Haible  <bruno@clisp.org>
82185         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
82186         Reported by Matt Kraai <mkraai@beckman.com>.
82188 2009-07-25  Jim Meyering  <meyering@redhat.com>
82190         maint.mk: avoid warnings about missing files
82191         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
82192         diagnostic when .prev-version does not exist.
82193         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
82194         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
82195         nonexistent cfg.mk.
82196         Suggestions from Simon Josefsson.
82198 2009-07-25  Bruno Haible  <bruno@clisp.org>
82200         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
82201         defined as macros. Needed on QNX 6.4.1.
82202         Reported by Matt Kraai <mkraai@beckman.com>.
82204 2009-07-23  Jim Meyering  <meyering@redhat.com>
82206         maint.mk: invoke "make dist" with a working value of XZ_OPT
82207         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
82209 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
82211         Make fseeko.c compile on QNX.
82212         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
82214 2009-07-22  Peter Simons  <simons@cryp.to>
82216         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
82217         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
82218         * lib/md4.h: Likewise.
82219         * lib/md5.h: Likewise.
82220         * lib/sha1.h: Likewise.
82221         * lib/sha256.h: Likewise.
82222         * lib/sha512.h: Likewise.
82224         tests-sha1: don't assign literal string to 'char *' variable
82225         * tests/test-sha1.c (main): Declare locals with "const" to match
82226         attributes of the right hand side.
82228 2009-07-21  Eric Blake  <ebb9@byu.net>
82230         dup2: fix more mingw problems
82231         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
82232         fd to itself.
82233         * doc/posix-functions/dup2.texi (dup2): Document the bug.
82234         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
82235         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
82236         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
82237         care of mingw bugs.
82239 2009-07-21  Jim Meyering  <meyering@redhat.com>
82241         vc-list-files: avoid failure when /bin/sh is dash
82242         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
82243         On some Debian based systems, /bin/sh is a symlink to dash, and running
82244         this command would omit the "/" following each 'tests' prefix:
82245           dash -x build-aux/vc-list-files -C . tests
82246         That is because bash and dash work differently:
82247           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
82248           bash ok
82249           dash odd
82251 2009-07-21  Eric Blake  <ebb9@byu.net>
82253         dup2-tests: test previous patch
82254         * modules/dup2-tests: New file.
82255         * tests/test-dup2.c: Likewise.
82256         * tests/test-open.c (main): Avoid unspecified behavior.
82257         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
82258         test.
82260         dup2: work around mingw and cygwin 1.5 bug
82261         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
82262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
82263         * modules/unistd (Makefile.am): Substitute it.
82264         * lib/unistd.in.h (dup2): Declare the replacement.
82265         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
82266         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
82267         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
82268         * modules/execute (Depends-on): Add dup2.
82269         * modules/fseterr (Depends-on): Likewise.
82270         * modules/pipe (Depends-on): Likewise.
82271         * modules/posix_spawn-internal (Depends-on): Likewise.
82273 2009-07-21  Bruno Haible  <bruno@clisp.org>
82275         * modules/.gitattributes: New file.
82277 2009-07-20  Bruno Haible  <bruno@clisp.org>
82279         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
82280         (main): Use it.
82282 2009-07-20  Eric Blake  <ebb9@byu.net>
82284         test-pipe: make a bit more robust.
82285         * tests/test-pipe.c (myerr): Allow error messages regardless of
82286         what we do to stderr.
82287         (test_pipe): Rearrange to avoid deadlock.
82288         (child_main): Try a larger read, to ensure we avoided deadlock.
82289         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
82290         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
82291         if misused.
82293 2009-07-19  Jim Meyering  <meyering@redhat.com>
82295         fts: avoid false-positive cycle-detection
82296         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
82297         for each new command line argument.
82299 2009-07-19  Bruno Haible  <bruno@clisp.org>
82301         Fix build error on mingw with the modules sys_select and unistd.
82302         * modules/acl-tests (Depends-on): Add close.
82303         * modules/binary-io-tests (Depends-on): Likewise.
82304         * modules/closein-tests (Depends-on): Likewise.
82305         * modules/flock-tests (Depends-on): Likewise.
82306         * modules/fsync-tests (Depends-on): Likewise.
82307         * modules/lseek-tests (Depends-on): Likewise.
82308         * modules/pipe-tests (Depends-on): Likewise.
82309         * modules/posix_spawn-tests (Depends-on): Likewise.
82310         * modules/posix_spawnp-tests (Depends-on): Likewise.
82311         * modules/stat-time-tests (Depends-on): Likewise.
82312         * modules/yesno-tests (Depends-on): Likewise.
82314 2009-07-19  Bruno Haible  <bruno@clisp.org>
82316         Unify conditionals.
82317         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
82318         macros, not at the compiler macros.
82319         * lib/pipe.c: Likewise.
82320         * lib/execute.c: Likewise.
82321         * lib/spawni.c: Likewise.
82323 2009-07-19  Bruno Haible  <bruno@clisp.org>
82325         Fix handling of closed stdin/stdout/stderr on mingw.
82326         * lib/w32spawn.h: Include unistd.h.
82327         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
82328         file descriptor with O_NOINHERIT flag.
82329         (fd_safer_noinherit): New function, based on fd-safer.c.
82330         (dup_safer_noinherit): New function, based on dup-safer.c.
82331         (undup_safer_noinherit): New function.
82332         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
82333         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
82334         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
82335         instead of fd_safer.
82336         * tests/test-pipe.c: Include <windows.h>.
82337         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
82338         result.
82340         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
82341         from main.
82342         (test_pipe): Pass an extra argument for disambiguation.
82343         (main): Invoke parent_main or child_main.
82345         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
82346         consistently.
82348 2009-07-18  Eric Blake  <ebb9@byu.net>
82350         test-pipe: fix mingw build
82351         * tests/test-pipe.c (main): Avoid fcntl on mingw.
82353 2009-07-18  Bruno Haible  <bruno@clisp.org>
82355         * modules/pipe-tests (Makefile.am): Fix typo.
82357 2009-07-18  Eric Blake  <ebb9@byu.net>
82359         error: fix mingw build
82360         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
82361         Reported by Bruno Haible.
82363         error: avoid undefined use of stdout
82364         * lib/error.c (error, error_at_line): Check that fd 1 is open
82365         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
82366         is handling faults and the close_stdout module wants to report the
82367         detection of closed stdout as an error.
82369 2009-07-17  Eric Blake  <ebb9@byu.net>
82371         pipe: be robust in face of closed fds
82372         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
82373         should cause child to misbehave.
82374         * modules/pipe-tests: New module.
82375         * tests/test-pipe.c: New file.
82376         * tests/test-pipe.sh: New file.
82377         Reported by Akim Demaille.
82379 2009-07-14  Bruno Haible  <bruno@clisp.org>
82381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
82382         Reported by anonymous kc.
82384 2009-07-07  Jim Meyering  <meyering@redhat.com>
82386         maint.mk: don't look for translatable strings in *.m4 or *.mk
82387         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
82388         when searching for translatable strings.
82390 2009-07-05  Jim Meyering  <meyering@redhat.com>
82392         remove superfluous parentheses in STREQ definition
82393         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
82394         * lib/getugroups.c (STREQ): Likewise.
82395         * lib/fnmatch.c (STREQ): Likewise.
82396         Spotted by Bruno Haible.
82398 2009-07-04  Jim Meyering  <meyering@redhat.com>
82400         argv-iter: new module
82401         * MODULES.html.sh: Add argv-iter.
82402         * lib/argv-iter.c, lib/argv-iter.h: New files.
82403         * modules/argv-iter: New file.
82404         * modules/argv-iter-tests: New file.
82405         * tests/test-argv-iter.c: Test it.
82407 2009-07-04  Bruno Haible  <bruno@clisp.org>
82409         Fix assertion.
82410         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
82411         contains more exact copies of a given entry than file2, leave the extra
82412         copies unpaired rather than aborting.
82413         Reported by Eric Blake.
82415 2009-07-02  Bruno Haible  <bruno@clisp.org>
82417         Speedup git-merge-changelog for git cherry-pick.
82418         * lib/git-merge-changelog.c (struct entries_mapping): New type.
82419         (entries_mapping_get): New function, extracted from compute_mapping.
82420         (entries_mapping_reverse_get): New function.
82421         (compute_mapping): Add a 'full' argument. Return the result in a
82422         'struct entries_mapping'.
82423         (main): Update. Access the mappings through entries_mapping_get.
82424         Reported by Eric Blake.
82426 2009-07-02  Bruno Haible  <bruno@clisp.org>
82428         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
82429         best_i.
82431 2009-07-02  Bruno Haible  <bruno@clisp.org>
82433         Speed up approximate search for matching ChangeLog entries.
82434         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
82435         argument. Call fstrcmp_bounded instead of fstrcmp.
82436         (compute_mapping, try_split_merged_entry, main): Update callers.
82438 2009-07-02  Bruno Haible  <bruno@clisp.org>
82440         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
82442 2009-06-30  Bruno Haible  <bruno@clisp.org>
82444         Reduce the number of uc_is_cased calls.
82445         * lib/unicase.h (casing_suffix_context_t): Add
82446         'first_char_except_ignorable' field.
82447         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
82448         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
82449         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
82450         Update initializer.
82451         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
82452         case-ignorable characters.
82453         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
82454         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
82455         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
82456         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
82457         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
82459 2009-06-30  Bruno Haible  <bruno@clisp.org>
82461         Tests for module 'unicase/ignorable'.
82462         * modules/unicase/ignorable-tests: New file.
82463         * tests/unicase/test-ignorable.c: New file, generated by
82464         gen-uni-tables.
82466         Tests for module 'unicase/cased'.
82467         * modules/unicase/cased-tests: New file.
82468         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
82469         * tests/unicase/test-predicate-part1.h: New file, derived from
82470         tests/unictype/test-predicate-part1.h.
82471         * tests/unicase/test-predicate-part2.h: New file, same as
82472         tests/unictype/test-predicate-part2.h.
82474         Fix evaluation of "Before C" condition of FINAL_SIGMA.
82475         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
82476         (output_casing_properties): New function.
82477         (main): Call it.
82478         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
82479         * lib/unicase/cased.c: Include unictype/bitmap.h.
82480         (uc_is_cased): Define through a bitmap lookup.
82481         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
82482         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
82483         (uc_is_case_ignorable): Define through a bitmap lookup.
82484         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
82485         lib/unictype/bitmap.h.
82486         (Depends-on): Add inline. Clean up.
82487         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
82488         lib/unictype/bitmap.h.
82489         (Depends-on): Add inline. Clean up.
82490         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
82491         recognition.
82492         * tests/unicase/test-u16-tolower.c (main): Likewise.
82493         * tests/unicase/test-u32-tolower.c (main): Likewise.
82495 2009-06-30  Bruno Haible  <bruno@clisp.org>
82497         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
82498         * lib/unicase/u16-casemap.c: Likewise.
82499         * lib/unicase/u32-casemap.c: Likewise.
82501 2009-06-29  Bruno Haible  <bruno@clisp.org>
82503         Define u32_casefold as a wrapper around u32_ct_casefold.
82504         * lib/unicase/u32-casefold.c: Update.
82505         * modules/unicase/u32-casefold (Depends-on): Add
82506         unicase/u32-ct-casefold, unicase/empty-prefix-context,
82507         unicase/empty-suffix-context. Clean up.
82509         Define u16_casefold as a wrapper around u16_ct_casefold.
82510         * lib/unicase/u16-casefold.c: Update.
82511         * modules/unicase/u16-casefold (Depends-on): Add
82512         unicase/u16-ct-casefold, unicase/empty-prefix-context,
82513         unicase/empty-suffix-context. Clean up.
82515         Define u8_casefold as a wrapper around u8_ct_casefold.
82516         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
82517         * lib/unicase/u8-casefold.c: Update.
82518         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
82519         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82521         Define u32_totitle as a wrapper around u32_ct_totitle.
82522         * lib/unicase/u32-totitle.c: Update.
82523         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
82524         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82526         Define u16_totitle as a wrapper around u16_ct_totitle.
82527         * lib/unicase/u16-totitle.c: Update.
82528         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
82529         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82531         Define u8_totitle as a wrapper around u8_ct_totitle.
82532         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
82533         functions.
82534         (FUNC): Delegate to U_CT_TOTITLE.
82535         * lib/unicase/u8-totitle.c: Update.
82536         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
82537         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82539         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
82540         invocation.
82541         * modules/unicase/u32-tolower (Depends-on): Add
82542         unicase/empty-prefix-context, unicase/empty-suffix-context.
82544         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
82545         invocation.
82546         * modules/unicase/u16-tolower (Depends-on): Add
82547         unicase/empty-prefix-context, unicase/empty-suffix-context.
82549         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
82550         * modules/unicase/u8-tolower (Depends-on): Add
82551         unicase/empty-prefix-context, unicase/empty-suffix-context.
82553         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
82554         invocation.
82555         * modules/unicase/u32-toupper (Depends-on): Add
82556         unicase/empty-prefix-context, unicase/empty-suffix-context.
82558         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
82559         invocation.
82560         * modules/unicase/u16-toupper (Depends-on): Add
82561         unicase/empty-prefix-context, unicase/empty-suffix-context.
82563         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
82564         * modules/unicase/u8-toupper (Depends-on): Add
82565         unicase/empty-prefix-context, unicase/empty-suffix-context.
82567         New module 'unicase/u32-ct-casefold'.
82568         * lib/unicase/u32-ct-casefold.c: New file.
82569         * modules/unicase/u32-ct-casefold: New file.
82571         New module 'unicase/u16-ct-casefold'.
82572         * lib/unicase/u16-ct-casefold.c: New file.
82573         * modules/unicase/u16-ct-casefold: New file.
82575         New module 'unicase/u8-ct-casefold'.
82576         * lib/unicase/u8-ct-casefold.c: New file.
82577         * lib/unicase/u-ct-casefold.h: New file, derived from
82578         lib/unicase/u-casefold.h.
82579         * modules/unicase/u8-ct-casefold: New file.
82581         New module 'unicase/u32-ct-totitle'.
82582         * lib/unicase/u32-ct-totitle.c: New file.
82583         * modules/unicase/u32-ct-totitle: New file.
82585         New module 'unicase/u16-ct-totitle'.
82586         * lib/unicase/u16-ct-totitle.c: New file.
82587         * modules/unicase/u16-ct-totitle: New file.
82589         New module 'unicase/u8-ct-totitle'.
82590         * lib/unicase/u8-ct-totitle.c: New file.
82591         * lib/unicase/u-ct-totitle.h: New file, derived from
82592         lib/unicase/u-totitle.h.
82593         * modules/unicase/u8-ct-totitle: New file.
82595         New module 'unicase/u32-ct-tolower'.
82596         * lib/unicase/u32-ct-tolower.c: New file.
82597         * modules/unicase/u32-ct-tolower: New file.
82599         New module 'unicase/u16-ct-tolower'.
82600         * lib/unicase/u16-ct-tolower.c: New file.
82601         * modules/unicase/u16-ct-tolower: New file.
82603         New module 'unicase/u8-ct-tolower'.
82604         * lib/unicase/u8-ct-tolower.c: New file.
82605         * modules/unicase/u8-ct-tolower: New file.
82607         New module 'unicase/u32-ct-toupper'.
82608         * lib/unicase/u32-ct-toupper.c: New file.
82609         * modules/unicase/u32-ct-toupper: New file.
82611         New module 'unicase/u16-ct-toupper'.
82612         * lib/unicase/u16-ct-toupper.c: New file.
82613         * modules/unicase/u16-ct-toupper: New file.
82615         New module 'unicase/u8-ct-toupper'.
82616         * lib/unicase/u8-ct-toupper.c: New file.
82617         * modules/unicase/u8-ct-toupper: New file.
82619         Add context arguments to u*_casemap functions.
82620         * lib/unicase/unicasemap.h: Include unicase.h.
82621         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
82622         suffix_context arguments.
82623         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
82624         functions.
82625         (FUNC): Add prefix_context and suffix_context arguments. Use
82626         uc_is_cased and uc_is_case_ignorable.
82627         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
82628         * lib/unicase/u16-casemap.c: Likewise.
82629         * lib/unicase/u32-casemap.c: Likewise.
82630         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
82631         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82632         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
82633         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82634         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
82635         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82637         New module 'unicase/u32-suffix-context'.
82638         * lib/unicase/u32-suffix-context.c: New file.
82639         * modules/unicase/u32-suffix-context: New file.
82641         New module 'unicase/u16-suffix-context'.
82642         * lib/unicase/u16-suffix-context.c: New file.
82643         * modules/unicase/u16-suffix-context: New file.
82645         New module 'unicase/u8-suffix-context'.
82646         * lib/unicase/u8-suffix-context.c: New file.
82647         * lib/unicase/u-suffix-context.h: New file.
82648         * modules/unicase/u8-suffix-context: New file.
82650         New module 'unicase/empty-suffix-context'.
82651         * lib/unicase/empty-suffix-context.c: New file.
82652         * modules/unicase/empty-suffix-context: New file.
82654         New module 'unicase/u32-prefix-context'.
82655         * lib/unicase/u32-prefix-context.c: New file.
82656         * modules/unicase/u32-prefix-context: New file.
82658         New module 'unicase/u16-prefix-context'.
82659         * lib/unicase/u16-prefix-context.c: New file.
82660         * modules/unicase/u16-prefix-context: New file.
82662         New module 'unicase/u8-prefix-context'.
82663         * lib/unicase/u8-prefix-context.c: New file.
82664         * lib/unicase/u-prefix-context.h: New file.
82665         * lib/unicase/context.h: New file.
82666         * modules/unicase/u8-prefix-context: New file.
82668         New module 'unicase/empty-prefix-context'.
82669         * lib/unicase/empty-prefix-context.c: New file.
82670         * modules/unicase/empty-prefix-context: New file.
82672         New module 'unicase/ignorable'.
82673         * lib/unicase/ignorable.c: New file.
82674         * modules/unicase/ignorable: New file.
82676         New module 'unicase/cased'.
82677         * lib/unicase/caseprop.h: New file.
82678         * lib/unicase/cased.c: New file.
82679         * modules/unicase/cased: New file.
82681         New functions for case mapping of substrings.
82682         * lib/unicase.h (casing_prefix_context_t): New type.
82683         (unicase_empty_prefix_context): New variable.
82684         (u8_casing_prefix_context, u16_casing_prefix_context,
82685         u32_casing_prefix_context, u8_casing_prefixes_context,
82686         u16_casing_prefixes_context, u32_casing_prefixes_context): New
82687         declarations.
82688         (casing_suffix_context_t): New type.
82689         (unicase_empty_suffix_context): New variable.
82690         (u8_casing_suffix_context, u16_casing_suffix_context,
82691         u32_casing_suffix_context, u8_casing_suffixes_context,
82692         u16_casing_suffixes_context, u32_casing_suffixes_context,
82693         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
82694         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
82695         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
82696         declarations.
82698 2009-06-28  Jim Meyering  <meyering@redhat.com>
82700         boostrap: indent only with spaces
82701         * build-aux/bootstrap: Indent only with spaces, never TABs.
82703         bootstrap: split long lines
82704         * build-aux/bootstrap: Keep line length < 80.
82706         bootstrap: sync from coreutils
82707         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
82708         just as autoreconf does.  Verify a list of prerequisite
82709         package-name,version-number pairs if defined in bootstrap.conf.
82710         Refer to README-prereq, if prerequisites are not satisfied.
82712 2009-06-27  Eric Blake  <ebb9@byu.net>
82714         tests: add test for bogus NULL definition
82715         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
82716         * tests/test-stdlib.c: Likewise.
82717         * tests/test-string.c: Likewise.
82718         * tests/test-locale.c: Likewise.
82719         * tests/test-unistd.c: Likewise.
82720         * modules/stdio-tests (Depends-on): Add verify.
82721         * modules/stdlib-tests (Depends-on): Likewise.
82722         * modules/string-tests (Depends-on): Likewise.
82723         * modules/locale-tests (Depends-on): Likewise.
82724         * modules/unistd-tests (Depends-on): Likewise.
82726 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
82728         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
82729         self-explaining comment.
82730         * m4/selinux-selinux-h: Update serial.
82731         (gl_LIBSELINUX): New macro, adding a warning for missing development
82732         packages to code extracted from...
82733         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
82734         Add warning for missing development packages here, too.
82736 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
82738         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
82740 2009-06-25  Eric Blake  <ebb9@byu.net>
82742         version-etc: fix regression
82743         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
82744         gcc.
82745         (version_etc): Use it, to catch bugs with trailing NULL.
82746         * lib/version-etc.c (version_etc_arn): Delete unused argument.
82747         (version_etc_va): Fix logic bug.
82748         * modules/version-etc-tests: Add test.
82749         * tests/test-version-etc.c: New file.
82750         * tests/test-version-etc.sh: Likewise.
82752 2009-06-25  Sam Steingold  <sds@gnu.org>
82754         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
82755         mbtowc declaration.
82757 2009-06-25  Eric Blake  <ebb9@byu.net>
82759         fpurge: migrate into <stdio.h>
82760         * lib/fpurge.h: Delete...
82761         * lib/stdio.in.h (fpurge): ...and declare here, instead.
82762         * lib/fpurge.c (fpurge): Change declaring header.
82763         * modules/fpurge (Files): Drop deleted file.
82764         (Depends-on): Add stdio.
82765         (configure.ac): Set witness.
82766         * modules/stdio (Makefile.am): Support fpurge macros.
82767         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
82768         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
82769         * lib/fflush.c: Update client.
82770         * tests/test-fpurge.c: Likewise.
82771         * NEWS: Mention the change.
82773 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82775         * lib/argp-version-etc.c (program_authors): Add const
82776         qualifier.
82777         * lib/version-etc.c: Fix typos in the comments.
82778         * modules/argp-version-etc: Depends on version-etc.
82780 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82782         argp-version-etc: new module.
82784         * lib/argp-version-etc.c: New file.
82785         * lib/argp-version-etc.h: New file.
82786         * modules/argp-version-etc: New file.
82787         * modules/argp-version-etc-tests: New file.
82788         * tests/test-argp-version-etc.c: New test.
82789         * tests/test-argp-version-etc-1.sh: New test.
82791 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82793         Provide additional interfaces and documentation for version-etc
82794         module.
82796         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
82797         interfaces.
82798         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
82799         prototypes.
82801 2009-06-24  Bruno Haible  <bruno@clisp.org>
82803         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
82804         HAVE_LIB${NAME} macro.
82805         Reported by Sam Steingold <sds@gnu.org>.
82807 2009-06-23  Simon Josefsson  <simon@josefsson.org>
82809         * modules/hash-tests (test_hash_LDADD): Link to libintl when
82810         needed.
82812 2009-06-21  Bruno Haible  <bruno@clisp.org>
82814         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
82815         work.
82816         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
82817         together with LIB${NAME}, LTLIB${NAME}.
82818         Reported by Sam Steingold <sds@gnu.org>.
82820 2009-06-20  Jim Meyering  <meyering@redhat.com>
82822         tests: make sc_require_test_exit_idiom more generic
82823         * top/maint.mk (Exit_witness_file): New overridable variable.
82824         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
82825         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
82827 2009-06-19  Jim Meyering  <meyering@redhat.com>
82829         hash: reverse order of src/dst parameters in an internal interface
82830         * lib/hash.c (transfer_entries): Reverse order of parameters to
82831         put DST before SRC.  Adjust callers.
82833         tests: test-hash: avoid wholesale duplication
82834         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
82835         Instead, use a loop and add a single conditional.
82837         tests: test-hash: allow seed selection via a command line argument
82838         * tests/test-hash.c (get_seed): New function.
82839         (main): Use it.
82841 2009-06-19  Eric Blake  <ebb9@byu.net>
82843         hash: avoid memory leak on allocation failure
82844         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
82845         failure.  Factor repeated algorithm...
82846         (transfer_entries): ...into new helper routine.
82847         (hash_delete): React to hash_rehash return value.
82849         hash: reduce memory pressure in hash_rehash no-op case
82850         * lib/hash.c (next_prime): Avoid overflow.
82851         (hash_initialize): Factor bucket size computation...
82852         (compute_bucket_size): ...into new helper function.
82853         (hash_rehash): Use new function and open coding to reduce memory
82854         pressure, and avoid a memory leak in USE_OBSTACK code.
82855         Reported by Jim Meyering.
82857 2009-06-18  Eric Blake  <ebb9@byu.net>
82859         hash: make rotation more obvious
82860         * modules/hash (Depends-on): Add bitrotate and stdint.
82861         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
82862         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
82863         (SIZE_MAX): Rely on headers for definition.
82864         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
82865         (raw_hasher): Use rotr_sz.
82866         Suggested by Jim Meyering.
82868         hash: fix memory leak in last patch
82869         * lib/hash.c (hash_rehash): Avoid memory leak.
82871         hash: avoid no-op rehashing
82872         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
82874         hash: provide default callback functions
82875         * lib/hash.c (raw_hasher, raw_comparator): New functions.
82876         (hash_initialize): Use them as defaults.
82877         * tests/test-hash.c (main): Test this.
82879         hash: minor optimization
82880         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
82881         when possible.
82882         (hash_initialize): Document this promise.
82883         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
82884         * tests/test-hash.c (hash_compare_strings): Test this.
82886 2009-06-18  Bruno Haible  <bruno@clisp.org>
82888         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
82889         going to be replaced anyway.
82891 2009-06-18  Bruno Haible  <bruno@clisp.org>
82893         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
82894         in one place.
82895         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
82896         be replaced anyway.
82898 2009-06-18  Eric Blake  <ebb9@byu.net>
82900         hash: check for resize before insertion
82901         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
82902         threshold before insertion, so that a pathological hash_rehash
82903         that fills every bucket can still trigger another rehash.
82905 2009-06-18  Jim Meyering  <meyering@redhat.com>
82907         hash-tests: add a loop around the small tests
82908         * tests/test-hash.c (main): Repeat small tests with selected
82909         small initial table sizes.
82911 2009-06-17  Eric Blake  <ebb9@byu.net>
82913         hash: minor cleanups
82914         * lib/hash.h (hash_entry): Make opaque, by moving...
82915         * lib/hash.c (hash_entry): ...here.
82916         (hash_insert): Clarify restrictions on what can be inserted.
82917         (hash_get_next): Clarify when it is safe to remove an element
82918         during traversal.
82919         (check_tuning): Skip verification when tuning is known safe.
82920         (hash_initialize): Clarify restrictions on tuning.
82922 2009-06-17  Jim Meyering  <jim@meyering.net>
82923         and Eric Blake  <ebb9@byu.net>
82925         hash-tests: new module
82926         * modules/hash-tests: New file.
82927         * tests/test-hash.c: New file.
82929 2009-06-17  Eric Blake  <ebb9@byu.net>
82931         strstr-simple: document new module
82932         * MODULES.html.sh: Document new module.
82934         strstr, strcasestr: replace on platforms with broken memchr
82935         * modules/strstr: Split into...
82936         * modules/strstr-simple: ...new module that does not care about
82937         performance, but does care about glibc bug.
82938         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
82939         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
82940         if platform memchr is broken, per Debian bug 521737.
82941         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
82942         memchr.
82943         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
82944         * doc/posix-functions/strstr.texi (strstr): Document the fix.
82945         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
82946         * modules/mountlist (Depends-on): Add strstr-simple.
82947         * modules/gen-uni-tables (Depends-on): Likewise.
82948         * modules/argz (Depends-on): Add strstr.
82950 2009-06-17  Bruno Haible  <bruno@clisp.org>
82952         * modules/posix_spawn-internal (Depends-on): Add errno.
82954 2009-06-17  Bruno Haible  <bruno@clisp.org>
82956         Define missing ESTALE on Interix 3.5.
82957         * lib/errno.in.h (ESTALE): Assign a value if missing.
82958         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
82959         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
82960         missing.
82961         * doc/posix-headers/errno.texi: Mention the Interix bug.
82962         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
82964 2009-06-15  Eric Blake  <ebb9@byu.net>
82966         memchr, memchr2: add valgrind exception
82967         * lib/memchr.valgrind: New file.
82968         * lib/memchr2.valgrind: New file.
82969         * modules/memchr (Files): Distribute valgrind file.
82970         * modules/memchr2 (Files): Likewise.
82972         docs: memchr is no longer obsolete
82973         * MODULES.html.sh: Move memchr from obsolete to string.h section.
82974         * lib/string.in.h (memchr): Simplify logic.
82976 2009-06-14  Jim Meyering  <meyering@redhat.com>
82978         link-follow: fix the "checking..." message to not mention trailing slash
82979         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
82980         never considered trailing slashes.
82982 2009-06-14  Bruno Haible  <bruno@clisp.org>
82984         * m4/memchr.m4: Mention also the bug on IA-64.
82985         * doc/posix-functions/memchr.texi: Likewise.
82987 2009-06-12  Eric Blake  <ebb9@byu.net>
82989         memchr: detect broken x86_64 and alpha implementations
82990         * modules/memchr-tests (Depends-on): Move mmap detection...
82991         * modules/memchr (Depends-on): ...here.
82992         (configure.ac): Set indicator.
82993         * lib/string.in.h (memchr): Declare replacement.
82994         * modules/string (Makefile.am): Trigger replacement.
82995         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
82996         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
82997         bugs.
82998         * doc/posix-functions/memchr.texi (memchr): Document the bug.
82999         * modules/getpagesize (License): Relax license.
83001 2009-06-11  Bruno Haible  <bruno@clisp.org>
83003         * lib/idpriv.h: Add more references.
83005 2009-06-08  Bruno Haible  <bruno@clisp.org>
83007         Tests for module 'idpriv-droptemp'.
83008         * modules/idpriv-droptemp-tests: New file.
83009         * tests/test-idpriv-droptemp.sh: New file.
83010         * tests/test-idpriv-droptemp.su.sh: New file.
83011         * tests/test-idpriv-droptemp.c: New file.
83013         New module 'idpriv-droptemp'.
83014         * lib/idpriv-droptemp.c: New file.
83015         * modules/idpriv-droptemp: New file.
83017 2009-06-08  Bruno Haible  <bruno@clisp.org>
83019         Tests for module 'idpriv-drop'.
83020         * modules/idpriv-drop-tests: New file.
83021         * tests/test-idpriv-drop.sh: New file.
83022         * tests/test-idpriv-drop.su.sh: New file.
83023         * tests/test-idpriv-drop.c: New file.
83025         New module 'idpriv-drop'.
83026         * lib/idpriv.h: New file.
83027         * lib-idpriv-drop.c: New file.
83028         * m4/idpriv.m4: New file.
83029         * modules/idpriv-drop: New file.
83031 2009-06-08  Bruno Haible  <bruno@clisp.org>
83033         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
83034         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83035         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83036         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83037         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83038         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83039         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83041 2009-06-08  Eric Blake  <ebb9@byu.net>
83043         test-strstr: use memory fence, when possible
83044         * tests/test-strstr.c (main): Use memory fence, in order to be
83045         more likely to trigger Debian bug 521737.
83046         * modules/strstr-tests (Files): Pull in additional files.
83048         memchr: no longer obsolete, for wider field testing
83049         * modules/memchr (Status, Notice): Delete, this module is no
83050         longer obsolete.
83051         * modules/vasnprintf (Depends-on): Add memchr.
83053 2009-06-07  Jim Meyering  <meyering@redhat.com>
83055         hash: declare some functions with the warn_unused_result attribute
83056         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
83058 2009-06-07  Bruno Haible  <bruno@clisp.org>
83060         * tests/test-alignof.c: Don't test int64_t if it does not exist.
83061         Reported by Eric Blake.
83063 2009-06-06  Eric Blake  <ebb9@byu.net>
83065         test-alignof: fix typo with long double
83066         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
83067         compiler error.
83069 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
83071         Escape non-texinfo { and }s.
83072         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
83073         markup error.
83075 2009-06-04  Jim Meyering  <meyering@redhat.com>
83077         gitlog-to-changelog: don't infloop on an empty commit log
83078         * build-aux/gitlog-to-changelog: Warn about an empty log message.
83079         Reported by Boris Petersen <transacid@centerim.org>.
83081 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
83083         version-etc: extend for packagers
83084         Add three new configure options, intended for packagers:
83085           --with-packager="packager name"
83086           --with-packager-version="packager-specific version"
83087           --with-packager-bug-reports="packager bug reporting"
83088         An example with coreutils:
83089           $ ./configure \
83090             --with-packager=Gentoo \
83091             --with-packager-bug-report=http://bugs.gentoo.org/ \
83092             --with-packager-version="patchset 1.6"
83093           $ ./src/ls --version | head -n2
83094           ls (GNU coreutils) 7.1-dirty
83095           Packaged by Gentoo (patchset 1.6)
83096         Note that the bug reporting info via --help doesn't show up because
83097         coreutils uses its own custom emit_bug_reporting_address() implementation
83098         in src/system.h.  If it didn't, it'd look like:
83099           $ ./src/ls --help | tail -n4
83100           Report bugs to <bug-coreutils@gnu.org>.
83101           Report Gentoo bugs to <http://bugs.gentoo.org/>.
83102           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
83103           General help using GNU software: <http://www.gnu.org/gethelp/>.
83104         * lib/version-etc.c: Print new information, if provided.
83105         * m4/version-etc.m4: New file.
83106         * modules/version-etc (Files): Add m4/version-etc.m4.
83107         (configure.ac): Add gl_VERSION_ETC.
83109 2009-05-31  Bruno Haible  <bruno@clisp.org>
83111         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
83112         and 'int64_t'.
83113         * modules/alignof-tests (Dependencies): Add stdint.
83114         Reported by Eric Blake.
83116 2009-05-31  Bruno Haible  <bruno@clisp.org>
83118         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
83119         restriction due to compiler bugs.
83120         Reported by Eric Blake.
83122 2009-05-31  Simon Josefsson  <simon@josefsson.org>
83123             Bruno Haible  <bruno@clisp.org>
83125         Fix test-alignof failure.
83126         * lib/alignof.h (alignof_slot): New macro.
83127         (alignof_type): New macro, with the same semantics as the previous
83128         'alignof'.
83129         (alignof): Alias to alignof_slot.
83130         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
83131         check that the results are usable as constant expressions.
83133 2009-05-31  Bruno Haible  <bruno@clisp.org>
83135         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
83136         * tests/test-memchr.c (main): Check that memchr does not read past the
83137         first occurrence of the byte.
83138         * tests/test-strstr.c (main): Update comment.
83139         Suggested by Eric Blake.
83141 2009-05-30  Bruno Haible  <bruno@clisp.org>
83143         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
83144         detail how to use dumpbin.
83145         Reported by David Byron <dbyron@dbyron.com>.
83147 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83149         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
83151 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83153         * m4/manywarnings.m4: Add GCC 4.4 warnings.
83155 2009-05-28  Bruno Haible  <bruno@clisp.org>
83157         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
83158         build-aux/ files.
83160 2009-05-28  Simon Josefsson  <simon@josefsson.org>
83162         * gnulib-tool (func_import): Transform license on build-aux/ files too.
83164 2009-05-27  Simon Josefsson  <simon@josefsson.org>
83166         * gnulib-tool (sed_transform_main_lib_file)
83167         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
83168         regexps.
83170 2009-05-26  Simon Josefsson  <simon@josefsson.org>
83172         * tests/test-strstr.c: Add another self-test.
83173         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
83174         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
83176 2009-05-23  Bruno Haible  <bruno@clisp.org>
83178         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
83179         change.
83181 2009-05-21  Bruno Haible  <bruno@clisp.org>
83183         Simplify use of mode_t varargs.
83184         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
83185         uses 'mode_t' or 'int'.
83186         * lib/openat.c (openat): Likewise.
83187         * lib/open-safer.c (open_safer): Likewise.
83188         * m4/mode_t.m4: New file.
83189         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
83190         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
83191         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
83192         * modules/open (Files): Add m4/mode_t.m4.
83193         * modules/openat (Files): Likewise.
83194         * modules/fcntl-safer (Files): Likewise.
83195         Suggested by Eric Blake.
83197 2009-05-21  Pádraig Brady  <P@draigbrady.com>
83199         * doc/glibc-functions/fallocate.texi: New file.
83200         * doc/gnulib.texi: Include it.
83202 2009-05-21  Eric Blake  <ebb9@byu.net>
83203             Bruno Haible  <bruno@clisp.org>
83205         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
83206         invocations.
83207         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83209 2009-05-21  Eric Blake  <ebb9@byu.net>
83210             Bruno Haible  <bruno@clisp.org>
83212         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
83213         include_next. Fix of 2008-11-20 commit.
83214         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
83215         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
83216         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
83217         NEXT_MATH_H.
83218         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
83219         instead of NEXT_MATH_H.
83221 2009-05-21  Bruno Haible  <bruno@clisp.org>
83223         Avoid redefinition warnings for SIZE_MAX.
83224         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
83225         Reported by Simon Josefsson.
83227 2009-05-21  Bruno Haible  <bruno@clisp.org>
83229         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
83230         AC_CACHE_VAL.
83232 2009-05-20  Bruno Haible  <bruno@clisp.org>
83234         Make zeroptr.h work on mingw.
83235         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
83236         mprotect.
83237         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
83238         * modules/memchr2-tests (configure.ac): Likewise.
83239         * modules/memcmp-tests (configure.ac): Likewise.
83240         * modules/memmem-tests (configure.ac): Likewise.
83241         * modules/memrchr-tests (configure.ac): Likewise.
83242         Reported by Simon Josefsson.
83244 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83246         * tests/test-glob.c: Include string.h for strcmp prototype.
83248 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83250         * modules/getdelim (Depends-on): Add explicit stdint, although it
83251         was implicitly already pulled in via realloc-posix.
83252         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
83254 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83256         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
83257         G. Christensen" <tgc@jupiterrise.com>.
83258         * m4/sys_socket_h.m4: Check for sa_family_t.
83259         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
83260         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
83261         * tests/test-sys_socket.c: Check that sa_family_t works.
83263 2009-05-18  Eric Blake  <ebb9@byu.net>
83265         maint.mk: allow gnulib_dir in VPATH build
83266         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
83268 2009-05-15  Jim Meyering  <meyering@redhat.com>
83270         maint.mk: Give gnulib_dir a default definition.
83271         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
83272         Thus, most packages no longer need to specify this variable in cfg.mk
83274 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
83276         rename.m4: fix typos that would make non-mingw cross-configure fail
83277         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
83279 2009-05-13  Eric Blake  <ebb9@byu.net>
83281         mmap-anon: avoid out-of-order autoconf expansion
83282         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
83283         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
83284         * modules/memchr-tests (Depends-on): Add extensions.
83285         * modules/memchr2-tests (Depends-on): Add extensions.
83286         * modules/memcmp-tests (Depends-on): Add extensions.
83287         * modules/memmem-tests (Depends-on): Add extensions.
83288         * modules/memrchr-tests (Depends-on): Add extensions.
83290 2009-05-13  Bruno Haible  <bruno@clisp.org>
83292         Make some tests ISO C 99 compliant.
83293         * tests/zerosize-ptr.h: New file.
83294         * tests/test-memchr.c: Include zerosize-ptr.h.
83295         (main): Use a zero-size object pointer instead of NULL.
83296         * tests/test-memchr2.c: Include zerosize-ptr.h.
83297         (main): Use a zero-size object pointer instead of NULL.
83298         * tests/test-memcmp.c: Include zerosize-ptr.h.
83299         (main): Use a zero-size object pointer instead of NULL.
83300         * tests/test-memmem.c: Include zerosize-ptr.h.
83301         (main): Use a zero-size object pointer instead of NULL.
83302         * tests/test-memrchr.c: Include zerosize-ptr.h.
83303         (main): Use a zero-size object pointer instead of NULL.
83304         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
83305         m4/mmap-anon.m4.
83306         (Depends-on): Add getpagesize.
83307         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83308         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
83309         m4/mmap-anon.m4.
83310         (Depends-on): Add getpagesize.
83311         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83312         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
83313         m4/mmap-anon.m4.
83314         (Depends-on): Add getpagesize.
83315         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83316         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
83317         m4/mmap-anon.m4.
83318         (Depends-on): Add getpagesize.
83319         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83320         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
83321         m4/mmap-anon.m4.
83322         (Depends-on): Add getpagesize.
83323         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83325 2009-05-12  Bruno Haible  <bruno@clisp.org>
83327         Tests for module 'alignof'.
83328         * modules/alignof-tests: New file.
83329         * tests/test-alignof.c: New file.
83331 2009-05-12  Bruno Haible  <bruno@clisp.org>
83333         Fix alignof macro.
83334         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
83335         vendor compilers that are always correct.
83337 2009-05-12  Bruno Haible  <bruno@clisp.org>
83339         Make the MAP_ANONYMOUS detection work on HP-UX 11.
83340         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
83341         not whether its fully works.
83343 2009-05-12  Bruno Haible  <bruno@clisp.org>
83345         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
83347 2009-05-12  Jim Meyering  <meyering@redhat.com>
83349         * top/maint.mk: Adjust backslash alignment.
83351 2009-05-11  Simon Josefsson  <simon@josefsson.org>
83353         * top/maint.mk: Make $(srcdir)/build-aux configurable.
83355 2009-05-11  Eric Blake  <ebb9@byu.net>
83357         argp: avoid undefined behavior
83358         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
83359         macros.
83361 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83363         * tests/test-vc-list-files-git.sh: Do git config of user.email and
83364         user.name to prevent git commit from complaining.
83366 2009-05-10  Bruno Haible  <bruno@clisp.org>
83368         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
83369         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
83370         it rewrites every file name only once.
83371         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
83373 2009-05-08  Bruno Haible  <bruno@clisp.org>
83375         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
83376         instead of 'max'.
83378 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83380         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
83381         sockaddr_storage test.
83383 2009-05-07  Simon Josefsson  <simon@josefsson.org>
83385         * modules/sys_socket (Makefile.am): Substitute
83386         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
83387         * m4/sys_socket_h.m4: Check for sockaddr_storage.
83388         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
83389         * tests/test-sys_socket.c: Check sockaddr_storage.
83391 2009-05-08  Bruno Haible  <bruno@clisp.org>
83393         New module 'alignof'.
83394         * lib/alignof.h: New file.
83395         * modules/alignof: New file.
83397 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83398             Bruno Haible  <bruno@clisp.org>
83400         Fix test-file-has-acl on FreeBSD.
83401         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
83402         mask is implicitly added.
83403         * tests/test-file-has-acl.c: Include <signal.h>.
83404         (main): Terminate the test after 5 seconds.
83405         * modules/acl-tests (configure.ac): Check for alarm function.
83407 2009-05-04  Bruno Haible  <bruno@clisp.org>
83409         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
83410         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
83411         * modules/errno (configure.ac): Drop AC_REQUIRE.
83412         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
83413         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
83415 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83417         * modules/glob-tests: New module.
83418         * tests/test-glob.c: Add.
83420 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83422         * modules/fnmatch-tests: New module.
83423         * tests/test-fnmatch.c: Add.
83425 2009-05-04  Eric Blake  <ebb9@byu.net>
83427         maint: make the new no-submodule-changes rule VPATH-safe
83428         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
83430 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83431             Bruno Haible  <bruno@clisp.org>
83433         acl: Fix infinite loop on FreeBSD.
83434         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
83435         of return value from acl_get_entry.
83436         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
83437         Likewise.
83439 2009-05-03  Bruno Haible  <bruno@clisp.org>
83441         * lib/acl-internal.h (acl_entries): Clarify return value.
83442         * lib/acl_entries.c (acl_entries): Likewise.
83444 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83446         Bug fix in acl module.
83447         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
83449 2009-05-03  Bruno Haible  <bruno@clisp.org>
83451         Create gperf-generated file in the source dir, not in the build dir.
83452         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
83453         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
83454         * modules/unicase/locale-language (unicase/locale-languages.h):
83455         Likewise.
83456         * modules/unicase/special-casing (unicase/special-casing-table.h):
83457         Likewise.
83458         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
83459         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
83460         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
83461         Reported by Ralf Wildenhues.
83463 2009-05-03  Bruno Haible  <bruno@clisp.org>
83465         * modules/fnmatch (Description, configure.ac): Taken from
83466         fnmatch-posix.
83467         * modules/fnmatch-posix: Turn into a symbolic reference to the
83468         'fnmatch' module, and deprecate.
83469         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
83471 2009-05-03  Bruno Haible  <bruno@clisp.org>
83473         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
83474         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
83475         Reported by Ralf Wildenhues.
83477 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83479         * m4/fnmatch.m4: Fix fnmatch re-define.
83481 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83483         priv-set: new module and tests; adapt write-any-file
83484         * lib/priv-set.c: New file.
83485         * lib/priv-set.h: New file.
83486         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
83487         * lib/write-any-file.c: Simplify by using priv-set module.
83488         * m4/priv-set.m4: New file.
83489         * modules/priv-set: New file.
83490         * modules/unlinkdir: Add dependency on priv-set module.
83491         * modules/write-any-file: Likewise.
83493         Tests for module 'priv-set'.
83494         * modules/priv-set-tests: New file.
83495         * tests/test-priv-set.c: New file.
83497 2009-05-03  Jim Meyering  <meyering@redhat.com>
83498             Bruno Haible  <bruno@clisp.org>
83500         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
83501         use the converted UTF-8 variant of the name instead.
83503 2009-05-03  Jim Meyering  <meyering@redhat.com>
83505         tests: tighten some getdate tests
83506         * tests/test-getdate.c (main): Tighten tests: require equality,
83507         not just greater than.  Set TZ envvar to UTC0.
83509 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
83511         getdate: correctly interpret "next monday" when run on a Monday
83512         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
83513         that e.g., "next tues" (when run on a tuesday) results in a date
83514         that is one week in the future, and not today's date.
83515         I.e., add a week when the wday is the same as the current one.
83516         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
83517         and earlier by Martin Bernreuther and Jan Minář.
83518         * tests/test-getdate.c (main): Check that "next DAY" is always in
83519         the future and that "last DAY" is always in the past.
83521 2009-05-02  Jim Meyering  <meyering@redhat.com>
83523         build: ensure that a release build fails when a submodule is unclean
83524         * top/maint.mk (no-submodule-changes): New rule.
83525         (alpha beta major): Depend on it.
83527 2009-05-02  Bruno Haible  <bruno@clisp.org>
83529         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
83530         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
83531         shell variable gl_fnmatch_required to detect which variant is
83532         requested.
83533         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
83534         gl_FUNC_FNMATCH_POSIX.
83535         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
83536         exclude fnmatch-posix.
83538 2009-05-02  Bruno Haible  <bruno@clisp.org>
83540         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
83541         * modules/mbsrtowcs (License): Change to LGPLv2+.
83542         * modules/strnlen1 (License): Likewise.
83543         Reported by Simon Josefsson.
83545 2009-05-02  Bruno Haible  <bruno@clisp.org>
83547         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
83548         "cross".
83549         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
83550         gnulib-tool was called with option --source-base=lib.
83552 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83554         Use automake *-local hooks without commands, for extensibility.
83555         * modules/localcharset (Makefile.am): Rename install-exec-local
83556         rule to install-exec-localcharset, and make it a prerequisite of
83557         install-exec-local.  Likewise, rename the uninstall-local rule to
83558         uninstall-localcharset, and make it a prerequisite of the former.
83560 2009-05-01  Bruno Haible  <bruno@clisp.org>
83562         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
83563         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83564         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
83565         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
83566         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
83567         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83568         m4/locale-zh.m4, m4/codeset.m4.
83570         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83571         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
83572         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83573         m4/locale-zh.m4.
83575         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
83576         REPLACE_WCRTOMB if mbstate_t must be replaced.
83577         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
83578         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
83580 2009-05-01  Bruno Haible  <bruno@clisp.org>
83582         Avoid compiler warnings when redefining macros defined by <libintl.h>.
83583         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
83584         dngettext, dcngettext, textdomain, bindtextdomain,
83585         bind_textdomain_codeset): Undefine before redefining.
83587 2009-04-30  Bruno Haible  <bruno@clisp.org>
83589         Fix bug introduced on 2009-04-25.
83590         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
83591         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
83592         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
83593         is defined.
83594         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
83595         is defined.
83596         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
83597         is defined.
83598         Reported by Elbert_Pol <elbert.pol@gmail.com>.
83600 2009-04-28  Bruno Haible  <bruno@clisp.org>
83602         Comment tweaks.
83603         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
83604         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
83605         * lib/unicase.h (u*_casexfrm): Likewise.
83606         Reported by Paolo Bonzini.
83608 2009-04-28  Bruno Haible  <bruno@clisp.org>
83610         Fix a compilation error.
83611         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
83612         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
83613         Reported by Jim Meyering.
83615 2009-04-27  Bruno Haible  <bruno@clisp.org>
83617         New module 'libunistring'.
83618         * modules/libunistring: New file.
83619         * m4/libunistring.m4: New file.
83620         * MODULES.html.sh (Unicode string functions): Add it.
83622 2009-04-27  Eric Blake  <ebb9@byu.net>
83624         maint.mk: allow package-specific header to provide <config.h>
83625         * top/maint.mk (sc_require_config_h): New variable.
83626         (sc_require_config_h, sc_require_config_h_first): Use it.
83628 2009-04-27  Simon Josefsson  <simon@josefsson.org>
83630         * top/maint.mk (sc_avoid_if_before_free): Except
83631         useless-if-before-free script.
83633 2009-04-27  Eric Blake  <ebb9@byu.net>
83635         maintainer-makefile: depend on all required helper scripts
83636         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
83637         useless-if-before-free.
83638         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
83639         version, rather than assuming gnulib checkout is available.
83640         Reported by Simen Josefsson.
83642 2009-04-26  Bruno Haible  <bruno@clisp.org>
83644         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
83645         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
83646         "../" or "..".
83648 2009-04-26  Bruno Haible  <bruno@clisp.org>
83650         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
83651         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
83652         AC_LIB_HAVE_LINKFLAGS.
83654 2009-04-26  Bruno Haible  <bruno@clisp.org>
83656         Simplify calling convention of u*_conv_from_encoding.
83657         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
83658         u32_conv_from_encoding): Expect a resultbuf argument and return the
83659         result directly as a pointer.
83660         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
83661         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
83662         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
83663         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
83664         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
83665         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83666         Update.
83667         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
83668         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
83669         * lib/vasnprintf.c (VASNPRINTF): Update.
83670         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
83671         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
83672         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
83673         * NEWS: Mention the change.
83675 2009-04-26  Bruno Haible  <bruno@clisp.org>
83677         Simplify calling convention of u*_conv_to_encoding.
83678         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
83679         u32_conv_to_encoding): Expect a resultbuf argument and return the
83680         result directly as a pointer.
83681         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83682         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
83683         freeing scaled_offsets if mem_iconveha failed.
83684         * lib/unicase/u-casexfrm.h (FUNC): Update.
83685         * lib/uninorm/u-normxfrm.h (FUNC): Update.
83686         * lib/vasnprintf.c (VASNPRINTF): Update.
83687         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
83688         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
83689         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
83690         * NEWS: Mention the change.
83692 2009-04-26  Bruno Haible  <bruno@clisp.org>
83694         Avoid test failures on AIX and OSF/1.
83695         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
83696         malloc(0).
83697         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83698         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83699         Likewise.
83700         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
83701         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
83702         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
83703         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
83704         * doc/posix-functions/malloc.texi: Document the portability problem
83705         related to malloc(0).
83707 2009-04-26  Bruno Haible  <bruno@clisp.org>
83709         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
83710         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
83711         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
83713 2009-04-25  Bruno Haible  <bruno@clisp.org>
83715         Avoid link error when creating a namespace clean library.
83716         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
83717         as macro with arguments if already defined as an alias.
83718         * lib/signbitf.c (gl_signbitf): Don't undefine.
83719         * lib/signbitd.c (gl_signbitd): Don't undefine.
83720         * lib/signbitl.c (gl_signbitl): Don't undefine.
83722 2009-04-25  Jim Meyering  <meyering@redhat.com>
83724         vc-list-files: fix another quoting bug
83725         * build-aux/vc-list-files: Avoid sed backslash expansion
83726         of pathological directory names.
83728 2009-04-25  Eric Blake  <ebb9@byu.net>
83730         vc-list-files: fix shell quoting error
83731         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
83732         timestamp.
83734 2009-04-25  Jim Meyering  <meyering@redhat.com>
83736         vc-list-files: restore lost functionality with subdir argument
83737         * build-aux/vc-list-files: When given a non-"." sub-directory
83738         argument, substitute the $dir/ prefix back onto each resulting name.
83739         Otherwise, coreutils' root_tests check would fail.
83741 2009-04-24  Eric Blake  <ebb9@byu.net>
83743         vc-list-files: ignore git symlinks
83744         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
83745         than ls-files, to ignore git symlinks.
83747         maint.mk: import improvements from m4
83748         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
83749         (move_if_change): Delete unused macro.
83750         (news-date-check, vc-diff-check): Support VPATH builds.
83751         (announcement): Likewise.  Split --bootstrap-tools list...
83752         (boostrap-tools): ...into separate list, which can be overridden
83753         in cfg.mk.
83754         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
83755         requiring dependency on useless-if-before-free module.
83756         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
83757         Support VPATH builds.
83759 2009-04-24  Jim Meyering  <meyering@redhat.com>
83761         maint.mk: remove coreutils-specific rules and variables
83762         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
83763         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
83764         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
83766         maint.mk: remove obsolete rule
83767         * top/maint.mk (rel-check): Remove rule.
83768         (WGET, WGETFLAGS): Remove now-unused variables.
83770 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83772         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
83773         consistency.
83775         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
83776         '$(PATH_SEPARATOR)' instead of ':'.
83778 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83780         * lib/getopt1.c (main): Use 'const' for static array.
83782 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83784         * top/maint.mk: Sync with coreutils.
83785         * NEWS: Explain incompatibilities.
83787 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83788             Bruno Haible  <bruno@clisp.org>
83790         Fix cross-compilation results.
83791         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
83792         statement, as third argument of AC_TRY_RUN.
83793         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
83794         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
83795         Likewise.
83796         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
83797         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
83798         Likewise.
83799         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
83800         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
83801         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
83803 2009-04-20  Bruno Haible  <bruno@clisp.org>
83805         Avoid test failure on mingw.
83806         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
83808 2009-04-20  Bruno Haible  <bruno@clisp.org>
83810         Avoid compilation error on mingw.
83811         * modules/localename-tests (Depends-on): Add locale.
83813 2009-04-19  Bruno Haible  <bruno@clisp.org>
83815         Support for building a shared library on Windows platforms.
83816         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
83817         (main): Test the presence of UNINORM_NFC here.
83818         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
83819         (main): Test the presence of UNINORM_NFD here.
83820         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
83821         (main): Test the presence of UNINORM_NFKC here.
83822         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
83823         (main): Test the presence of UNINORM_NFKD here.
83825 2009-04-19  Bruno Haible  <bruno@clisp.org>
83827         Avoid a compiler warning.
83828         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
83829         Change type of variable 'sequence'.
83831 2009-04-19  Bruno Haible  <bruno@clisp.org>
83833         * modules/configmake (Makefile.am): When the contents of configmake.h
83834         does not change, arrange to preserve its modification time.
83836 2009-04-17  Simon Josefsson  <simon@josefsson.org>
83838         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
83839         gettext domain.
83841 2009-04-16  Jim Meyering  <meyering@redhat.com>
83843         useless-if-before-free: improve conversion code
83844         * build-aux/useless-if-before-free: Adjust code-in-comment to match
83845         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
83847 2009-04-14  Bruno Haible  <bruno@clisp.org>
83849         * modules/fcntl (Depends-on): Add extensions.
83850         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
83852 2009-04-12  Ben Pfaff  <blp@gnu.org>
83854         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
83855         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
83857 2009-03-20  Ben Pfaff  <blp@gnu.org>
83859         Make rename replace existing destinations on Windows.
83860         * m4/rename.m4: Add test for Mingw.
83861         * lib/rename.c: Add rename replacement that uses MoveFileEx with
83862         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
83863         * doc/posix-functions/rename.texi: Document.
83865 2009-04-10  Bruno Haible  <bruno@clisp.org>
83867         New include file "iconveh.h".
83868         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
83869         * lib/striconveh.h: Include it.
83870         (enum iconv_ilseq_handler): Remove definition.
83871         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
83872         striconveh.h.
83873         * lib/striconveha.c: Include striconveh.h.
83874         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
83875         * modules/striconveh (Files): Add lib/iconveh.h.
83876         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
83877         lib/striconveh.h.
83879 2009-04-10  Bruno Haible  <bruno@clisp.org>
83881         * lib/uniconv.h: Update comment.
83883 2009-04-10  Bruno Haible  <bruno@clisp.org>
83885         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
83886         always.
83887         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83888         * lib/unistr/u16-mbtouc-aux.c: Likewise.
83889         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
83890         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
83891         "unistring-notinline.h", so that the function gets defined always.
83892         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83893         * lib/unistr/u8-uctomb.c: Likewise.
83894         * lib/unistr/u16-mbtouc.c: Likewise.
83895         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
83896         * lib/unistr/u16-uctomb.c: Likewise.
83897         * lib/unistr/u32-mbtouc.c: Likewise.
83898         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83899         * lib/unistr/u32-uctomb.c: Likewise.
83901 2009-04-10  Bruno Haible  <bruno@clisp.org>
83903         Mark 'utime' obsolete.
83904         * modules/utime (Status, Notice): New sections.
83905         Suggested by Jim Meyering.
83907         Fix cross-compile guess for utime test.
83908         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
83909         autoconf.
83910         * doc/posix-functions/utime.texi: Give more precisions.
83911         Reported by Jan <ipif@ymail.com>.
83913 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
83915         filevercmp: correct today's change
83916         * lib/filevercmp.c: Also handle coreutils' test inputs.
83917         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
83919         Fix regression in 'filevercmp' module. Thanks Sven Joachim
83920         for reporting it.
83921         * lib/filevercmp.c: Special handle for "", "." and "..".
83922         * tests/test-filevercmp.c: Enlarge the set suite.
83924 2009-04-07  Jim Meyering  <meyering@redhat.com>
83926         useless-if-before-free: show how to remove braced useless free, too
83927         * build-aux/useless-if-before-free: still only in a comment, though.
83929 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
83931         maint.mk: import changes to syntax-check macros from coreutils
83932         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
83933         Use them in the relevant macros.
83935 2009-04-06  Bruno Haible  <bruno@clisp.org>
83937         Fix unportable use of bit-fields.
83938         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
83939         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
83940         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
83942 2009-04-06  Bruno Haible  <bruno@clisp.org>
83944         Avoid test failures on AIX and OSF/1.
83945         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
83946         that malloc(0) = NULL.
83947         * tests/unicase/test-u8-tolower.c (check): Likewise.
83948         * tests/unicase/test-u8-totitle.c (check): Likewise.
83949         * tests/unicase/test-u8-toupper.c (check): Likewise.
83950         * tests/unicase/test-u16-casefold.c (check): Likewise.
83951         * tests/unicase/test-u16-tolower.c (check): Likewise.
83952         * tests/unicase/test-u16-totitle.c (check): Likewise.
83953         * tests/unicase/test-u16-toupper.c (check): Likewise.
83954         * tests/unicase/test-u32-casefold.c (check): Likewise.
83955         * tests/unicase/test-u32-tolower.c (check): Likewise.
83956         * tests/unicase/test-u32-totitle.c (check): Likewise.
83957         * tests/unicase/test-u32-toupper.c (check): Likewise.
83958         * tests/uninorm/test-u8-nfc.c (check): Likewise.
83959         * tests/uninorm/test-u8-nfd.c (check): Likewise.
83960         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
83961         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
83962         * tests/uninorm/test-u16-nfc.c (check): Likewise.
83963         * tests/uninorm/test-u16-nfd.c (check): Likewise.
83964         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
83965         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
83966         * tests/uninorm/test-u32-nfc.c (check): Likewise.
83967         * tests/uninorm/test-u32-nfd.c (check): Likewise.
83968         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
83969         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
83971 2009-04-05  Bruno Haible  <bruno@clisp.org>
83973         Work around an autoconf limitation.
83974         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
83975         comment line if it would be longer than 3 KB.
83977 2009-04-05  Bruno Haible  <bruno@clisp.org>
83979         Avoid test failure with libiconv-1.13.
83980         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
83981         of the expected test results.
83983 2009-04-05  Bruno Haible  <bruno@clisp.org>
83985         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
83986         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
83987         that it should be installed.
83989 2009-04-05  Bruno Haible  <bruno@clisp.org>
83991         * gnulib-tool: New option --copy-file.
83992         (func_usage): Document it.
83993         (func_dest_tmpfilename): Moved out of func_import.
83994         (func_add_file, func_update_file): New functions, extracted from
83995         func_import.
83996         (func_import): Update.
83998 2009-04-05  Karl Berry  <karl@gnu.org>
84000         * README: prominently mention gnulib-tool.
84001         Rearrange sections so getting the code is near the top.
84003 2009-04-05  Bruno Haible  <bruno@clisp.org>
84005         * lib/unicase.h: Mention u*_cmp2.
84006         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84007         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
84008         * lib/unicase/ulc-casecmp.c: Likewise.
84009         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
84010         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
84011         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
84012         unistr/u8-cmp.
84013         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
84014         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
84015         unistr/u16-cmp.
84016         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
84017         unistr/u32-cmp.
84019         * lib/uninorm.h: Mention u*_cmp2.
84020         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84021         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
84022         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
84023         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
84024         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
84025         unistr/u8-cmp.
84026         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
84027         unistr/u16-cmp.
84028         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
84029         unistr/u32-cmp.
84031         New module 'unistr/u32-cmp2'.
84032         * lib/unistr/u32-cmp2.c: New file.
84033         * modules/unistr/u32-cmp2: New file.
84035         New module 'unistr/u16-cmp2'.
84036         * lib/unistr/u16-cmp2.c: New file.
84037         * modules/unistr/u16-cmp2: New file.
84039         New module 'unistr/u8-cmp2'.
84040         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
84041         * lib/unistr/u8-cmp2.c: New file.
84042         * lib/unistr/u-cmp2.h: New file.
84043         * modules/unistr/u8-cmp2: New file.
84045 2009-04-05  Bruno Haible  <bruno@clisp.org>
84047         * lib/unictype.h (uc_property_is_valid): New macro.
84048         * tests/unictype/test-pr_byname.c (main): Use it.
84050         * lib/unistr.h: Doc fixes.
84051         * lib/uniconv.h: Doc fixes.
84052         * lib/unictype.h: Doc fixes.
84054 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
84056         Port coreutils 7.2 to Solaris 8.
84058         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
84059         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
84060         for Solaris 8.  This is a bit of a hack, as it means it's the
84061         caller's responsibility to add -lnsl if needed, but most likely it
84062         won't be needed since only getaddrinfo uses this and getaddrinfo
84063         isn't needed on Solaris 8.
84065         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
84066         problem to Solaris 8 encountered with coreutils 7.2, which
84067         resulted in a message "fnmatch.c:292: warning: passing argument 4
84068         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
84069         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
84071 2009-04-03  Simon Josefsson  <simon@josefsson.org>
84073         * m4/ld-version-script.m4: Add FIXME comment.
84075 2009-04-02  Simon Josefsson  <simon@josefsson.org>
84077         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
84078         SOVERSION variable.
84080 2009-04-02  Bruno Haible  <bruno@clisp.org>
84082         * Makefile (info, html, dvi, pdf): Combine the rules.
84083         Suggested by Jim Meyering.
84085 2009-04-01  Bruno Haible  <bruno@clisp.org>
84087         * Makefile (info, html, dvi, pdf): New targets.
84088         Reported by Reuben Thomas <rrt@sc3d.org>.
84090 2009-04-01  Bruno Haible  <bruno@clisp.org>
84092         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
84093         can be put into PATH.
84094         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
84096 2009-04-01  Bruno Haible  <bruno@clisp.org>
84098         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
84100 2009-04-01  Bruno Haible  <bruno@clisp.org>
84102         Rename module 'visibility'.
84103         * modules/lib-symbol-visibility: Renamed from modules/visibility.
84104         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
84105         * doc/gnulib.texi: Update.
84106         * MODULES.html.sh (Misc): Update.
84107         * NEWS: Mention the change.
84109 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84111         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
84112         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
84113         Eric Blake <ebb9@byu.net> for review.
84114         * MODULES.html.sh: Add lib-msvc-compat.
84115         * doc/gnulib.texi: Link to new section.
84116         * m4/ld-output-def.m4: New file.
84117         * doc/ld-output-def.texi: New file.
84119 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84121         Rename ld-version-script to lib-symbol-versions.  Suggested by
84122         Bruno Haible <bruno@clisp.org>.
84123         * modules/ld-version-script: Renamed to lib-symbol-versions.
84124         * doc/ld-version-script.texi: Fix module name.
84125         * MODULES.html.sh: Add lib-symbol-versions.
84127 2009-03-31  Simon Josefsson  <simon@josefsson.org>
84129         * modules/u64-tests: New file.
84130         * tests/test-u64.c: New file.
84132 2009-03-04  Simon Josefsson  <simon@josefsson.org>
84134         * MODULES.html.sh: Mention u64.
84135         * modules/u64: New module.
84136         * modules/crypto/sha512: Depend on u64 module instead of providing
84137         u64.h.
84139 2009-03-27  Eric Blake  <ebb9@byu.net>
84141         test-strerror: make debugging EAI_SYSTEM easier
84142         * modules/getaddrinfo-tests (Depends-on): Add strerror.
84143         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
84144         failure was EAI_SYSTEM.
84146 2009-03-25  Bruno Haible  <bruno@clisp.org>
84148         Fix a problem with --enable-relocatable on Solaris 7.
84149         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
84150         since 2008-02-24.
84152 2009-03-25  Eric Blake  <ebb9@byu.net>
84154         test-sockets: avoid gcc warning
84155         * tests/test-sockets.c (main): Silence compiler warning.
84157 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
84159         New modules nproc, pthread, contributed by Glen Lenker.
84161         * MODULES.html.sh: Add pthread, nproc.
84162         * lib/nproc.c: New file.
84163         * lib/nproc.h: New file.
84164         * lib/pthread.in.h: New file.
84165         * m4/pthread.m4: New file.
84166         * modules/nproc: New file.
84167         * modules/pthread: New file.
84169 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84171         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
84172         New variable.
84174 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
84176         filevercmp: handle simple~ and numbered.~3~ backup suffixes
84177         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
84178         * tests/test-filevercmp.c: Add tests for backup suffixes.
84180 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84182         * modules/stdlib (Depends-on): Add stdint, needed when defining
84183         struct random_data on, for example, HP-UX 10.20.  Reported by
84184         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
84186 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84188         * lib/readline.c (readline): Call fflush on stdout after printing
84189         prompt.
84191 2009-03-20  Bruno Haible  <bruno@clisp.org>
84193         Remove dependency from 'close' module to -lws2_32 on native Windows.
84194         * lib/close-hook.h: New file.
84195         * lib/close-hook.c: New file.
84196         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
84197         w32sock.h.
84198         (_gl_close_fd_maybe_socket): Remove function.
84199         (rpl_close): Invoke execute_all_close_hooks instead of
84200         _gl_close_fd_maybe_socket.
84201         * lib/sockets.c: Include close-hook.h, w32sock.h.
84202         (close_fd_maybe_socket): New function, essentially from lib/close.c.
84203         (close_sockets_hook): New variable.
84204         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
84205         (gl_sockets_cleanup): Unregister it.
84206         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
84207         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
84208         * modules/close-hook: New file.
84209         * modules/close (Files): Remove lib/w32sock.h.
84210         (Depends-on): Add close-hook.
84211         (Link): Remove section.
84212         * modules/sockets (Files): Add lib/w32sock.h.
84213         (Depends-on): Add close-hook.
84214         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
84215         invocation.
84216         * NEWS: Mention that LIB_CLOSE is gone.
84218 2009-03-23  Eric Blake  <ebb9@byu.net>
84220         signal-tests: test previous patch
84221         * tests/test-signal.c: New file.
84222         * modules/signal-tests: Likewise.
84224         signal.h: always support 'volatile sig_atomic_t'
84225         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
84226         (gl_SIGNAL_H_DEFAULTS): Add a default.
84227         * modules/signal (Makefile.am): Substitute if needed.
84228         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
84229         users can blindly add volatile.
84230         * doc/posix-headers/signal.texi (signal.h): Document it.
84231         Reported by Matthew Woehlke.
84233 2009-03-23  Jim Meyering  <meyering@redhat.com>
84235         pathmax: PATH_MAX: use pathconf only when available
84236         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
84237         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
84238         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
84239         This avoids a link failure in a PSP cross-compilation environment
84240         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
84242         * lib/vasnprintf.c (divide): Fix typo in comment.
84244 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84246         * gnulib-tool (func_filter_filelist): Fix comment.
84248 2009-03-20  Bruno Haible  <bruno@clisp.org>
84250         Make sockets.h self-contained.
84251         * lib/sockets.c: Include sockets.h first.
84252         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
84254 2009-03-19  Eric Blake  <ebb9@byu.net>
84256         doc: mention more functions added in cygwin 1.7.0
84257         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
84258         addition.
84259         * doc/posix-functions/log2f.texi: Likewise.
84261 2009-03-19  Jim Meyering  <meyering@redhat.com>
84263         fsusage: avoid syntax error due to statement-before-declaration
84264         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
84265         after all declarations.  Reported by Matthew Woehlke in
84266         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
84268 2009-03-18  Eric Blake  <ebb9@byu.net>
84270         build-aux/compile: sync from automake
84271         * build-aux/compile: New file, from automake.
84272         * config/srclist.txt: Mention build-aux/compile.
84274 2009-03-17  Bruno Haible  <bruno@clisp.org>
84276         * lib/git-merge-changelog.c: Fix typo in comment.
84277         Reported by Reuben Thomas <rrt@sc3d.org>.
84279 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
84281         * m4/regex.m4: update and improve help for
84282         --without-included-regex.
84284 2009-03-17  Simon Josefsson  <simon@josefsson.org>
84286         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
84287         failure on missing include files.
84289 2009-03-17  Eric Blake  <ebb9@byu.net>
84291         doc: mention more functions added in cygwin 1.7.0
84292         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
84293         addition.
84294         * doc/posix-functions/fwscanf.texi: Likewise.
84295         * doc/posix-functions/swprintf.texi: Likewise.
84296         * doc/posix-functions/swscanf.texi: Likewise.
84297         * doc/posix-functions/vfwprintf.texi: Likewise.
84298         * doc/posix-functions/vfwscanf.texi: Likewise.
84299         * doc/posix-functions/vswprintf.texi: Likewise.
84300         * doc/posix-functions/vswscanf.texi: Likewise.
84301         * doc/posix-functions/vwprintf.texi: Likewise.
84302         * doc/posix-functions/vwscanf.texi: Likewise.
84303         * doc/posix-functions/wcscasecmp.texi: Likewise.
84304         * doc/posix-functions/wcsdup.texi: Likewise.
84305         * doc/posix-functions/wcsftime.texi: Likewise.
84306         * doc/posix-functions/wcsncasecmp.texi: Likewise.
84307         * doc/posix-functions/wprintf.texi: Likewise.
84308         * doc/posix-functions/wscanf.texi: Likewise.
84309         * doc/glibc-functions/gethostbyname2.texi: Likewise.
84311 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84313         maint.mk: really add $(AM_MAKEFLAGS)
84314         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
84315         was inadvertently omitted in the last commit.
84316         Spotted by Bruno Haible.
84318         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
84319         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
84320         $(AM_MAKEFLAGS)' rather than plain `make'.
84322         gnulib-tool: execute $MAKE not make
84323         * gnulib-tool: Default $MAKE to 'make'.
84324         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
84325         than make.  Initialize $MAKE in the do-autobuild script.
84327         gnulib-tool: use $MAKE not make in generated files
84328         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
84329         make, in generated files.  Initialize $MAKE in the do-autobuild
84330         script.
84332         * top/GNUmakefile (_have-git-version-gen): Fix typo.
84334         GNUmakefile: disable parallelism only for multiple, recursive targets
84335         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
84336         additions in the Makefile.
84337         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
84338         by Automake.
84339         (.NOTPARALLEL): Only disable parallel builds if multiple targets
84340         are listed on the command line and at least one of them is
84341         listed in $(ALL_RECURSIVE_TARGETS).
84343 2009-03-14  Bruno Haible  <bruno@clisp.org>
84345         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
84346         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
84347         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
84348         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
84349         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
84350         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
84351         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
84352         unistr/u8-uctomb.
84353         * modules/unistr/u8-strchr (Depends-on): Likewise.
84354         * modules/unistr/u8-strrchr (Depends-on): Likewise.
84355         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
84356         unistr/u16-uctomb.
84357         * modules/unistr/u16-strchr (Depends-on): Likewise.
84358         * modules/unistr/u16-strrchr (Depends-on): Likewise.
84360 2009-03-12  Bruno Haible  <bruno@clisp.org>
84362         Work around select() bug on Interix 3.5.
84363         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
84364         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
84365         * m4/select.m4: New file.
84366         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
84367         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
84368         * modules/select (Files): Add m4/select.m4.
84369         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
84370         * modules/nanosleep (Depends-on): Add select.
84371         * modules/poll (Depends-on): Likewise.
84372         * doc/posix-functions/select.texi: Mention the Interix bug.
84373         Reported by Markus Duft <mduft@gentoo.org>.
84375         * lib/select.c: Renamed from lib/winsock-select.c.
84376         * modules/select (Files): Add lib/select.c, remove
84377         lib/winsock-select.c.
84378         (configure.ac): Update.
84380 2009-03-12  Jim Meyering  <meyering@redhat.com>
84382         avoid gcc warnings about unused macro definitions
84383         * lib/readtokens.c (STREQ): Remove unused definition.
84384         * lib/xmalloc.c (SIZE_MAX): Likewise.
84385         * lib/openat-die.c (N_): Likewise.
84386         * lib/mountlist.c (SIZE_MAX): Remove definition.
84387         Instead, include <stdint.h>.
84388         * lib/readutmp.c: Likewise.
84389         * modules/readutmp (Depends-on): Add stdint.
84390         * modules/mountlist (Depends-on): Add stdint.
84391         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
84393 2009-03-10  Bruno Haible  <bruno@clisp.org>
84395         Tests for module 'mbmemcasecoll'.
84396         * modules/mbmemcasecoll-tests: New file.
84397         * tests/test-mbmemcasecoll1.sh: New file.
84398         * tests/test-mbmemcasecoll2.sh: New file.
84399         * tests/test-mbmemcasecoll3.sh: New file.
84400         * tests/test-mbmemcasecoll.c: New file.
84402         New module 'mbmemcasecoll'.
84403         * lib/mbmemcasecoll.h: New file.
84404         * lib/mbmemcasecoll.c: New file.
84405         * modules/mbmemcasecoll: New file.
84407         * tests/test-mbmemcasecmp.h: New file, extracted from
84408         tests/test-mbmemcasecmp.c.
84409         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
84410         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
84411         (main): Update.
84412         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
84414 2009-03-09  Bruno Haible  <bruno@clisp.org>
84416         Tests for module 'mbmemcasecmp'.
84417         * modules/mbmemcasecmp-tests: New file.
84418         * tests/test-mbmemcasecmp1.sh: New file.
84419         * tests/test-mbmemcasecmp2.sh: New file.
84420         * tests/test-mbmemcasecmp3.sh: New file.
84421         * tests/test-mbmemcasecmp.c: New file.
84423         New module 'mbmemcasecmp'.
84424         * lib/mbmemcasecmp.h: New file.
84425         * lib/mbmemcasecmp.c: New file.
84426         * modules/mbmemcasecmp: New file.
84428 2009-03-09  Bruno Haible  <bruno@clisp.org>
84430         Tests for module 'unicase/ulc-casecoll'.
84431         * modules/unicase/ulc-casecoll-tests: New file.
84432         * tests/unicase/test-ulc-casecoll1.sh: New file.
84433         * tests/unicase/test-ulc-casecoll2.sh: New file.
84434         * tests/unicase/test-ulc-casecoll.c: New file.
84436         New module 'unicase/ulc-casecoll'.
84437         * lib/unicase.h (ulc_casecoll): New declaration.
84438         * lib/unicase/ulc-casecoll.c: New file.
84439         * modules/unicase/ulc-casecoll: New file.
84441         New module 'unicase/ulc-casexfrm'.
84442         * lib/unicase.h (ulc_casexfrm): New declaration.
84443         * lib/unicase/ulc-casexfrm.c: New file.
84444         * modules/unicase/ulc-casexfrm: New file.
84446 2009-03-09  Bruno Haible  <bruno@clisp.org>
84448         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
84449         invocations.
84451         * m4/mbscasecmp.m4: Remove file.
84452         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
84453         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
84455         * m4/mbscasestr.m4: Remove file.
84456         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
84457         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
84459         * m4/mbschr.m4: Remove file.
84460         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
84461         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
84463         * m4/mbscspn.m4: Remove file.
84464         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
84465         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
84467         * m4/mbslen.m4: Remove file.
84468         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
84469         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
84471         * m4/mbsncasecmp.m4: Remove file.
84472         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
84473         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
84475         * m4/mbsnlen.m4: Remove file.
84476         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
84477         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
84479         * m4/mbspbrk.m4: Remove file.
84480         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
84481         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
84483         * m4/mbspcasecmp.m4: Remove file.
84484         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
84485         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
84487         * m4/mbsrchr.m4: Remove file.
84488         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
84489         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
84491         * m4/mbssep.m4: Remove file.
84492         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
84493         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
84495         * m4/mbsspn.m4: Remove file.
84496         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
84497         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
84499         * m4/mbsstr.m4: Remove file.
84500         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
84501         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
84503         * m4/mbstok_r.m4: Remove file.
84504         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
84505         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
84507         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
84509         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
84510         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
84512         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
84514 2009-03-08  Bruno Haible  <bruno@clisp.org>
84516         Tests for module 'unicase/ulc-casecmp'.
84517         * modules/unicase/ulc-casecmp-tests: New file.
84518         * tests/unicase/test-ulc-casecmp1.sh: New file.
84519         * tests/unicase/test-ulc-casecmp2.sh: New file.
84520         * tests/unicase/test-ulc-casecmp.c: New file.
84522         New module 'unicase/ulc-casecmp'.
84523         * lib/unicase.h (ulc_casecmp): New declaration.
84524         * lib/unicase/ulc-casecmp.c: New file.
84525         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
84526         'const SRC_UNIT *'.
84527         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
84528         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
84529         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
84530         * modules/unicase/ulc-casecmp: New file.
84532         Tests for module 'unicase/u32-is-cased'.
84533         * modules/unicase/u32-is-cased-tests: New file.
84534         * tests/unicase/test-u32-is-cased.c: New file.
84536         Tests for module 'unicase/u16-is-cased'.
84537         * modules/unicase/u16-is-cased-tests: New file.
84538         * tests/unicase/test-u16-is-cased.c: New file.
84540         Tests for module 'unicase/u8-is-cased'.
84541         * modules/unicase/u8-is-cased-tests: New file.
84542         * tests/unicase/test-u8-is-cased.c: New file.
84543         * tests/unicase/test-is-cased.h: New file.
84545         New module 'unicase/u32-is-cased'.
84546         * lib/unicase/u32-is-cased.c: New file.
84547         * modules/unicase/u32-is-cased: New file.
84549         New module 'unicase/u16-is-cased'.
84550         * lib/unicase/u16-is-cased.c: New file.
84551         * modules/unicase/u16-is-cased: New file.
84553         New module 'unicase/u8-is-cased'.
84554         * lib/unicase/u8-is-cased.c: New file.
84555         * lib/unicase/u-is-cased.h: New file.
84556         * modules/unicase/u8-is-cased: New file.
84558         Tests for module 'unicase/u32-is-casefolded'.
84559         * modules/unicase/u32-is-casefolded-tests: New file.
84560         * tests/unicase/test-u32-is-casefolded.c: New file.
84562         Tests for module 'unicase/u16-is-casefolded'.
84563         * modules/unicase/u16-is-casefolded-tests: New file.
84564         * tests/unicase/test-u16-is-casefolded.c: New file.
84566         Tests for module 'unicase/u8-is-casefolded'.
84567         * modules/unicase/u8-is-casefolded-tests: New file.
84568         * tests/unicase/test-u8-is-casefolded.c: New file.
84569         * tests/unicase/test-is-casefolded.h: New file.
84571         New module 'unicase/u32-is-casefolded'.
84572         * lib/unicase/u32-is-casefolded.c: New file.
84573         * modules/unicase/u32-is-casefolded: New file.
84575         New module 'unicase/u16-is-casefolded'.
84576         * lib/unicase/u16-is-casefolded.c: New file.
84577         * modules/unicase/u16-is-casefolded: New file.
84579         New module 'unicase/u8-is-casefolded'.
84580         * lib/unicase/u8-is-casefolded.c: New file.
84581         * modules/unicase/u8-is-casefolded: New file.
84583         Tests for module 'unicase/u32-is-titlecase'.
84584         * modules/unicase/u32-is-titlecase-tests: New file.
84585         * tests/unicase/test-u32-is-titlecase.c: New file.
84587         Tests for module 'unicase/u16-is-titlecase'.
84588         * modules/unicase/u16-is-titlecase-tests: New file.
84589         * tests/unicase/test-u16-is-titlecase.c: New file.
84591         Tests for module 'unicase/u8-is-titlecase'.
84592         * modules/unicase/u8-is-titlecase-tests: New file.
84593         * tests/unicase/test-u8-is-titlecase.c: New file.
84594         * tests/unicase/test-is-titlecase.h: New file.
84596         New module 'unicase/u32-is-titlecase'.
84597         * lib/unicase/u32-is-titlecase.c: New file.
84598         * modules/unicase/u32-is-titlecase: New file.
84600         New module 'unicase/u16-is-titlecase'.
84601         * lib/unicase/u16-is-titlecase.c: New file.
84602         * modules/unicase/u16-is-titlecase: New file.
84604         New module 'unicase/u8-is-titlecase'.
84605         * lib/unicase/u8-is-titlecase.c: New file.
84606         * modules/unicase/u8-is-titlecase: New file.
84608         Tests for module 'unicase/u32-is-lowercase'.
84609         * modules/unicase/u32-is-lowercase-tests: New file.
84610         * tests/unicase/test-u32-is-lowercase.c: New file.
84612         Tests for module 'unicase/u16-is-lowercase'.
84613         * modules/unicase/u16-is-lowercase-tests: New file.
84614         * tests/unicase/test-u16-is-lowercase.c: New file.
84616         Tests for module 'unicase/u8-is-lowercase'.
84617         * modules/unicase/u8-is-lowercase-tests: New file.
84618         * tests/unicase/test-u8-is-lowercase.c: New file.
84619         * tests/unicase/test-is-lowercase.h: New file.
84621         New module 'unicase/u32-is-lowercase'.
84622         * lib/unicase/u32-is-lowercase.c: New file.
84623         * modules/unicase/u32-is-lowercase: New file.
84625         New module 'unicase/u16-is-lowercase'.
84626         * lib/unicase/u16-is-lowercase.c: New file.
84627         * modules/unicase/u16-is-lowercase: New file.
84629         New module 'unicase/u8-is-lowercase'.
84630         * lib/unicase/u8-is-lowercase.c: New file.
84631         * modules/unicase/u8-is-lowercase: New file.
84633         Tests for module 'unicase/u32-is-uppercase'.
84634         * modules/unicase/u32-is-uppercase-tests: New file.
84635         * tests/unicase/test-u32-is-uppercase.c: New file.
84637         Tests for module 'unicase/u16-is-uppercase'.
84638         * modules/unicase/u16-is-uppercase-tests: New file.
84639         * tests/unicase/test-u16-is-uppercase.c: New file.
84641         Tests for module 'unicase/u8-is-uppercase'.
84642         * modules/unicase/u8-is-uppercase-tests: New file.
84643         * tests/unicase/test-u8-is-uppercase.c: New file.
84644         * tests/unicase/test-is-uppercase.h: New file.
84646         New module 'unicase/u32-is-uppercase'.
84647         * lib/unicase/u32-is-uppercase.c: New file.
84648         * modules/unicase/u32-is-uppercase: New file.
84650         New module 'unicase/u16-is-uppercase'.
84651         * lib/unicase/u16-is-uppercase.c: New file.
84652         * modules/unicase/u16-is-uppercase: New file.
84654         New module 'unicase/u8-is-uppercase'.
84655         * lib/unicase/u8-is-uppercase.c: New file.
84656         * modules/unicase/u8-is-uppercase: New file.
84658         New module 'unicase/u32-is-invariant'.
84659         * lib/unicase/u32-is-invariant.c: New file.
84660         * modules/unicase/u32-is-invariant: New file.
84662         New module 'unicase/u16-is-invariant'.
84663         * lib/unicase/u16-is-invariant.c: New file.
84664         * modules/unicase/u16-is-invariant: New file.
84666         New module 'unicase/u8-is-invariant'.
84667         * lib/unicase/u8-is-invariant.c: New file.
84668         * lib/unicase/invariant.h: New file.
84669         * lib/unicase/u-is-invariant.h: New file.
84670         * modules/unicase/u8-is-invariant: New file.
84672         Tests for module 'unicase/u32-casecoll'.
84673         * modules/unicase/u32-casecoll-tests: New file.
84674         * tests/unicase/test-u32-casecoll.c: New file.
84676         Tests for module 'unicase/u16-casecoll'.
84677         * modules/unicase/u16-casecoll-tests: New file.
84678         * tests/unicase/test-u16-casecoll.c: New file.
84680         Tests for module 'unicase/u8-casecoll'.
84681         * modules/unicase/u8-casecoll-tests: New file.
84682         * tests/unicase/test-u8-casecoll.c: New file.
84684         New module 'unicase/u32-casecoll'.
84685         * lib/unicase/u32-casecoll.c: New file.
84686         * modules/unicase/u32-casecoll: New file.
84688         New module 'unicase/u16-casecoll'.
84689         * lib/unicase/u16-casecoll.c: New file.
84690         * modules/unicase/u16-casecoll: New file.
84692         New module 'unicase/u8-casecoll'.
84693         * lib/unicase/u8-casecoll.c: New file.
84694         * lib/unicase/u-casecoll.h: New file.
84695         * modules/unicase/u8-casecoll: New file.
84697         New module 'unicase/u32-casexfrm'.
84698         * lib/unicase/u32-casexfrm.c: New file.
84699         * modules/unicase/u32-casexfrm: New file.
84701         New module 'unicase/u16-casexfrm'.
84702         * lib/unicase/u16-casexfrm.c: New file.
84703         * modules/unicase/u16-casexfrm: New file.
84705         New module 'unicase/u8-casexfrm'.
84706         * lib/unicase/u8-casexfrm.c: New file.
84707         * lib/unicase/u-casexfrm.h: New file.
84708         * modules/unicase/u8-casexfrm: New file.
84710         Tests for module 'unicase/u32-casecmp'.
84711         * modules/unicase/u32-casecmp-tests: New file.
84712         * tests/unicase/test-u32-casecmp.c: New file.
84714         Tests for module 'unicase/u16-casecmp'.
84715         * modules/unicase/u16-casecmp-tests: New file.
84716         * tests/unicase/test-u16-casecmp.c: New file.
84718         Tests for module 'unicase/u8-casecmp'.
84719         * modules/unicase/u8-casecmp-tests: New file.
84720         * tests/unicase/test-u8-casecmp.c: New file.
84721         * tests/unicase/test-casecmp.h: New file.
84723         New module 'unicase/u32-casecmp'.
84724         * lib/unicase/u32-casecmp.c: New file.
84725         * modules/unicase/u32-casecmp: New file.
84727         New module 'unicase/u16-casecmp'.
84728         * lib/unicase/u16-casecmp.c: New file.
84729         * modules/unicase/u16-casecmp: New file.
84731         New module 'unicase/u8-casecmp'.
84732         * lib/unicase/u8-casecmp.c: New file.
84733         * lib/unicase/u-casecmp.h: New file.
84734         * modules/unicase/u8-casecmp: New file.
84736         Tests for module 'unicase/u32-casefold'.
84737         * modules/unicase/u32-casefold-tests: New file.
84738         * tests/unicase/test-u32-casefold.c: New file.
84740         Tests for module 'unicase/u16-casefold'.
84741         * modules/unicase/u16-casefold-tests: New file.
84742         * tests/unicase/test-u16-casefold.c: New file.
84744         Tests for module 'unicase/u8-casefold'.
84745         * modules/unicase/u8-casefold-tests: New file.
84746         * tests/unicase/test-u8-casefold.c: New file.
84748         New module 'unicase/u32-casefold'.
84749         * lib/unicase/u32-casefold.c: New file.
84750         * modules/unicase/u32-casefold: New file.
84752         New module 'unicase/u16-casefold'.
84753         * lib/unicase/u16-casefold.c: New file.
84754         * modules/unicase/u16-casefold: New file.
84756         New module 'unicase/u8-casefold'.
84757         * lib/unicase/u8-casefold.c: New file.
84758         * lib/unicase/u-casefold.h: New file.
84759         * modules/unicase/u8-casefold: New file.
84761         New module 'unicase/tocasefold'.
84762         * lib/unicase/casefold.h: New file.
84763         * lib/unicase/tocasefold.c: New file.
84764         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
84765         * modules/unicase/tocasefold: New file.
84767         Tests for module 'unicase/u32-totitle'.
84768         * modules/unicase/u32-totitle-tests: New file.
84769         * tests/unicase/test-u32-totitle.c: New file.
84771         Tests for module 'unicase/u16-totitle'.
84772         * modules/unicase/u16-totitle-tests: New file.
84773         * tests/unicase/test-u16-totitle.c: New file.
84775         Tests for module 'unicase/u8-totitle'.
84776         * modules/unicase/u8-totitle-tests: New file.
84777         * tests/unicase/test-u8-totitle.c: New file.
84779         New module 'unicase/u32-totitle'.
84780         * lib/unicase/u32-totitle.c: New file.
84781         * modules/unicase/u32-totitle: New file.
84783         New module 'unicase/u16-totitle'.
84784         * lib/unicase/u16-totitle.c: New file.
84785         * modules/unicase/u16-totitle: New file.
84787         New module 'unicase/u8-totitle'.
84788         * lib/unicase/u8-totitle.c: New file.
84789         * lib/unicase/u-totitle.h: New file.
84790         * modules/unicase/u8-totitle: New file.
84792         Tests for module 'unicase/u32-tolower'.
84793         * modules/unicase/u32-tolower-tests: New file.
84794         * tests/unicase/test-u32-tolower.c: New file.
84796         Tests for module 'unicase/u16-tolower'.
84797         * modules/unicase/u16-tolower-tests: New file.
84798         * tests/unicase/test-u16-tolower.c: New file.
84800         Tests for module 'unicase/u8-tolower'.
84801         * modules/unicase/u8-tolower-tests: New file.
84802         * tests/unicase/test-u8-tolower.c: New file.
84804         New module 'unicase/u32-tolower'.
84805         * lib/unicase/u32-tolower.c: New file.
84806         * modules/unicase/u32-tolower: New file.
84808         New module 'unicase/u16-tolower'.
84809         * lib/unicase/u16-tolower.c: New file.
84810         * modules/unicase/u16-tolower: New file.
84812         New module 'unicase/u8-tolower'.
84813         * lib/unicase/u8-tolower.c: New file.
84814         * modules/unicase/u8-tolower: New file.
84816         Tests for module 'unicase/u32-toupper'.
84817         * modules/unicase/u32-toupper-tests: New file.
84818         * tests/unicase/test-u32-toupper.c: New file.
84820         Tests for module 'unicase/u16-toupper'.
84821         * modules/unicase/u16-toupper-tests: New file.
84822         * tests/unicase/test-u16-toupper.c: New file.
84824         Tests for module 'unicase/u8-toupper'.
84825         * modules/unicase/u8-toupper-tests: New file.
84826         * tests/unicase/test-u8-toupper.c: New file.
84828         New module 'unicase/u32-toupper'.
84829         * lib/unicase/u32-toupper.c: New file.
84830         * modules/unicase/u32-toupper: New file.
84832         New module 'unicase/u16-toupper'.
84833         * lib/unicase/u16-toupper.c: New file.
84834         * modules/unicase/u16-toupper: New file.
84836         New module 'unicase/u8-toupper'.
84837         * lib/unicase/u8-toupper.c: New file.
84838         * modules/unicase/u8-toupper: New file.
84840         New module 'unicase/u32-casemap'.
84841         * lib/unicase/u32-casemap.c: New file.
84842         * modules/unicase/u32-casemap: New file.
84844         New module 'unicase/u16-casemap'.
84845         * lib/unicase/u16-casemap.c: New file.
84846         * modules/unicase/u16-casemap: New file.
84848         New module 'unicase/u8-casemap'.
84849         * lib/unicase/unicasemap.h: New file.
84850         * lib/unicase/u8-casemap.c: New file.
84851         * lib/unicase/u-casemap.h: New file.
84852         * modules/unicase/u8-casemap: New file.
84854         New module 'unicase/special-casing'.
84855         * lib/unicase/special-casing.h: New file.
84856         * lib/unicase/special-casing.c: New file.
84857         * lib/unicase/special-casing-table.gperf: New file, generated by
84858         gen-uni-tables.c.
84859         * modules/unicase/special-casing: New file.
84861         Tests for module 'unicase/locale-language'.
84862         * modules/unicase/locale-language-tests: New file.
84863         * tests/unicase/test-locale-language.sh: New file.
84864         * tests/unicase/test-locale-language.c: New file.
84866         New module 'unicase/locale-language'.
84867         * lib/unicase/locale-language.c: New file.
84868         * lib/unicase/locale-languages.gperf: New file.
84869         * modules/unicase/locale-language: New file.
84871         Generate more tables for case conversion and case folding.
84872         * lib/gen-uni-tables.c (SCC_*): New enum items.
84873         (struct special_casing_rule): New type.
84874         (casing_rules, num_casing_rules, allocated_casing_rules): New
84875         variables.
84876         (add_casing_rule, fill_casing_rules): New functions.
84877         (struct casefold_rule): New type.
84878         (casefolding_rules, num_casefolding_rules,
84879         allocated_casefolding_rules): New variables.
84880         (fill_casefolding_rules): New function.
84881         (unicode_casefold): New variable.
84882         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
84883         sort_casing_rules, output_casing_rules): New functions.
84884         (main): Accept to more arguments: SpecialCasing.txt and
84885         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
84886         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
84887         Output mapping for casefolding.
84889         * lib/unicase.h: Include stdbool.h, uninorm.h.
84890         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
84891         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
84892         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
84893         arguments.
84894         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
84895         resultp arguments.
84896         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
84897         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
84898         resultp arguments.
84899         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
84900         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
84901         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
84902         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
84903         declarations.
84904         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
84906 2009-03-08  Bruno Haible  <bruno@clisp.org>
84908         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84909         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
84910         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
84911         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84913 2009-03-07  Bruno Haible  <bruno@clisp.org>
84915         Adjust u*_normcmp, u*_normcoll API.
84916         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84917         u16_normcoll, u32_normcoll): Change failure conventions.
84918         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
84919         errno and return -1.
84920         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84922 2009-03-07  Bruno Haible  <bruno@clisp.org>
84924         Tests for module 'uninorm/u32-normcoll'.
84925         * modules/uninorm/u32-normcoll-tests: New file.
84926         * tests/uninorm/test-u32-normcoll.c: New file.
84928         Tests for module 'uninorm/u16-normcoll'.
84929         * modules/uninorm/u16-normcoll-tests: New file.
84930         * tests/uninorm/test-u16-normcoll.c: New file.
84932         Tests for module 'uninorm/u8-normcoll'.
84933         * modules/uninorm/u8-normcoll-tests: New file.
84934         * tests/uninorm/test-u8-normcoll.c: New file.
84936 2009-03-07  Bruno Haible  <bruno@clisp.org>
84938         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
84939         tests/uninorm/test-u32-normcmp.c.
84940         * tests/uninorm/test-u32-normcmp.c: Include it.
84941         (test_nonascii): New function, extracted from main. Add some more
84942         tests.
84943         (main): Invoke test_ascii and test_nonascii.
84944         * modules/uninorm/u32-normcmp-tests (Files): Add
84945         tests/uninorm/test-u32-normcmp.h.
84946         (Depends-on): Remove uninorm/u32-normcmp.
84948         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
84949         tests/uninorm/test-u16-normcmp.c.
84950         * tests/uninorm/test-u16-normcmp.c: Include it.
84951         (test_nonascii): New function, extracted from main. Add some more
84952         tests.
84953         (main): Invoke test_ascii and test_nonascii.
84954         * modules/uninorm/u16-normcmp-tests (Files): Add
84955         tests/uninorm/test-u16-normcmp.h.
84956         (Depends-on): Remove uninorm/u16-normcmp.
84958         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
84959         tests/uninorm/test-u8-normcmp.c.
84960         * tests/uninorm/test-u8-normcmp.c: Include it.
84961         (test_nonascii): New function, extracted from main. Add some more
84962         tests.
84963         (main): Invoke test_ascii and test_nonascii.
84964         * modules/uninorm/u8-normcmp-tests (Files): Add
84965         tests/uninorm/test-u8-normcmp.h.
84966         (Depends-on): Remove uninorm/u8-normcmp.
84968 2009-03-07  Bruno Haible  <bruno@clisp.org>
84970         New module 'uninorm/u32-normcoll'.
84971         * lib/uninorm/u32-normcoll.c: New file.
84972         * modules/uninorm/u32-normcoll: New file.
84974         New module 'uninorm/u16-normcoll'.
84975         * lib/uninorm/u16-normcoll.c: New file.
84976         * modules/uninorm/u16-normcoll: New file.
84978         New module 'uninorm/u8-normcoll'.
84979         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
84980         declarations.
84981         * lib/uninorm/u8-normcoll.c: New file.
84982         * lib/uninorm/u-normcoll.h: New file.
84983         * modules/uninorm/u8-normcoll: New file.
84985         New module 'uninorm/u32-normxfrm'.
84986         * lib/uninorm/u32-normxfrm.c: New file.
84987         * modules/uninorm/u32-normxfrm: New file.
84989         New module 'uninorm/u16-normxfrm'.
84990         * lib/uninorm/u16-normxfrm.c: New file.
84991         * modules/uninorm/u16-normxfrm: New file.
84993         New module 'uninorm/u8-normxfrm'.
84994         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
84995         declarations.
84996         * lib/uninorm/u8-normxfrm.c: New file.
84997         * lib/uninorm/u-normxfrm.h: New file.
84998         * modules/uninorm/u8-normxfrm: New file.
85000 2009-03-07  Bruno Haible  <bruno@clisp.org>
85002         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
85003         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
85004         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
85006 2009-03-07  Bruno Haible  <bruno@clisp.org>
85008         New module 'memxfrm'.
85009         * lib/memxfrm.h: New file.
85010         * lib/memxfrm.c: New file.
85011         * modules/memxfrm: New file.
85013 2009-03-07  Bruno Haible  <bruno@clisp.org>
85015         New module 'memcmp2'.
85016         * lib/memcmp2.h: New file.
85017         * lib/memcmp2.c: New file.
85018         * modules/memcmp2: New file.
85020 2009-03-07  Bruno Haible  <bruno@clisp.org>
85022         Tests for module 'uninorm/decomposing-form'.
85023         * modules/uninorm/decomposing-form-tests: New file.
85024         * tests/uninorm/test-decomposing-form.c: New file.
85026         New module 'uninorm/decomposing-form'.
85027         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
85028         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
85029         Add 'decomposing_variant' field.
85030         * lib/uninorm/decomposing-form.c: New file.
85031         * lib/uninorm/nfc.c (uninorm_nfc): Update.
85032         * lib/uninorm/nfd.c (uninorm_nfd): Update.
85033         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
85034         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
85035         * modules/uninorm/decomposing-form: New file.
85036         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
85037         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
85039 2009-03-07  Bruno Haible  <bruno@clisp.org>
85041         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
85042         strings.
85044 2009-03-06  Bruno Haible  <bruno@clisp.org>
85046         Tests for module 'uninorm/u32-normcmp'.
85047         * tests/uninorm/test-u32-normcmp.c: New file.
85048         * modules/uninorm/u32-normcmp-tests: New file.
85050         Tests for module 'uninorm/u16-normcmp'.
85051         * tests/uninorm/test-u16-normcmp.c: New file.
85052         * modules/uninorm/u16-normcmp-tests: New file.
85054         Tests for module 'uninorm/u8-normcmp'.
85055         * tests/uninorm/test-u8-normcmp.c: New file.
85056         * modules/uninorm/u8-normcmp-tests: New file.
85058         New module 'uninorm/u32-normcmp'.
85059         * lib/uninorm/u32-normcmp.c: New file.
85060         * modules/uninorm/u32-normcmp: New file.
85062         New module 'uninorm/u16-normcmp'.
85063         * lib/uninorm/u16-normcmp.c: New file.
85064         * modules/uninorm/u16-normcmp: New file.
85066         New module 'uninorm/u8-normcmp'.
85067         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
85068         declarations.
85069         * lib/uninorm/u8-normcmp.c: New file.
85070         * lib/uninorm/u-normcmp.h: New file.
85071         * modules/uninorm/u8-normcmp: New file.
85073 2009-03-06  Bruno Haible  <bruno@clisp.org>
85075         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
85076         Reported by Eric Blake.
85078 2009-03-06  Eric Blake  <ebb9@byu.net>
85079             Bruno Haible  <bruno@clisp.org>
85081         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
85082         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
85083         condition.
85084         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85085         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
85086         condition.
85087         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85089 2009-03-06  Eric Blake  <ebb9@byu.net>
85091         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
85092         to avoid compiler warnings.
85093         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
85095 2009-03-05  Bruno Haible  <bruno@clisp.org>
85097         * tests/test-ftell.c (main): Disable test beyond end of file on
85098         FreeMiNT.
85099         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85101 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
85103         * lib/filevercmp.c: Move hidden files up in ordering.
85104         * tests/test-filevercmp.c: Add tests for hidden files.
85106 2009-03-04  Bruno Haible  <bruno@clisp.org>
85108         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
85109         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
85110         AM_CFLAGS.
85111         Reported by Simon Josefsson.
85113 2009-03-03  Bruno Haible  <bruno@clisp.org>
85115         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
85116         Reported by Simon Josefsson.
85118         * doc/ld-version-script.texi: Update node reference.
85120 2009-03-03  Bruno Haible  <bruno@clisp.org>
85122         * modules/visibility (License): Change to 'unlimited'.
85123         Suggested by Simon Josefsson.
85125 2009-03-03  Jim Meyering  <meyering@redhat.com>
85127         unlinkdir: cannot_unlink_dir may modify process state
85128         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
85129         it's neither thread-safe nor appropriate for use in a library.
85131 2009-03-03  Eric Blake  <ebb9@byu.net>
85133         test-closein: silence test under Darwin
85134         * tests/test-closein.sh: Ignore stderr from cat, since we don't
85135         care if it dies from EPIPE or EBADF.
85137 2009-03-03  Bruno Haible  <bruno@clisp.org>
85139         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
85140         earlier.
85141         * doc/visibility.texi: Fix @node and @section.
85143 2009-03-03  Simon Josefsson  <simon@josefsson.org>
85145         * doc/gnulib.texi: Link to sections for ld version script and
85146         visibility.
85147         * doc/visibility.texi: Add @node and @section.
85148         * modules/ld-version-script: New module.
85149         * m4/ld-version-script.m4: New file.
85150         * doc/ld-version-script.texi: New file.
85152 2009-03-02  David Lutterkort  <lutter@redhat.com>
85154         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
85155         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85157 2009-03-02  Bruno Haible  <bruno@clisp.org>
85159         * doc/visibility.texi: Mention libtool's -export-symbols option.
85161 2009-03-02  Jim Meyering  <meyering@redhat.com>
85163         announce-gen: new option: --no-print-checksums
85164         * build-aux/announce-gen (usage): Describe it.
85165         (print_checksums): Print a newline here, not in the [*] footnote.
85166         (main): Honor it.
85168 2009-03-01  Bruno Haible  <bruno@clisp.org>
85170         Use socklen_t in the native Windows replacements prototypes.
85171         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
85172         instead of 'int'.
85173         * lib/getsockopt.c (rpl_getsockopt): Likewise.
85174         * lib/setsockopt.c (rpl_setsockopt): Likewise.
85175         * modules/getsockopt (Depends-on): Add socklen.
85176         * modules/setsockopt (Depends-on): Add socklen.
85178 2009-03-01  Bruno Haible  <bruno@clisp.org>
85180         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
85181         least 4.2.
85183 2009-03-01  Eric Blake  <ebb9@byu.net>
85184             Bruno Haible  <bruno@clisp.org>
85186         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
85187         error messages.
85188         * lib/wait-process.c (wait_subprocess): Omit error message about
85189         deadly signal sent to the child of termsigp != NULL.
85191 2009-03-01  Eric Blake  <ebb9@byu.net>
85193         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
85195 2009-03-01  Bruno Haible  <bruno@clisp.org>
85197         Avoid a gcc warning.
85198         * tests/test-sched.c (b): Make global.
85199         Reported by Eric Blake.
85201 2009-01-19  Martin Lambers  <marlam@marlam.de>
85203         Provide POSIX semantics for socket timeout options on W32.
85204         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
85205         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
85206         * modules/setsockopt: Depend on sys_time module for struct timeval.
85207         * modules/getsockopt: Depend on sys_time module for struct timeval.
85209 2009-03-01  Simon Josefsson  <simon@josefsson.org>
85211         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
85212         __USE_GNU, for consistency with netdb.in.h.
85213         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85215 2009-03-01  Bruno Haible  <bruno@clisp.org>
85217         More support for FreeMiNT.
85218         * lib/fseeko.c (rpl_fseeko): Complete last commit.
85219         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85221 2009-03-01  Bruno Haible  <bruno@clisp.org>
85223         More support for FreeMiNT.
85224         * lib/fpurge.c (fpurge): Correct last commit.
85225         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85227 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85229         Fix unportable awk script in vc-list-files.
85230         * build-aux/vc-list-files: In the replacement awk script, use
85231         substr with a second argument of 1, not zero.
85232         Report by Simon Josefsson.
85234 2009-02-28  Bruno Haible  <bruno@clisp.org>
85236         More support for FreeMiNT.
85237         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
85238         to FreeMiNT today.
85239         * lib/fwriting.c (fwriting): Likewise.
85240         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
85242 2009-02-28  Bruno Haible  <bruno@clisp.org>
85244         * tests/test-freadseek.c (main): Disable test beyond end of file on
85245         FreeMiNT.
85246         * tests/test-ftello.c (main): Likewise.
85247         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85249 2009-02-28  Bruno Haible  <bruno@clisp.org>
85251         Add tentative support for FreeMiNT.
85252         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
85253         * lib/fpurge.c (fpurge): Likewise.
85254         * lib/freadable.c (freadable): Likewise.
85255         * lib/freading.c (freading): Likewise.
85256         * lib/freadptr.c (freadptr): Likewise.
85257         * lib/freadseek.c (freadptrinc): Likewise.
85258         * lib/fseeko.c (rpl_fseeko): Likewise.
85259         * lib/fseterr.c (fseterr): Likewise.
85260         * lib/fwritable.c (fwritable): Likewise.
85261         * lib/fwriting.c (fwriting): Likewise.
85262         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
85263         Hourihane.
85264         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85266 2009-02-28  Bruno Haible  <bruno@clisp.org>
85268         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
85269         SIGCHLD.
85270         Reported by Jim Meyering.
85272 2009-02-28  Bruno Haible  <bruno@clisp.org>
85274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
85275         Mention the results of these tests on various platforms.
85276         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
85277         order.
85278         * doc/posix-functions/printf.texi: Likewise.
85279         * doc/posix-functions/snprintf.texi: Likewise.
85280         * doc/posix-functions/sprintf.texi: Likewise.
85281         * doc/posix-functions/vfprintf.texi: Likewise.
85282         * doc/posix-functions/vprintf.texi: Likewise.
85283         * doc/posix-functions/vsnprintf.texi: Likewise.
85284         * doc/posix-functions/vsprintf.texi: Likewise.
85285         * doc/glibc-functions/obstack_printf.texi: Likewise.
85286         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
85288 2009-02-28  Bruno Haible  <bruno@clisp.org>
85290         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
85291         Reported by Loïc Minier <lool@dooz.org>.
85293 2009-02-27  Bruno Haible  <bruno@clisp.org>
85295         * gnulib-tool (func_import): Make the sed expression used to create the
85296         sed script for updating the .gitignore file POSIX compliant.
85297         Reported by Eric Blake.
85299 2009-02-27  Bruno Haible  <bruno@clisp.org>
85301         * gnulib-tool (sed): Don't alias as "sed --posix".
85302         Reported by Eric Blake.
85304 2009-02-27  Bruno Haible  <bruno@clisp.org>
85306         Avoid test link errors.
85307         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
85308         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
85309         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
85310         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
85311         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85313 2009-02-27  Bruno Haible  <bruno@clisp.org>
85315         Avoid spurious "(cached)" in configure output.
85316         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
85317         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
85318         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
85319         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
85320         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
85321         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
85322         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
85323         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
85324         Reported by Eric Blake.
85326 2009-02-27  Eric Blake  <ebb9@byu.net>
85328         printf: fix regression in previous patch
85329         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
85331 2009-02-27  Bruno Haible  <bruno@clisp.org>
85333         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
85334         value.
85335         * lib/stdint.in.h: Likewise.
85336         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
85338 2009-02-27  Eric Blake  <ebb9@byu.net>
85340         doc: mention more functions added in cygwin 1.7.0
85341         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
85342         addition.
85343         * doc/posix-functions/open_wmemstream.texi: Likewise.
85344         * doc/posix-functions/wcsnlen.texi: Likewise.
85345         * doc/posix-functions/wcsnrtombs.texi: Likewise.
85346         * doc/posix-functions/wcstod.texi: Likewise.
85347         * doc/posix-functions/wcstof.texi: Likewise.
85348         * doc/posix-functions/wcstoimax.texi: Likewise.
85349         * doc/posix-functions/wcstok.texi: Likewise.
85350         * doc/posix-functions/wcstoumax.texi: Likewise.
85352         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
85353         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
85354         * doc/posix-functions/fprintf.texi: Update.
85355         * doc/posix-functions/printf.texi: Update.
85356         * doc/posix-functions/snprintf.texi: Update.
85357         * doc/posix-functions/sprintf.texi: Update.
85358         * doc/posix-functions/vfprintf.texi: Update.
85359         * doc/posix-functions/vprintf.texi: Update.
85360         * doc/posix-functions/vsnprintf.texi: Update.
85361         * doc/posix-functions/vsprintf.texi: Update.
85362         * doc/glibc-functions/obstack_printf.texi: Update.
85363         * doc/glibc-functions/obstack_vprintf.texi: Update.
85365 2009-02-26  Eric Blake  <ebb9@byu.net>
85367         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
85368         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
85369         compilation bug by using runtime conversion.
85370         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
85371         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
85372         * modules/ceill-tests (Files): Use nan.h.
85373         * modules/floorl-tests (Files): Likewise.
85374         * modules/frexpl-tests (Files): Likewise.
85375         * modules/isnanl-tests (Files): Likewise.
85376         * modules/ldexpl-tests (Files): Likewise.
85377         * modules/roundl-tests (Files): Likewise.
85378         * modules/truncl-tests (Files): Likewise.
85379         * tests/test-ceill.c (main): Use a working NaN.
85380         * tests/test-floorl.c (main): Likewise.
85381         * tests/test-frexpl.c (main): Likewise.
85382         * tests/test-isnan.c (test_long_double): Likewise.
85383         * tests/test-isnanl.h (main): Likewise.
85384         * tests/test-ldexpl.h (main): Likewise.
85385         * tests/test-roundl.h (main): Likewise.
85386         * tests/test-truncl.h (main): Likewise.
85387         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
85389 2009-02-26  Eric Blake  <ebb9@byu.net>
85390             Bruno Haible  <bruno@clisp.org>
85392         Work around a *printf bug with %ls on Solaris.
85393         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
85394         precision is specified, sprintf stops converting the wide string
85395         argument when the number of bytes that have been produced by this
85396         conversion equals or exceeds the precision.
85397         * doc/posix-functions/fprintf.texi: Update.
85398         * doc/posix-functions/printf.texi: Update.
85399         * doc/posix-functions/snprintf.texi: Update.
85400         * doc/posix-functions/sprintf.texi: Update.
85401         * doc/posix-functions/vfprintf.texi: Update.
85402         * doc/posix-functions/vprintf.texi: Update.
85403         * doc/posix-functions/vsnprintf.texi: Update.
85404         * doc/posix-functions/vsprintf.texi: Update.
85405         * doc/glibc-functions/obstack_printf.texi: Update.
85406         * doc/glibc-functions/obstack_vprintf.texi: Update.
85408 2009-02-26  Eric Blake  <ebb9@byu.net>
85410         stdlib: favor compiler check of random.h
85411         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
85412         to avoid an ObjC random.h installed by Swarm.
85414 2009-02-26  Bruno Haible  <bruno@clisp.org>
85416         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
85417         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
85418         Reported by Gary V. Vaughan <gary@gnu.org>.
85420 2009-02-26  Bruno Haible  <bruno@clisp.org>
85422         Fix *printf behaviour regarding the %ls directive.
85423         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
85424         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
85425         NEED_PRINTF_DIRECTIVE_LS.
85426         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
85427         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
85428         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
85429         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
85430         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
85431         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
85432         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
85433         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
85434         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85435         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85436         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85437         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
85438         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
85439         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85440         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85441         * doc/posix-functions/fprintf.texi: Update.
85442         * doc/posix-functions/printf.texi: Update.
85443         * doc/posix-functions/snprintf.texi: Update.
85444         * doc/posix-functions/sprintf.texi: Update.
85445         * doc/posix-functions/vfprintf.texi: Update.
85446         * doc/posix-functions/vprintf.texi: Update.
85447         * doc/posix-functions/vsnprintf.texi: Update.
85448         * doc/posix-functions/vsprintf.texi: Update.
85449         * doc/glibc-functions/obstack_printf.texi: Update.
85450         * doc/glibc-functions/obstack_vprintf.texi: Update.
85451         Reported by Eric Blake.
85453 2009-02-25  Bruno Haible  <bruno@clisp.org>
85455         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
85456         with known value.
85457         Reported by Gary V. Vaughan <gary@gnu.org>.
85459 2009-02-25  Bruno Haible  <bruno@clisp.org>
85461         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
85462         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
85463         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
85464         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
85465         Reported by Gary V. Vaughan <gary@gnu.org>.
85467 2009-02-25  Bruno Haible  <bruno@clisp.org>
85469         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
85470         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
85471         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
85472         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
85473         Reported by Gary V. Vaughan <gary@gnu.org>.
85475 2009-02-25  Eric Blake  <ebb9@byu.net>
85477         tests: skip fseek/ftell tests if ungetc is broken
85478         * m4/ungetc.m4: New file.
85479         * modules/fseek-tests: Split test, so ungetc dependency is
85480         separate from rest of test.
85481         * modules/fseeko-tests: Likewise.
85482         * modules/ftell-tests: Likewise.
85483         * modules/ftello-tests: Likewise.
85484         * tests/test-fseek.c (main): Isolate ungetc dependency.
85485         * tests/test-fseeko.c (main): Likewise.
85486         * tests/test-ftell.c (main): Likewise.
85487         * tests/test-ftello.c (main): Likewise.
85488         * tests/test-fseek2.sh: New file.
85489         * tests/test-fseeko2.sh: Likewise.
85490         * tests/test-ftell2.sh: Likewise.
85491         * tests/test-ftello2.sh: Likewise.
85493 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
85495         test-getaddrinfo: fix usage of skip return code 77
85496         * tests/test-gettaddrinfo.c: Return skip code 77 only
85497         for first occurrence of skip (4x77 is not 77)
85499 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
85501         strtod: avoid C99 decl-after-statement
85502         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
85504 2009-02-24  Eric Blake  <ebb9@byu.net>
85506         strtod: detect HP-UX 11.31 bug
85507         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
85508         Reported by Gary V. Vaughan.
85510 2009-02-23  Bruno Haible  <bruno@clisp.org>
85512         Fix invalid read past end of memory block.
85513         * lib/vasnprintf.c (DCHAR_SET): Define.
85514         (local_wcslen): Define only when needed.
85515         (local_strnlen, local_wcsnlen): New functions.
85516         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
85517         directives that involve a conversion ourselves.
85518         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
85519         wcsnlen, mbrtowc, wcrtomb.
85520         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
85521         * tests/test-vasprintf-posix.c (test_function): Likewise.
85522         * tests/test-snprintf-posix.h (test_function): Likewise.
85523         * tests/test-sprintf-posix.h (test_function): Likewise.
85524         Reported by Ben Pfaff <blp@cs.stanford.edu>.
85526 2009-02-22  Bruno Haible  <bruno@clisp.org>
85528         Implement new clarified decomposition of Hangul syllables.
85529         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
85530         of type LTV, return only a pairwise decomposition.
85531         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
85532         Likewise.
85533         * tests/uninorm/test-decomposition.c (main): Updated expected result.
85534         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
85535         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
85537 2009-02-22  Bruno Haible  <bruno@clisp.org>
85539         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
85540         zero-length results and shrink excess allocated memory.
85541         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
85542         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
85543         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
85544         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
85545         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
85546         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
85547         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
85548         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
85549         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
85550         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
85551         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
85552         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
85554 2009-02-21  Bruno Haible  <bruno@clisp.org>
85556         * doc/gnulib.texi: Include safe-alloc.texi earlier.
85557         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
85558         spaces after a period. Put a space between a macro name and its
85559         argument list. Trivial rewordings.
85560         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
85561         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
85562         (main): Return 0 explicitly.
85564 2009-02-21  Bruno Haible  <bruno@clisp.org>
85566         Tests for module 'uninorm/filter'.
85567         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
85568         * modules/uninorm/filter-tests: New file.
85570         New module 'uninorm/filter'.
85571         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
85572         uninorm_filter_flush, uninorm_filter_free): New declarations.
85573         * lib/uninorm/uninorm-filter.c: New file.
85574         * modules/uninorm/filter: New file.
85576 2009-02-21  Bruno Haible  <bruno@clisp.org>
85578         Tests for module 'uninorm/nfkc'.
85579         * tests/uninorm/test-nfkc.c: New file.
85580         * tests/uninorm/test-u8-nfkc.c: New file.
85581         * tests/uninorm/test-u16-nfkc.c: New file.
85582         * tests/uninorm/test-u32-nfkc.c: New file.
85583         * tests/uninorm/test-u32-nfkc-big.sh: New file.
85584         * tests/uninorm/test-u32-nfkc-big.c: New file.
85585         * modules/uninorm/nfkc-tests: New file.
85587         New module 'uninorm/nfkc'.
85588         * lib/uninorm/nfkc.c: New file.
85589         * modules/uninorm/nfkc: New file.
85591         Tests for module 'uninorm/nfkd'.
85592         * tests/uninorm/test-nfkd.c: New file.
85593         * tests/uninorm/test-u8-nfkd.c: New file.
85594         * tests/uninorm/test-u16-nfkd.c: New file.
85595         * tests/uninorm/test-u32-nfkd.c: New file.
85596         * tests/uninorm/test-u32-nfkd-big.sh: New file.
85597         * tests/uninorm/test-u32-nfkd-big.c: New file.
85598         * modules/uninorm/nfkd-tests: New file.
85600         New module 'uninorm/nfkd'.
85601         * lib/uninorm/nfkd.c: New file.
85602         * modules/uninorm/nfkd: New file.
85604         Tests for module 'uninorm/nfc'.
85605         * tests/uninorm/test-nfc.c: New file.
85606         * tests/uninorm/test-u8-nfc.c: New file.
85607         * tests/uninorm/test-u16-nfc.c: New file.
85608         * tests/uninorm/test-u32-nfc.c: New file.
85609         * tests/uninorm/test-u32-nfc-big.sh: New file.
85610         * tests/uninorm/test-u32-nfc-big.c: New file.
85611         * modules/uninorm/nfc-tests: New file.
85613         New module 'uninorm/nfc'.
85614         * lib/uninorm/nfc.c: New file.
85615         * modules/uninorm/nfc: New file.
85617         Tests for module 'uninorm/nfd'.
85618         * tests/uninorm/test-nfd.c: New file.
85619         * tests/uninorm/test-u8-nfd.c: New file.
85620         * tests/uninorm/test-u16-nfd.c: New file.
85621         * tests/uninorm/test-u32-nfd.c: New file.
85622         * tests/uninorm/test-u32-nfd-big.sh: New file.
85623         * tests/uninorm/test-u32-nfd-big.c: New file.
85624         * tests/uninorm/test-u32-normalize-big.h: New file.
85625         * tests/uninorm/test-u32-normalize-big.c: New file.
85626         * tests/uninorm/NormalizationTest.txt: New file, created from
85627         Unicode 5.1.0 NormalizationTest.txt.
85628         * modules/uninorm/nfd-tests: New file.
85630         New module 'uninorm/nfd'.
85631         * lib/uninorm/nfd.c: New file.
85632         * modules/uninorm/nfd: New file.
85634         New module 'uninorm/u32-normalize'.
85635         * lib/uninorm/u32-normalize.c: New file.
85636         * modules/uninorm/u32-normalize: New file.
85638         New module 'uninorm/u16-normalize'.
85639         * lib/uninorm/u16-normalize.c: New file.
85640         * modules/uninorm/u16-normalize: New file.
85642         New module 'uninorm/u8-normalize'.
85643         * lib/uninorm/u8-normalize.c: New file.
85644         * lib/uninorm/normalize-internal.h: New file.
85645         * lib/uninorm/u-normalize-internal.h: New file.
85646         * modules/uninorm/u8-normalize: New file.
85648         New module 'uninorm/decompose-internal'.
85649         * lib/uninorm/decompose-internal.c: New file.
85650         * modules/uninorm/decompose-internal: New file.
85652         Tests for module 'uninorm/composition'.
85653         * tests/uninorm/test-composition.c: New file.
85654         * modules/uninorm/composition-tests: New file.
85656         New module 'uninorm/composition'.
85657         * lib/uninorm/composition.c: New file.
85658         * lib/uninorm/composition-table.gperf: New file, generated by
85659         gen-uni-tables.
85660         * modules/uninorm/composition: New file.
85662         Tests for module 'uninorm/compat-decomposition'.
85663         * tests/uninorm/test-compat-decomposition.c: New file.
85664         * modules/uninorm/compat-decomposition-tests: New file.
85666         New module 'uninorm/compat-decomposition'.
85667         * lib/uninorm/decompose-internal.h: New file.
85668         * lib/uninorm/compat-decomposition.c: New file.
85669         * modules/uninorm/compat-decomposition: New file.
85671         Tests for module 'uninorm/canonical-decomposition'.
85672         * tests/uninorm/test-canonical-decomposition.c: New file.
85673         * modules/uninorm/canonical-decomposition-tests: New file.
85675         New module 'uninorm/canonical-decomposition'.
85676         * lib/uninorm/canonical-decomposition.c: New file.
85677         * modules/uninorm/canonical-decomposition: New file.
85679         Tests for module 'uninorm/decomposition'.
85680         * tests/uninorm/test-decomposition.c: New file.
85681         * modules/uninorm/decomposition-tests: New file.
85683         New module 'uninorm/decomposition'.
85684         * lib/uninorm/decomposition.c: New file.
85685         * modules/uninorm/decomposition: New file.
85687         New module 'uninorm/decomposition-table'.
85688         * lib/uninorm/decomposition-table.h: New file.
85689         * lib/uninorm/decomposition-table.c: New file.
85690         * lib/uninorm/decomposition-table1.h: New file, generated by
85691         gen-uni-tables.
85692         * lib/uninorm/decomposition-table2.h: New file, generated by
85693         gen-uni-tables.
85694         * modules/uninorm/decomposition-table: New file.
85696         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
85697         (UC_DECOMP_*): New enumeration items.
85698         (get_decomposition): New function.
85699         (struct decomp_table): New type.
85700         (output_decomposition, output_decomposition_tables): New functions.
85701         (unicode_composition_exclusions): New variable.
85702         (fill_composition_exclusions, debug_output_composition_tables): New
85703         functions.
85704         (main): Accept one more argument. Invoke fill_composition_exclusions.
85705         Output decomposition and composition tables.
85707         New module 'uninorm/base'.
85708         * lib/uninorm.h: New file.
85709         * lib/unictype.h: Update comment.
85710         * modules/uninorm/base: New file.
85712 2009-02-21  David Lutterkort  <lutter@redhat.com>
85714         Tests for module 'safe-alloc'.
85715         * tests/test-safe-alloc.c: New file.
85716         * modules/safe-alloc-tests: New file.
85718         New module 'safe-alloc'.
85719         * lib/safe-alloc.h: New file.
85720         * lib/safe-alloc.c: New file.
85721         * m4/safe-alloc.m4: New file.
85722         * modules/safe-alloc: New file.
85723         * doc/safe-alloc.texi: New file.
85724         * doc/gnulib.texi: Include it.
85725         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
85726         safe-alloc.
85728 2009-02-18  Bruno Haible  <bruno@clisp.org>
85730         Fix link error on non-glibc systems.
85731         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
85732         variable.
85733         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85735 2009-02-18  Jim Meyering  <meyering@redhat.com>
85737         fts: avoid used-uninitialized error due to recent change
85738         * lib/fts.c (fts_read): Guard uses of the new member,
85739         parent->fts_n_dirs_remaining, since it's not relevant for
85740         the parent of a directory specified on the command-line.
85742 2009-02-17  James Youngman  <jay@gnu.org>
85743             Bruno Haible  <bruno@clisp.org>
85745         * m4/include_next.m4: Reformulate comment.
85747 2009-02-16  Jim Meyering  <meyering@redhat.com>
85749         fts: add #if guards so that the fts_lgpl module still builds
85750         * lib/fts.c: Guard just-added hash-table-using parts with
85751         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
85752         Reported by Simon Josefsson.
85754 2009-02-15  Bruno Haible  <bruno@clisp.org>
85756         * modules/array-mergesort-tests: New file.
85757         * tests/test-array-mergesort.c: New file.
85759         New module 'array-mergesort'.
85760         * modules/array-mergesort: New file.
85761         * lib/array-mergesort.h: New file.
85763 2009-02-15  Bruno Haible  <bruno@clisp.org>
85765         Fix 2009-02-07 commit.
85766         * lib/gen-uni-tables.c (output_predicate, output_category,
85767         output_combclass, output_bidi_category, output_decimal_digit,
85768         output_digit, output_numeric, output_mirror, output_scripts,
85769         output_ident_category, output_simple_mapping): Fix format directives.
85770         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
85772 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
85774         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
85775         fixes are available from IBM.
85777 2009-02-13  Jim Meyering  <meyering@redhat.com>
85779         fts: arrange not to stat non-directories in more cases
85780         This makes GNU find (when it doesn't need to stat each file)
85781         *much* more efficient at traversing reiserfs file systems.
85782         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
85783         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
85784         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
85785         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
85786         (leaf_optimization_applies): New function.
85787         (LCO_hash, LCO_compare): New helper functions.
85788         (link_count_optimize_ok): New function.
85789         (fts_stat): Initialize new member (if dir).
85790         (fts_read): Decrement parent's fts_n_dirs_remaining count if
85791         we've just stat'ed a directory.  Skip the stat call when possible.
85792         ---
85793         Note this AFS-related exchange:
85794         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
85795         and note find's pioctl call in find/fstype.c.
85796         But that is necessary only if you want to enable the
85797         optimization for AFS, and for now, I don't.
85799         fts: move a function definition "up" (no semantic change)
85800         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
85801         "up" to precede upcoming use of a related function.
85803 2009-02-11  Jim Meyering  <meyering@redhat.com>
85805         fts: correct internal computation of nlinks (optimization-related)
85806         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
85807         whether the current entry is a directory, so don't test it.
85809 2009-02-10  Bruno Haible  <bruno@clisp.org>
85811         Tests for module 'uniwbrk/ulc-wordbreaks'.
85812         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
85813         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
85814         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
85816         Tests for module 'uniwbrk/u32-wordbreaks'.
85817         * modules/uniwbrk/u32-wordbreaks-tests: New file.
85818         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
85820         Tests for module 'uniwbrk/u16-wordbreaks'.
85821         * modules/uniwbrk/u16-wordbreaks-tests: New file.
85822         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
85824         Tests for module 'uniwbrk/u8-wordbreaks'.
85825         * modules/uniwbrk/u8-wordbreaks-tests: New file.
85826         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
85828 2009-02-10  Bruno Haible  <bruno@clisp.org>
85830         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
85831         property.
85832         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
85833         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
85834         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
85836 2009-02-10  Simon Josefsson  <simon@josefsson.org>
85838         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
85839         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
85841 2009-02-10  Bruno Haible  <bruno@clisp.org>
85843         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
85844         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
85845         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
85846         * lib/unilbrk/u8-possible-linebreaks.c: Update.
85847         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
85848         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
85850 2009-02-09  Simon Josefsson  <simon@josefsson.org>
85852         * lib/sockets.h (gl_fd_to_handle): New function.
85854         * tests/test-sockets.c: Call gl_fd_to_handle.
85856 2009-02-09  Bruno Haible  <bruno@clisp.org>
85858         * doc/havelib.texi: Document the conventions on bi-arch systems.
85860 2009-02-08  Bruno Haible  <bruno@clisp.org>
85862         Document the AC_LIB_LINKFLAGS macro.
85863         * doc/havelib.texi: New file, mostly written on 2005-05-24.
85864         * doc/gnulib.texi: Include it.
85866 2009-02-08  Bruno Haible  <bruno@clisp.org>
85868         Fix wrong order of sections, compared to TOC.
85869         * doc/gnulib.texi: Include relocatable-maint.texi after the
85870         "Regular expressions" node, not before.
85872 2009-02-08  Bruno Haible  <bruno@clisp.org>
85874         Tests for module 'unicase/totitle'.
85875         * modules/unicase/totitle-tests: New file.
85877         Tests for module 'unicase/tolower'.
85878         * modules/unicase/tolower-tests: New file.
85880         Tests for module 'unicase/toupper'.
85881         * modules/unicase/toupper-tests: New file.
85882         * tests/unicase/test-mapping-part1.h: New file.
85883         * tests/unicase/test-mapping-part2.h: New file.
85885         New module 'unicase/totitle'.
85886         * modules/unicase/totitle: New file.
85887         * lib/unicase/totitle.c: New file.
85889         New module 'unicase/tolower'.
85890         * modules/unicase/tolower: New file.
85891         * lib/unicase/tolower.c: New file.
85893         New module 'unicase/toupper'.
85894         * modules/unicase/toupper: New file.
85895         * lib/unicase/toupper.c: New file.
85896         * lib/unicase/simple-mapping.h: New file.
85898         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
85899         (mapping_table): New structure.
85900         (output_simple_mapping): New function.
85901         (main): Invoke output_simple_mapping_test and output_simple_mapping.
85902         * modules/gen-uni-tables (Description): Update.
85903         * lib/unicase/toupper.h: New file, automatically generated by
85904         gen-uni-tables.
85905         * lib/unicase/tolower.h: New file, automatically generated by
85906         gen-uni-tables.
85907         * lib/unicase/totitle.h: New file, automatically generated by
85908         gen-uni-tables.
85909         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
85910         gen-uni-tables.
85911         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
85912         gen-uni-tables.
85913         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
85914         gen-uni-tables.
85916         New module 'unicase/base'.
85917         * modules/unicase/base: New file.
85918         * lib/unicase.h: New file.
85920 2009-02-08  Bruno Haible  <bruno@clisp.org>
85922         New module 'uniwbrk/ulc-wordbreaks'.
85923         * modules/uniwbrk/ulc-wordbreaks: New file.
85924         * lib/uniwbrk/ulc-wordbreaks.c: New file.
85926         New module 'uniwbrk/u32-wordbreaks'.
85927         * modules/uniwbrk/u32-wordbreaks: New file.
85928         * lib/uniwbrk/u32-wordbreaks.c: New file.
85930         New module 'uniwbrk/u16-wordbreaks'.
85931         * modules/uniwbrk/u16-wordbreaks: New file.
85932         * lib/uniwbrk/u16-wordbreaks.c: New file.
85934         New module 'uniwbrk/u8-wordbreaks'.
85935         * modules/uniwbrk/u8-wordbreaks: New file.
85936         * lib/uniwbrk/u8-wordbreaks.c: New file.
85937         * lib/uniwbrk/u-wordbreaks.h: New file.
85939         New module 'uniwbrk/table'.
85940         * modules/uniwbrk/table: New file.
85941         * lib/uniwbrk/wbrktable.h: New file.
85942         * lib/uniwbrk/wbrktable.c: New file.
85944         New module 'uniwbrk/wordbreak-property'.
85945         * modules/uniwbrk/wordbreak-property: New file.
85946         * lib/uniwbrk/wordbreak-property.c: New file.
85948         * lib/gen-uni-tables.c (WBP_*): New enum items.
85949         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
85950         (unicode_org_wbp): New variable.
85951         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
85952         New functions.
85953         (wbp_table): New structure.
85954         (output_wbp, output_wbrk_tables): New functions.
85955         (main): Accept additional argument. Invoke fill_org_wbp,
85956         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
85957         output_wbrk_tables.
85958         * modules/gen-uni-tables (Description): Update.
85959         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
85960         gen-uni-tables.
85962         New module 'uniwbrk/base'.
85963         * modules/uniwbrk/base: New file.
85964         * lib/uniwbrk.h: New file.
85966 2009-02-08  Bruno Haible  <bruno@clisp.org>
85968         Update to Unicode 5.1.0.
85969         * lib/gen-uni-tables.c (is_property_alphabetic): Include
85970         U+2185..U+2188.
85971         (is_property_default_ignorable_code_point): Don't include characters
85972         of category Cc or Cs and not-a-characters.
85973         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
85974         U+0D79, U+109E, U+109F, U+A60C.
85975         * lib/unictype/bidi_of.h: Regenerated.
85976         * lib/unictype/blocks.h: Regenerated.
85977         * lib/unictype/categ_C.h: Regenerated.
85978         * lib/unictype/categ_Cf.h: Regenerated.
85979         * lib/unictype/categ_Cn.h: Regenerated.
85980         * lib/unictype/categ_L.h: Regenerated.
85981         * lib/unictype/categ_Ll.h: Regenerated.
85982         * lib/unictype/categ_Lm.h: Regenerated.
85983         * lib/unictype/categ_Lo.h: Regenerated.
85984         * lib/unictype/categ_Lu.h: Regenerated.
85985         * lib/unictype/categ_M.h: Regenerated.
85986         * lib/unictype/categ_Mc.h: Regenerated.
85987         * lib/unictype/categ_Me.h: Regenerated.
85988         * lib/unictype/categ_Mn.h: Regenerated.
85989         * lib/unictype/categ_N.h: Regenerated.
85990         * lib/unictype/categ_Nd.h: Regenerated.
85991         * lib/unictype/categ_Nl.h: Regenerated.
85992         * lib/unictype/categ_No.h: Regenerated.
85993         * lib/unictype/categ_P.h: Regenerated.
85994         * lib/unictype/categ_Pd.h: Regenerated.
85995         * lib/unictype/categ_Pe.h: Regenerated.
85996         * lib/unictype/categ_Pf.h: Regenerated.
85997         * lib/unictype/categ_Pi.h: Regenerated.
85998         * lib/unictype/categ_Po.h: Regenerated.
85999         * lib/unictype/categ_Ps.h: Regenerated.
86000         * lib/unictype/categ_S.h: Regenerated.
86001         * lib/unictype/categ_Sk.h: Regenerated.
86002         * lib/unictype/categ_Sm.h: Regenerated.
86003         * lib/unictype/categ_So.h: Regenerated.
86004         * lib/unictype/categ_of.h: Regenerated.
86005         * lib/unictype/combining.h: Regenerated.
86006         * lib/unictype/ctype_alnum.h: Regenerated.
86007         * lib/unictype/ctype_alpha.h: Regenerated.
86008         * lib/unictype/ctype_graph.h: Regenerated.
86009         * lib/unictype/ctype_lower.h: Regenerated.
86010         * lib/unictype/ctype_print.h: Regenerated.
86011         * lib/unictype/ctype_punct.h: Regenerated.
86012         * lib/unictype/ctype_upper.h: Regenerated.
86013         * lib/unictype/decdigit.h: Regenerated.
86014         * lib/unictype/digit.h: Regenerated.
86015         * lib/unictype/mirror.h: Regenerated.
86016         * lib/unictype/numeric.h: Regenerated.
86017         * lib/unictype/pr_alphabetic.h: Regenerated.
86018         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
86019         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
86020         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
86021         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
86022         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
86023         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
86024         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
86025         * lib/unictype/pr_combining.h: Regenerated.
86026         * lib/unictype/pr_dash.h: Regenerated.
86027         * lib/unictype/pr_decimal_digit.h: Regenerated.
86028         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
86029         * lib/unictype/pr_deprecated.h: Regenerated.
86030         * lib/unictype/pr_diacritic.h: Regenerated.
86031         * lib/unictype/pr_extender.h: Regenerated.
86032         * lib/unictype/pr_format_control.h: Regenerated.
86033         * lib/unictype/pr_grapheme_base.h: Regenerated.
86034         * lib/unictype/pr_grapheme_extend.h: Regenerated.
86035         * lib/unictype/pr_grapheme_link.h: Regenerated.
86036         * lib/unictype/pr_id_continue.h: Regenerated.
86037         * lib/unictype/pr_id_start.h: Regenerated.
86038         * lib/unictype/pr_ideographic.h: Regenerated.
86039         * lib/unictype/pr_ignorable_control.h: Regenerated.
86040         * lib/unictype/pr_lowercase.h: Regenerated.
86041         * lib/unictype/pr_math.h: Regenerated.
86042         * lib/unictype/pr_numeric.h: Regenerated.
86043         * lib/unictype/pr_other_alphabetic.h: Regenerated.
86044         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
86045         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
86046         * lib/unictype/pr_other_id_continue.h: Regenerated.
86047         * lib/unictype/pr_other_lowercase.h: Regenerated.
86048         * lib/unictype/pr_other_math.h: Regenerated.
86049         * lib/unictype/pr_punctuation.h: Regenerated.
86050         * lib/unictype/pr_sentence_terminal.h: Regenerated.
86051         * lib/unictype/pr_soft_dotted.h: Regenerated.
86052         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
86053         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
86054         * lib/unictype/pr_unified_ideograph.h: Regenerated.
86055         * lib/unictype/pr_uppercase.h: Regenerated.
86056         * lib/unictype/pr_xid_continue.h: Regenerated.
86057         * lib/unictype/pr_xid_start.h: Regenerated.
86058         * lib/unictype/pr_zero_width.h: Regenerated.
86059         * lib/unictype/scripts.h: Regenerated.
86060         * lib/unictype/scripts_byname.gperf: Regenerated.
86061         * lib/unictype/sy_java_ident.h: Regenerated.
86062         * lib/unilbrk/lbrkprop1.h: Regenerated.
86063         * lib/unilbrk/lbrkprop2.h: Regenerated.
86064         * tests/unictype/test-categ_C.c: Regenerated.
86065         * tests/unictype/test-categ_Cf.c: Regenerated.
86066         * tests/unictype/test-categ_Cn.c: Regenerated.
86067         * tests/unictype/test-categ_L.c: Regenerated.
86068         * tests/unictype/test-categ_Ll.c: Regenerated.
86069         * tests/unictype/test-categ_Lm.c: Regenerated.
86070         * tests/unictype/test-categ_Lo.c: Regenerated.
86071         * tests/unictype/test-categ_Lu.c: Regenerated.
86072         * tests/unictype/test-categ_M.c: Regenerated.
86073         * tests/unictype/test-categ_Mc.c: Regenerated.
86074         * tests/unictype/test-categ_Me.c: Regenerated.
86075         * tests/unictype/test-categ_Mn.c: Regenerated.
86076         * tests/unictype/test-categ_N.c: Regenerated.
86077         * tests/unictype/test-categ_Nd.c: Regenerated.
86078         * tests/unictype/test-categ_Nl.c: Regenerated.
86079         * tests/unictype/test-categ_No.c: Regenerated.
86080         * tests/unictype/test-categ_P.c: Regenerated.
86081         * tests/unictype/test-categ_Pd.c: Regenerated.
86082         * tests/unictype/test-categ_Pe.c: Regenerated.
86083         * tests/unictype/test-categ_Pf.c: Regenerated.
86084         * tests/unictype/test-categ_Pi.c: Regenerated.
86085         * tests/unictype/test-categ_Po.c: Regenerated.
86086         * tests/unictype/test-categ_Ps.c: Regenerated.
86087         * tests/unictype/test-categ_S.c: Regenerated.
86088         * tests/unictype/test-categ_Sk.c: Regenerated.
86089         * tests/unictype/test-categ_Sm.c: Regenerated.
86090         * tests/unictype/test-categ_So.c: Regenerated.
86091         * tests/unictype/test-ctype_alnum.c: Regenerated.
86092         * tests/unictype/test-ctype_alpha.c: Regenerated.
86093         * tests/unictype/test-ctype_graph.c: Regenerated.
86094         * tests/unictype/test-ctype_lower.c: Regenerated.
86095         * tests/unictype/test-ctype_print.c: Regenerated.
86096         * tests/unictype/test-ctype_punct.c: Regenerated.
86097         * tests/unictype/test-ctype_upper.c: Regenerated.
86098         * tests/unictype/test-decdigit.h: Regenerated.
86099         * tests/unictype/test-digit.h: Regenerated.
86100         * tests/unictype/test-numeric.h: Regenerated.
86101         * tests/unictype/test-pr_alphabetic.c: Regenerated.
86102         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
86103         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
86104         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
86105         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
86106         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
86107         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
86108         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
86109         * tests/unictype/test-pr_combining.c: Regenerated.
86110         * tests/unictype/test-pr_dash.c: Regenerated.
86111         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
86112         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
86113         * tests/unictype/test-pr_deprecated.c: Regenerated.
86114         * tests/unictype/test-pr_diacritic.c: Regenerated.
86115         * tests/unictype/test-pr_extender.c: Regenerated.
86116         * tests/unictype/test-pr_format_control.c: Regenerated.
86117         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
86118         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
86119         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
86120         * tests/unictype/test-pr_id_continue.c: Regenerated.
86121         * tests/unictype/test-pr_id_start.c: Regenerated.
86122         * tests/unictype/test-pr_ideographic.c: Regenerated.
86123         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
86124         * tests/unictype/test-pr_lowercase.c: Regenerated.
86125         * tests/unictype/test-pr_math.c: Regenerated.
86126         * tests/unictype/test-pr_numeric.c: Regenerated.
86127         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
86128         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
86129         Regenerated.
86130         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
86131         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
86132         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
86133         * tests/unictype/test-pr_other_math.c: Regenerated.
86134         * tests/unictype/test-pr_punctuation.c: Regenerated.
86135         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
86136         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
86137         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
86138         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
86139         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
86140         * tests/unictype/test-pr_uppercase.c: Regenerated.
86141         * tests/unictype/test-pr_xid_continue.c: Regenerated.
86142         * tests/unictype/test-pr_xid_start.c: Regenerated.
86143         * tests/unictype/test-pr_zero_width.c: Regenerated.
86145         Update to Unicode 5.1.0.
86146         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
86147         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
86148         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
86149         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
86150         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
86151         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
86152         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
86153         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
86154         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
86155         (nonspacing_table_ind): Update.
86156         * tests/uniwidth/test-uc_width2.sh: Update expected result.
86158         Update to Unicode 5.1.0.
86159         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
86160         code transform.
86161         * lib/uniname/uniname.c (unicode_character_name,
86162         unicode_name_character): Add the range 0x1Fxxx to the code transform.
86163         * lib/uniname/uninames.h: Regenerated.
86164         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
86166 2009-02-07  Bruno Haible  <bruno@clisp.org>
86168         Merge gen-ctype and gen-lbrk into a single program.
86169         * lib/gen-uni-tables.c: New file, incorporating
86170         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
86171         Add directory prefixes to the names of the generated files.
86172         * lib/unictype/gen-ctype.c: Remove file.
86173         * lib/unilbrk/gen-lbrk.c: Remove file.
86174         * modules/gen-uni-tables: New file.
86175         * modules/unictype/gen-ctype: Remove file.
86176         * modules/unilbrk/gen-lbrk: Remove file.
86178 2009-02-07  Bruno Haible  <bruno@clisp.org>
86180         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
86182         New module 'unistr/u32-strcoll'.
86183         * modules/unistr/u32-strcoll: New file.
86184         * lib/unistr/u32-strcoll.c: New file.
86186         New module 'unistr/u16-strcoll'.
86187         * modules/unistr/u16-strcoll: New file.
86188         * lib/unistr/u16-strcoll.c: New file.
86190         New module 'unistr/u8-strcoll'.
86191         * modules/unistr/u8-strcoll: New file.
86192         * lib/unistr/u8-strcoll.c: New file.
86193         * lib/unistr/u-strcoll.h: New file.
86195 2009-02-07  Bruno Haible  <bruno@clisp.org>
86197         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
86198         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86199         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86200         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
86201         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
86202         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
86204 2009-02-07  Bruno Haible  <bruno@clisp.org>
86206         Make 64-bit clean.
86207         * lib/unictype/gen-ctype.c (output_predicate, output_category,
86208         output_combclass, output_bidi_category, output_decimal_digit,
86209         output_digit, output_numeric, output_mirror, output_scripts,
86210         output_ident_category): Use proper width specifier in format strings.
86212 2009-02-07  Bruno Haible  <bruno@clisp.org>
86214         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
86215         failure behaviour.
86217 2009-02-07  Jim Meyering  <meyering@redhat.com>
86219         regex: avoid compilation failure with upcoming gcc-4.4
86220         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
86221         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
86222         "... error: integer overflow in preprocessor expression".
86224 2009-02-05  Ben Pfaff  <blp@gnu.org>
86226         Fix link errors on Windows when close module is used.
86227         * modules/close: Add $(LIB_CLOSE) to Link section.
86228         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
86229         $(LIB_CLOSE) on Windows.
86231 2009-02-05  Jim Meyering  <meyering@redhat.com>
86233         still avoid unused-parameter warnings, but do it cleanly
86234         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
86235         (get_fs_usage): Cast to void instead.
86236         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
86237         (dev_from_mount_options, read_file_system_list): Cast to void.
86238         Prompted by Bruno Haible.
86240 2009-02-04  Jim Meyering  <meyering@redhat.com>
86242         fsusage.c: correct copyright year
86243         * lib/fsusage.c: Reflect year in which the change is pushed into
86245         avoid misc. warnings
86246         * lib/fsusage.c (UNUSED_PARAM): Define.
86247         (get_fs_usage): Mark parameter "disk" as unused.
86248         * lib/getugroups.c (getgrent): Use "void" in prototype.
86249         * lib/mountlist.c: Mark unused parameters.
86250         (read_file_system_list): Declare a local with "const".
86251         * lib/nanosleep.c (getnow): Declare static.
86252         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
86254         dirfd: set errno upon failure
86255         * lib/dirfd.c: Include <errno.h>.
86256         Set errno to ENOTSUP when returning -1.
86257         * modules/dirfd (Depends-on): Add errno.
86258         Suggested by John Kodis <kodis@comcast.net>.
86260 2009-02-01  Bruno Haible  <bruno@clisp.org>
86262         Don't assume sizeof (long) >= sizeof (void *).
86263         * lib/memcmp.c: Include stdint.h.
86264         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
86265         srcp2 to 'const byte *'.
86266         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
86267         types to uintptr_t.
86268         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
86269         * modules/memcmp (Depends-on): Add stdint.
86270         Reported by Ozkan Sezer <sezeroz@gmail.com>.
86272 2009-01-30  Eric Blake  <ebb9@byu.net>
86274         fix more require-before-expand issues
86275         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
86276         expand, AC_PROG_AWK.
86277         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
86279 2009-01-28  Eric Blake  <ebb9@byu.net>
86281         version-etc: use consistent URL formatting
86282         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
86283         Improve formatting.  Use fputs for string without %.
86285 2009-01-28  Jim Meyering  <meyering@redhat.com>
86287         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
86288         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
86289         "underquoted definition of NAME" from autoconf-2.59.
86291 2009-01-28  Bruno Haible  <bruno@clisp.org>
86293         * doc/gnulib.texi: Add "Obsolete modules" to index.
86295 2009-01-28  Jim Meyering  <meyering@redhat.com>
86297         useless-if-before-free: recognize more variants
86298         * build-aux/useless-if-before-free: Also recognize e.g.,
86299         if (NULL != p) free (p);
86301 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
86303         test-getaddrinfo: skip (don't fail) this test when there's no network
86304         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
86305         on the presumption that it means you lack network access.
86307 2009-01-26  Jim Meyering  <meyering@redhat.com>
86309         fflush: avoid warnings on modern systems
86310         * lib/fflush.c (rpl_fflush): Move declarations of locals,
86311         pos and result, into scopes where they're used.
86313 2009-01-26  Eric Blake  <ebb9@byu.net>
86315         Silence warning reintroduced by recent extensions patch.
86316         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
86317         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
86318         autoconf.
86320         Backport improved autoconf semantics of AC_DEFUN_ONCE.
86321         * m4/00gnulib.m4: New file.
86322         * gnulib-tool (func_get_filelist): Always use it.
86323         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
86324         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
86326 2009-01-25  Bruno Haible  <bruno@clisp.org>
86328         Make test-quotearg work on MacOS X and AIX.
86329         * tests/test-quotearg.sh: New file.
86330         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
86331         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
86332         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
86333         include <libintl.h>.
86334         (fake_locale): Remove variable.
86335         (gettext, dgettext, dcgettext): Remove functions.
86336         (main): Instead of setting a fake locale, set a real locale. Call
86337         textdomain and bindtextdomain.
86338         * modules/quotearg-tests (Files): Add the new files.
86339         (Depends-on): Add gettext, setenv, unsetenv.
86340         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
86341         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
86342         Augment TESTS_ENVIRONMENT.
86344 2009-01-25  Bruno Haible  <bruno@clisp.org>
86346         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
86347         fr_FR.ISO8859-1 locale on MacOS X.
86348         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
86349         ja_JP.eucJP locale on MacOS X.
86350         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
86351         zh_CN.GB18030 locale on MacOS X.
86353 2009-01-25  Bruno Haible  <bruno@clisp.org>
86355         Avoid link errors on MacOS X 10.3.
86356         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
86357         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
86359 2009-01-25  Bruno Haible  <bruno@clisp.org>
86361         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86362         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
86363         * modules/pipe (Files): Remove m4/posix_spawn.m4.
86364         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86365         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
86366         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86367         posix_spawnattr_init, posix_spawnattr_setsigmask,
86368         posix_spawnattr_setflags, posix_spawnattr_destroy.
86370         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86371         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
86372         * modules/execute (Files): Remove m4/posix_spawn.m4.
86373         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86374         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86375         posix_spawnattr_init, posix_spawnattr_setsigmask,
86376         posix_spawnattr_setflags, posix_spawnattr_destroy.
86378 2009-01-25  Bruno Haible  <bruno@clisp.org>
86380         * lib/glthread/threadlib.c: Include <stdlib.h>.
86382 2009-01-25  Bruno Haible  <bruno@clisp.org>
86384         * lib/glthread/threadlib.c (dummy): New declaration.
86386 2009-01-25  Bruno Haible  <bruno@clisp.org>
86388         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
86389         multibyte characters also for the GB18030 encoding. Don't crash when
86390         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
86392 2009-01-25  Bruno Haible  <bruno@clisp.org>
86394         Avoid redefining 'struct random_data' on OSF/1 5.1.
86395         * lib/stdlib.in.h: Include <random.h> if it exists.
86396         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
86397         HAVE_RANDOM_H. Include <random.h> when testing whether
86398         'struct random_data' exists.
86399         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
86401 2009-01-25  Bruno Haible  <bruno@clisp.org>
86403         Don't install charset.alias on MacOS X >= 10.3.
86404         * lib/localcharset.c (DARWIN7): New macro.
86405         (get_charset_aliases): Hardcode the result for Darwin7.
86406         * modules/localcharset (install-exec-local): Don't install
86407         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
86409 2009-01-25  Bruno Haible  <bruno@clisp.org>
86411         Don't install charset.alias on mingw and Cygwin.
86412         * modules/localcharset (install-exec-local): Don't install
86413         charset.alias on mingw and Cygwin, if the file does not yet exist.
86414         The result for these platforms is hardcoded in localcharset.c.
86416 2009-01-25  Bruno Haible  <bruno@clisp.org>
86418         Make it possible again to use AC_GNU_SOURCE together with gnulib.
86419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
86420         before requiring AC_USE_SYSTEM_EXTENSIONS.
86422 2009-01-25  Jim Meyering  <meyering@redhat.com>
86424         c-strtod: avoid warnings
86425         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
86426         "assignment discards qualifiers from pointer target type" warnings.
86428 2009-01-24  Bruno Haible  <bruno@clisp.org>
86430         Add support for non-UTF-8 locales on MacOS X.
86431         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
86432         canonical encodings. For Darwin 7 and newer, don't map traditional
86433         encodings to UTF-8.
86434         Reported by Vincent Lefevre <vincent@vinc17.org>
86435         at <http://savannah.gnu.org/bugs/?25235>.
86437 2009-01-24  Bruno Haible  <bruno@clisp.org>
86439         * doc/gnulib.texi (Obsolete modules): New section.
86440         Reported by Mike Frysinger <vapier@gentoo.org>.
86442 2009-01-24  Bruno Haible  <bruno@clisp.org>
86444         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
86445         (%.dvi): New rule.
86447 2009-01-24  Bruno Haible  <bruno@clisp.org>
86449         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
86450         Reported by Eric Blake.
86452 2009-01-24  Bruno Haible  <bruno@clisp.org>
86454         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
86455         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
86456         Reported by Gary V. Vaughan <gary@gnu.org>.
86458 2009-01-24  Bruno Haible  <bruno@clisp.org>
86460         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
86462 2009-01-23  Bruno Haible  <bruno@clisp.org>
86464         Make c-strtod, c-strtold usable in libraries.
86465         * lib/c-strtod.c: Include string.h instead of xalloc.h.
86466         (C_STRTOD): Call strdup instead of xstrdup.
86467         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
86468         * modules/c-strtold (Depends-on): Likewise.
86469         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
86470         * NEWS: Mention the change.
86471         Reported by Michael Gold <mgold@ncf.ca>.
86473 2009-01-23  Jim Meyering  <meyering@redhat.com>
86475         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
86476         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
86477         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
86479 2009-01-23  Simon Josefsson  <simon@josefsson.org>
86481         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
86482         GNU CoreUtils.
86483         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
86484         * modules/version-etc (Description): Update.
86486 2009-01-22  Bruno Haible  <bruno@clisp.org>
86488         Cache the C locale object.
86489         * lib/c-strtod.c (c_locale_cache): New variable.
86490         (c_locale): New function.
86491         (C_STRTOD): Use it, and don't call freelocale.
86492         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
86493         Suggested by Paolo Bonzini.
86495 2009-01-21  Bruno Haible  <bruno@clisp.org>
86497         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
86498         conditions other than overflow.
86500 2009-01-21  Bruno Haible  <bruno@clisp.org>
86502         * lib/c-strtod.c: Include errno.h.
86503         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
86504         value from STRTOD_L and STRTOD.
86506 2009-01-21  Bruno Haible  <bruno@clisp.org>
86507         and Jim Meyering  <meyering@redhat.com>
86509         nanosleep: skip configure test (fail it) for apple universal builds
86510         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
86511         universal builds, assume that nanosleep does not work.
86512         * modules/nanosleep (Depends-on): Add multiarch.
86514         mktime: skip configure test (fail it) for apple universal builds
86515         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
86516         universal builds, assume that mktime does not work.
86517         * modules/mktime (Depends-on): Add multiarch.
86519 2009-01-21  Eric Blake  <ebb9@byu.net>
86521         multiarch: avoid expand-before-require warning
86522         * modules/multiarch (configure.ac): Require, rather than expand,
86523         gl_MULTIARCH.
86524         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
86525         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
86526         enforce that all clients require it.  Partial reversion of
86527         2008-12-29 patch.
86529         error: avoid expand-before-require warning
86530         * modules/errno (configure.ac): Require, rather than expand,
86531         gl_HEADER_ERRNO_H.
86532         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
86533         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
86534         enforce that all clients require it.
86536         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
86537         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
86538         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
86539         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
86541 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
86543         Revert:
86544         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86546         regex: do not depend on obsolete modules.
86547         * modules/regex: Remove memcmp and memmove.
86549 2009-01-20  Bruno Haible  <bruno@clisp.org>
86551         Make the 'link' module link on Windows NT 4.
86552         * lib/link.c (_WIN32_WINNT): Don't define.
86553         (CreateHardLinkFuncType): New type.
86554         (CreateHardLinkFunc, initialized): New variables.
86555         (initialize): New function.
86556         (link): Invoke CreateHardLink indirectly through the function pointer.
86558 2009-01-20  Bruno Haible  <bruno@clisp.org>
86560         Fix compilation failure on mingw.
86561         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
86563 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
86565         * doc/c-strtod.texi: Mention a couple of restrictions.
86567 2009-01-20  Jim Meyering  <meyering@redhat.com>
86569         gettimeofday: move more declarations out of functions
86570         * lib/gettimeofday.c: Move extern declarations of tzset and
86571         gmtime out of containing functions.  Prompted by Bruno Haible.
86573 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86575         regex: do not depend on obsolete modules.
86576         * modules/regex: Remove memcmp and memmove.
86578 2009-01-19  Bruno Haible  <bruno@clisp.org>
86580         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86581         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
86582         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86583         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
86584         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
86586 2009-01-19  Bruno Haible  <bruno@clisp.org>
86588         * tests/test-link.c: Include <errno.h>.
86589         (main): Exit with code 77 when a hard link cannot be created due to
86590         the file system.
86591         * tests/test-link.sh: Skip test when a hard link cannot be created due
86592         to the file system.
86593         Suggested by Eric Blake.
86595 2009-01-19  Martin Lambers  <marlam@marlam.de>
86597         * modules/link-tests: New file.
86598         * tests/test-link.sh: New file.
86599         * tests/test-link.c: New file.
86601 2009-01-19  Eric Blake  <ebb9@byu.net>
86603         doc: mention another function added in cygwin 1.7.0
86604         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
86605         Another new function in cygwin 1.7.
86607 2009-01-19  Bruno Haible  <bruno@clisp.org>
86609         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86610         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
86611         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
86612         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86613         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
86614         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
86615         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
86616         * m4/md4.m4 (gl_MD4): Likewise.
86617         * m4/md5.m4 (gl_MD5): Likewise.
86618         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
86619         * m4/sha1.m4 (gl_SHA1): Likewise.
86620         * m4/sha256.m4 (gl_SHA256): Likewise.
86621         * m4/sha512.m4 (gl_SHA512): Likewise.
86623 2009-01-19  Bruno Haible  <bruno@clisp.org>
86625         * modules/uniname/uniname-tests (Depends-on): Add progname.
86626         * tests/uniname/test-uninames.c: Include progname.h.
86627         (main): Call set_program_name.
86629         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
86630         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
86631         (main): Call set_program_name.
86633         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
86634         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
86635         (main): Call set_program_name.
86637         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
86638         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
86639         (main): Call set_program_name.
86641         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
86642         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
86643         (main): Call set_program_name.
86645         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
86646         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
86647         (main): Call set_program_name.
86649         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
86650         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
86651         (main): Call set_program_name.
86653         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
86654         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
86655         (main): Call set_program_name.
86657         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
86658         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
86659         (main): Call set_program_name.
86661 2009-01-19  Eric Blake  <ebb9@byu.net>
86663         test-unistd: test previous patch
86664         * tests/test-unistd.c: Test *_FILENO macros.
86666         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
86667         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86668         Guarantee a definition.
86669         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
86670         * modules/unistd-safer (Depends-on): Add dependency on unistd.
86671         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
86672         * lib/dup-safer.c (STDERR_FILENO): Likewise.
86673         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86674         Likewise.
86675         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
86676         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
86677         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86678         Likewise.
86679         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
86680         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
86681         (STDERR_FILENO): Likewise.
86682         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
86683         (STDERR_FILENO): Likewise.
86684         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
86685         (STDERR_FILENO): Likewise.
86686         Reported by Elbert Pol.
86688 2009-01-19  Eric Blake  <ebb9@byu.net>
86690         doc: mention more functions added in cygwin 1.7.0
86691         * doc/posix-functions/abort.texi (abort): Update wording related
86692         to cygwin.
86693         * doc/posix-functions/daylight.texi (daylight): Likewise.
86694         * doc/posix-functions/optarg.texi (optarg): Likewise.
86695         * doc/posix-functions/optarg.texi (opterr): Likewise.
86696         * doc/posix-functions/optarg.texi (optind): Likewise.
86697         * doc/posix-functions/optarg.texi (optopt): Likewise.
86698         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
86699         worked in 1.5.x, and was withdrawn in 1.7.
86700         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
86701         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
86702         cygwin versions.
86703         * doc/posix-functions/perror.texi (perror): Likewise.
86704         * doc/posix-functions/printf.texi (printf): Likewise.
86705         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
86706         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
86707         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
86708         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
86709         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
86710         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
86711         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
86712         Likewise.
86713         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
86714         Likewise.
86715         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
86716         this function.
86717         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
86718         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
86719         Likewise.
86720         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
86721         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
86722         * doc/posix-functions/confstr.texi (confstr): Likewise.
86723         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
86724         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
86725         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
86726         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
86727         * doc/posix-functions/fputws.texi (fputws): Likewise.
86728         * doc/posix-functions/fwide.texi (fwide): Likewise.
86729         * doc/posix-functions/getwc.texi (getwc): Likewise.
86730         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
86731         * doc/posix-functions/putwc.texi (putwc): Likewise.
86732         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
86733         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
86734         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
86735         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
86736         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
86737         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
86738         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
86739         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
86740         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
86741         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
86742         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
86744 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86746         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
86747         * lib/ioctl.c: Include <sys/ioctl.h>.
86749 2009-01-19  Simon Josefsson  <simon@josefsson.org>
86751         * modules/getdate-tests (Depends-on): Add progname.
86752         * tests/test-getdate.c: Use progname module, to avoid link errors
86753         on non-glibc systems.
86755 2009-01-18  Simon Josefsson  <simon@josefsson.org>
86757         * modules/filenamecat-tests (Depends-on): Add progname.
86758         * modules/fstrcmp-tests (Depends-on): Likewise.
86760         * tests/test-filenamecat.c: Use progname module, to avoid link
86761         errors on non-glibc systems.
86762         * tests/test-fstrcmp.c: Likewise.
86764 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86766         gettimeofday: avoid warning: nested extern declaration of 'localtime'
86767         * lib/gettimeofday.c: Move extern declaration out of function.
86769 2009-01-18  Bruno Haible  <bruno@clisp.org>
86771         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
86772         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
86773         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
86775 2009-01-18  Bruno Haible  <bruno@clisp.org>
86777         * lib/strftime.c (MEMPCPY): Remove unused macro.
86778         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
86780 2009-01-18  Martin Lambers  <marlam@marlam.de>
86782         New module 'link'.
86783         * lib/unistd.in.h (link): New declaration.
86784         * lib/link.c: New file.
86785         * m4/link.m4: New file.
86786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
86787         HAVE_LINK.
86788         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
86789         * modules/link: New file.
86790         * doc/posix-functions/link.texi: Mention the new module.
86792 2009-01-18  Bruno Haible  <bruno@clisp.org>
86794         * tests/test-avltree_list.c (main): Call set_program_name.
86795         * tests/test-avltree_oset.c (main): Likewise.
86796         * tests/test-obstack-printf.c: Include progname.h.
86797         (main): Call set_program_name.
86798         * tests/test-quotearg.c: Include progname.h.
86799         (main): Call set_program_name.
86800         * tests/test-xmemdup0.c: Include progname.h.
86801         (main): Call set_program_name.
86803 2009-01-18  Bruno Haible  <bruno@clisp.org>
86805         New module 'alphasort'.
86806         * lib/dirent.in.h (alphasort): New declaration.
86807         * lib/alphasort.c: New file, from glibc with modifications.
86808         * m4/alphasort.m4: New file.
86809         * modules/alphasort: New file.
86810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
86811         HAVE_ALPHASORT.
86812         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
86813         HAVE_ALPHASORT.
86814         * doc/posix-functions/alphasort.texi: Mention the new module and the
86815         portability problems.
86817 2009-01-18  Bruno Haible  <bruno@clisp.org>
86819         New module 'scandir'.
86820         * lib/dirent.in.h (scandir): New declaration.
86821         * lib/scandir.c: New file, from glibc with modifications.
86822         * m4/scandir.m4: New file.
86823         * modules/scandir: New file.
86824         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
86825         HAVE_SCANDIR.
86826         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
86827         HAVE_SCANDIR.
86828         * doc/posix-functions/scandir.texi: Mention the new module and the
86829         portability problems.
86831 2009-01-17  Bruno Haible  <bruno@clisp.org>
86833         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
86834         Update documentation.
86835         (func_remove_suffix): Escape all dots in the suffix. Update
86836         documentation.
86837         (func_filter_filelist): Update documentation.
86838         Reported by Ralf Wildenhues.
86840 2009-01-17  Bruno Haible  <bruno@clisp.org>
86842         * modules/dprintf-posix-tests: New file.
86843         * tests/test-dprintf-posix.sh: New file.
86844         * tests/test-dprintf-posix.c: New file.
86846         New modules 'dprintf', 'dprintf-posix'.
86847         * lib/stdio.in.h (dprintf): New declaration.
86848         * lib/dprintf.c: New file.
86849         * m4/dprintf.m4: New file.
86850         * m4/dprintf-posix.m4: New file.
86851         * modules/dprintf: New file.
86852         * modules/dprintf-posix: New file.
86853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
86854         HAVE_DPRINTF, REPLACE_DPRINTF.
86855         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
86856         HAVE_DPRINTF, REPLACE_DPRINTF.
86857         * doc/posix-functions/dprintf.texi: Mention the new modules.
86859 2009-01-17  Bruno Haible  <bruno@clisp.org>
86861         * modules/vdprintf-posix-tests: New file.
86862         * tests/test-vdprintf-posix.sh: New file.
86863         * tests/test-vdprintf-posix.c: New file.
86865         New modules 'vdprintf', 'vdprintf-posix'.
86866         * lib/stdio.in.h (vdprintf): New declaration.
86867         * lib/vdprintf.c: New file.
86868         * m4/vdprintf.m4: New file.
86869         * m4/vdprintf-posix.m4: New file.
86870         * modules/vdprintf: New file.
86871         * modules/vdprintf-posix: New file.
86872         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
86873         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86874         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
86875         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86876         * doc/posix-functions/vdprintf.texi: Mention the new modules.
86878 2009-01-17  Bruno Haible  <bruno@clisp.org>
86880         Fix replacement of fopen on mingw.
86881         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
86882         mingw.
86884 2009-01-17  Bruno Haible  <bruno@clisp.org>
86886         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
86887         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
86889 2009-01-17  Bruno Haible  <bruno@clisp.org>
86891         Avoid test-fflush2.sh failure on mingw.
86892         * tests/test-fflush2.c: Include binary-io.h.
86893         (main): Put standard input into binary mode.
86894         * modules/fflush-tests (Depends-on): Add binary-io.
86896 2009-01-17  Bruno Haible  <bruno@clisp.org>
86898         * lib/wchar.in.h: In another particular situation, include only the
86899         system's <wchar.h> file.
86900         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
86901         Reported by Albert Chin-A-Young <china@thewrittenword.com>
86902         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
86904 2009-01-17  Bruno Haible  <bruno@clisp.org>
86906         Support for stripping executables in --enable-relocatable.
86907         * build-aux/install-reloc: Expect one more argument, or an environment
86908         variable RELOC_STRIP_PROG. If set, strip the destination program and
86909         its wrapper.
86910         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
86911         RELOC_STRIP_PROG.
86912         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
86913         to set RELOCATABLE_STRIP.
86914         * NEWS: Mention the new Makefile requirement.
86916 2009-01-17  Bruno Haible  <bruno@clisp.org>
86918         * build-aux/install-reloc: Remove debugging information left over by
86919         C compiler on MacOS X.
86921 2009-01-17  Bruno Haible  <bruno@clisp.org>
86923         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
86924         * lib/progreloc.c (find_executable): Fix type of pointer passed to
86925         _NSGetExecutablePath.
86927 2009-01-16  Jim Meyering  <meyering@redhat.com>
86929         strerror: avoid warnings about discarding "const"
86930         * lib/strerror.c (rpl_strerror): Instead of returning a const
86931         string from each and every "case", use a variable, and add a single
86932         cast after the switch.
86934 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
86936         * lib/arpa_inet.in.h: Add extern "C" block for C++.
86938 2009-01-16  Bruno Haible  <bruno@clisp.org>
86940         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
86941         array initializer syntax that also works in C++ mode.
86942         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86944 2009-01-16  Jim Meyering  <meyering@redhat.com>
86946         poll: suppress a warning
86947         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
86948         to ignore "...unsigned expression < 0 is always false" warnings.
86950 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
86952         poll: remove declarations of unused variables
86953         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
86954         sockbuf and optlen.
86956 2009-01-15  Bruno Haible  <bruno@clisp.org>
86958         Make fflush-after-ungetc POSIX compliant on BSD systems.
86959         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
86960         (clear_ungetc_buffer): Implement also for other systems.
86961         (rpl_fflush): On glibc systems, invoke
86962         clear_ungetc_buffer_preserving_position. Otherwise, invoke
86963         clear_ungetc_buffer after fetching the stream's position, not before.
86965 2009-01-15  Bruno Haible  <bruno@clisp.org>
86967         Make fflush-after-ungetc POSIX compliant on glibc systems.
86968         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
86969         after ungetc.
86970         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
86971         (rpl_fflush): On glibc systems, simply call the system's fflush
86972         function after clearing the ungetc buffer.
86973         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
86974         Instead, lseek only to the end of file, then use the system's fseeko
86975         for the rest. On glibc systems, reset the EOF indicator bit.
86977 2009-01-15  Jim Meyering  <meyering@redhat.com>
86979         openmp.m4: revert quote-adding change, for portability to older autoconf
86980         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
86981         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
86982         Simon Josefsson noticed the problem when using autoconf-2.61.
86984 2009-01-15  Bruno Haible  <bruno@clisp.org>
86986         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
86987         * tests/test-fflush2.c (ASSERT): Always fail.
86988         (main): Add two tests for fflush() after ungetc(), taking into account
86989         the Austin Group's clarification.
86990         Suggested by Eric Blake.
86992 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
86994         mktime.m4: remove K&R-style function prototypes
86995         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
86996         for the Sun C++ compiler.
86998 2009-01-14  Bruno Haible  <bruno@clisp.org>
87000         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
87001         while including <wchar.h>.
87002         * lib/wchar.in.h: In two particular situations on HP-UX, include only
87003         the system's <wchar.h> file.
87004         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87006 2009-01-14  Bruno Haible  <bruno@clisp.org>
87008         * m4/csharp.m4: Don't mention gettext on the serial number line.
87009         * m4/csharpexec.m4: Likewise.
87010         * m4/eaccess.m4: Likewise.
87011         * m4/javaexec.m4: Likewise.
87012         * m4/sig_atomic_t.m4: Likewise.
87013         * m4/tmpdir.m4: Likewise.
87014         * m4/intldir.m4: Bump gettext version.
87015         * m4/lib-ld.m4: Likewise.
87017 2009-01-14  Bruno Haible  <bruno@clisp.org>
87019         * lib/progname.c (set_program_name): Add more comments.
87020         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
87022 2009-01-14  Simon Josefsson  <simon@josefsson.org>
87024         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
87025         were sys/stat.h does not define it.
87027 2009-01-14  Jim Meyering  <meyering@redhat.com>
87029         many *.m4 files: improve m4 quoting
87030         99% of this change was performed by running the following commands:
87031         git ls-files | grep '\.m4$' | xargs perl -pi \
87032           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
87033           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87034           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87035           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
87036         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
87037         The remainder were to add Copyright dates, increment serial numbers,
87038         undo some changes in comments, exclude m4/intl.m4, and add quotes
87039         around the "1" in ",1" where the unusual spacing prohibited the
87040         above regexps from doing the job.  For more details, see
87041         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
87042         * m4/acl.m4: Modified.
87043         * m4/afs.m4: Likewise.
87044         * m4/alloca.m4: Likewise.
87045         * m4/argp.m4: Likewise.
87046         * m4/argz.m4: Likewise.
87047         * m4/atexit.m4: Likewise.
87048         * m4/bison-i18n.m4: Likewise.
87049         * m4/bison.m4: Likewise.
87050         * m4/byteswap.m4: Likewise.
87051         * m4/c-stack.m4: Likewise.
87052         * m4/c-strtod.m4: Likewise.
87053         * m4/calloc.m4: Likewise.
87054         * m4/canonicalize-lgpl.m4: Likewise.
87055         * m4/chown.m4: Likewise.
87056         * m4/clock_time.m4: Likewise.
87057         * m4/codeset.m4: Likewise.
87058         * m4/copy-file.m4: Likewise.
87059         * m4/csharp.m4: Likewise.
87060         * m4/csharpcomp.m4: Likewise.
87061         * m4/csharpexec.m4: Likewise.
87062         * m4/d-ino.m4: Likewise.
87063         * m4/d-type.m4: Likewise.
87064         * m4/dirfd.m4: Likewise.
87065         * m4/double-slash-root.m4: Likewise.
87066         * m4/eaccess.m4: Likewise.
87067         * m4/eealloc.m4: Likewise.
87068         * m4/environ.m4: Likewise.
87069         * m4/errno_h.m4: Likewise.
87070         * m4/euidaccess.m4: Likewise.
87071         * m4/execute.m4: Likewise.
87072         * m4/fatal-signal.m4: Likewise.
87073         * m4/fchdir.m4: Likewise.
87074         * m4/fcntl_h.m4: Likewise.
87075         * m4/fileblocks.m4: Likewise.
87076         * m4/filenamecat.m4: Likewise.
87077         * m4/findprog.m4: Likewise.
87078         * m4/flexmember.m4: Likewise.
87079         * m4/fnmatch.m4: Likewise.
87080         * m4/fopen.m4: Likewise.
87081         * m4/fpending.m4: Likewise.
87082         * m4/fprintf-posix.m4: Likewise.
87083         * m4/free.m4: Likewise.
87084         * m4/frexp.m4: Likewise.
87085         * m4/frexpl.m4: Likewise.
87086         * m4/fsusage.m4: Likewise.
87087         * m4/ftruncate.m4: Likewise.
87088         * m4/gc-camellia.m4: Likewise.
87089         * m4/gc-random.m4: Likewise.
87090         * m4/gc.m4: Likewise.
87091         * m4/getaddrinfo.m4: Likewise.
87092         * m4/getcwd-abort-bug.m4: Likewise.
87093         * m4/getcwd-path-max.m4: Likewise.
87094         * m4/getdate.m4: Likewise.
87095         * m4/getdomainname.m4: Likewise.
87096         * m4/getgroups.m4: Likewise.
87097         * m4/gethostname.m4: Likewise.
87098         * m4/gethrxtime.m4: Likewise.
87099         * m4/getline.m4: Likewise.
87100         * m4/getloadavg.m4: Likewise.
87101         * m4/getndelim2.m4: Likewise.
87102         * m4/getpass.m4: Likewise.
87103         * m4/gettext.m4: Likewise.
87104         * m4/gettime.m4: Likewise.
87105         * m4/gettimeofday.m4: Likewise.
87106         * m4/gnulib-common.m4: Likewise.
87107         * m4/group-member.m4: Likewise.
87108         * m4/host-os.m4: Likewise.
87109         * m4/iconv.m4: Likewise.
87110         * m4/iconv_open.m4: Likewise.
87111         * m4/inet_ntop.m4: Likewise.
87112         * m4/inet_pton.m4: Likewise.
87113         * m4/inline.m4: Likewise.
87114         * m4/intldir.m4: Likewise.
87115         * m4/intlmacosx.m4: Likewise.
87116         * m4/intmax.m4: Likewise.
87117         * m4/intmax_t.m4: Likewise.
87118         * m4/inttypes.m4: Likewise.
87119         * m4/inttypes_h.m4: Likewise.
87120         * m4/inttypes-pri.m4: Likewise.
87121         * m4/isapipe.m4: Likewise.
87122         * m4/isnand.m4: Likewise.
87123         * m4/isnanf.m4: Likewise.
87124         * m4/isnanl.m4: Likewise.
87125         * m4/javacomp.m4: Likewise.
87126         * m4/javaexec.m4: Likewise.
87127         * m4/jm-winsz1.m4: Likewise.
87128         * m4/jm-winsz2.m4: Likewise.
87129         * m4/lchown.m4: Likewise.
87130         * m4/lcmessage.m4: Likewise.
87131         * m4/ldexpl.m4: Likewise.
87132         * m4/lib-ld.m4: Likewise.
87133         * m4/lib-link.m4: Likewise.
87134         * m4/libsigsegv.m4: Likewise.
87135         * m4/link-follow.m4: Likewise.
87136         * m4/localcharset.m4: Likewise.
87137         * m4/locale-fr.m4: Likewise.
87138         * m4/locale-ja.m4: Likewise.
87139         * m4/locale-tr.m4: Likewise.
87140         * m4/locale-zh.m4: Likewise.
87141         * m4/lock.m4: Likewise.
87142         * m4/longlong.m4: Likewise.
87143         * m4/ls-mntd-fs.m4: Likewise.
87144         * m4/lstat.m4: Likewise.
87145         * m4/malloc.m4: Likewise.
87146         * m4/mathl.m4: Likewise.
87147         * m4/mbrtowc.m4: Likewise.
87148         * m4/mbstate_t.m4: Likewise.
87149         * m4/mbswidth.m4: Likewise.
87150         * m4/memchr.m4: Likewise.
87151         * m4/memcmp.m4: Likewise.
87152         * m4/memcpy.m4: Likewise.
87153         * m4/memmem.m4: Likewise.
87154         * m4/memmove.m4: Likewise.
87155         * m4/mempcpy.m4: Likewise.
87156         * m4/memrchr.m4: Likewise.
87157         * m4/memset.m4: Likewise.
87158         * m4/minmax.m4: Likewise.
87159         * m4/mkdir-slash.m4: Likewise.
87160         * m4/mkdtemp.m4: Likewise.
87161         * m4/mktime.m4: Likewise.
87162         * m4/mmap-anon.m4: Likewise.
87163         * m4/mountlist.m4: Likewise.
87164         * m4/nanosleep.m4: Likewise.
87165         * m4/nls.m4: Likewise.
87166         * m4/nocrash.m4: Likewise.
87167         * m4/open.m4: Likewise.
87168         * m4/openat.m4: Likewise.
87169         * m4/openmp.m4: Likewise.
87170         * m4/pathmax.m4: Likewise.
87171         * m4/perl.m4: Likewise.
87172         * m4/physmem.m4: Likewise.
87173         * m4/pipe.m4: Likewise.
87174         * m4/po.m4: Likewise.
87175         * m4/poll.m4: Likewise.
87176         * m4/posixtm.m4: Likewise.
87177         * m4/posixver.m4: Likewise.
87178         * m4/printf-frexp.m4: Likewise.
87179         * m4/printf-frexpl.m4: Likewise.
87180         * m4/printf-posix.m4: Likewise.
87181         * m4/printf-posix-rpl.m4: Likewise.
87182         * m4/printf.m4: Likewise.
87183         * m4/progtest.m4: Likewise.
87184         * m4/putenv.m4: Likewise.
87185         * m4/readline.m4: Likewise.
87186         * m4/readlink.m4: Likewise.
87187         * m4/readutmp.m4: Likewise.
87188         * m4/realloc.m4: Likewise.
87189         * m4/regex.m4: Likewise.
87190         * m4/relocatable.m4: Likewise.
87191         * m4/relocatable-lib.m4: Likewise.
87192         * m4/rename-dest-slash.m4: Likewise.
87193         * m4/rename.m4: Likewise.
87194         * m4/rmdir-errno.m4: Likewise.
87195         * m4/rmdir.m4: Likewise.
87196         * m4/roundf.m4: Likewise.
87197         * m4/roundl.m4: Likewise.
87198         * m4/rpmatch.m4: Likewise.
87199         * m4/save-cwd.m4: Likewise.
87200         * m4/selinux-selinux-h.m4: Likewise.
87201         * m4/setenv.m4: Likewise.
87202         * m4/settime.m4: Likewise.
87203         * m4/sig2str.m4: Likewise.
87204         * m4/sig_atomic_t.m4: Likewise.
87205         * m4/signalblocking.m4: Likewise.
87206         * m4/signbit.m4: Likewise.
87207         * m4/sigpipe.m4: Likewise.
87208         * m4/sockets.m4: Likewise.
87209         * m4/sockpfaf.m4: Likewise.
87210         * m4/st_dm_mode.m4: Likewise.
87211         * m4/stat-time.m4: Likewise.
87212         * m4/stdbool.m4: Likewise.
87213         * m4/stdint.m4: Likewise.
87214         * m4/stdint_h.m4: Likewise.
87215         * m4/stpcpy.m4: Likewise.
87216         * m4/stpncpy.m4: Likewise.
87217         * m4/strcase.m4: Likewise.
87218         * m4/strchrnul.m4: Likewise.
87219         * m4/strcspn.m4: Likewise.
87220         * m4/strdup.m4: Likewise.
87221         * m4/strftime.m4: Likewise.
87222         * m4/strndup.m4: Likewise.
87223         * m4/strnlen.m4: Likewise.
87224         * m4/strpbrk.m4: Likewise.
87225         * m4/strptime.m4: Likewise.
87226         * m4/strsep.m4: Likewise.
87227         * m4/strtod.m4: Likewise.
87228         * m4/strtoimax.m4: Likewise.
87229         * m4/strtok_r.m4: Likewise.
87230         * m4/strtol.m4: Likewise.
87231         * m4/strtoll.m4: Likewise.
87232         * m4/strtoul.m4: Likewise.
87233         * m4/strtoull.m4: Likewise.
87234         * m4/strtoumax.m4: Likewise.
87235         * m4/strverscmp.m4: Likewise.
87236         * m4/threadlib.m4: Likewise.
87237         * m4/timegm.m4: Likewise.
87238         * m4/tm_gmtoff.m4: Likewise.
87239         * m4/tmpdir.m4: Likewise.
87240         * m4/tmpfile.m4: Likewise.
87241         * m4/tzset.m4: Likewise.
87242         * m4/uintmax_t.m4: Likewise.
87243         * m4/unlinkdir.m4: Likewise.
87244         * m4/unlocked-io.m4: Likewise.
87245         * m4/uptime.m4: Likewise.
87246         * m4/userspec.m4: Likewise.
87247         * m4/utimbuf.m4: Likewise.
87248         * m4/utime.m4: Likewise.
87249         * m4/utimes-null.m4: Likewise.
87250         * m4/utimes.m4: Likewise.
87251         * m4/vararrays.m4: Likewise.
87252         * m4/vasnprintf.m4: Likewise.
87253         * m4/vfprintf-posix.m4: Likewise.
87254         * m4/vprintf-posix.m4: Likewise.
87255         * m4/wait-process.m4: Likewise.
87256         * m4/wchar_t.m4: Likewise.
87257         * m4/wint_t.m4: Likewise.
87258         * m4/write-any-file.m4: Likewise.
87259         * m4/yield.m4: Likewise.
87261 2009-01-13  Bruno Haible  <bruno@clisp.org>
87263         Avoid test-copy-file.sh failures when ACL support insufficient.
87264         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
87265         TESTS_ENVIRONMENT.
87266         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
87267         Reported by Jim Meyering.
87269 2009-01-13  Bruno Haible  <bruno@clisp.org>
87271         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
87272         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
87273         * modules/unistdio/u8-printf-parse (Files): Likewise.
87274         * modules/unistdio/u32-printf-parse (Files): Likewise.
87275         * modules/unistdio/ulc-printf-parse (Files): Likewise.
87277 2009-01-13  Simon Josefsson  <simon@josefsson.org>
87279         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
87280         and m4/inttypes_h.m4 too.
87282 2009-01-12  Eric Blake  <ebb9@byu.net>
87284         tests: IRIX 6.2 cc can't compile -0.0 into .data
87285         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
87286         rather than at compile-time.
87287         * tests/test-floorl.c (minus_zero): Likewise.
87288         * tests/test-frexpl.c (minus_zero): Likewise.
87289         * tests/test-isnan.c (minus_zerol): Likewise.
87290         * tests/test-isnanl.h (minus_zero): Likewise.
87291         * tests/test-ldexpl.c (minus_zero): Likewise.
87292         * tests/test-roundl.c (minus_zero): Likewise.
87293         * tests/test-signbit.c (minus_zerol): Likewise.
87294         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
87295         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
87296         * tests/test-truncl.c (minus_zero): Likewise.
87297         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
87298         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
87299         Reported by Tom G. Christensen and Nelson H. F. Beebe.
87301 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87303         regex: fix glibc bug 9697
87304         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
87305         handling.
87307 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87309         regex: fix glibc bug 697
87310         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
87311         being NULL also if there are no backreferences.
87313 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87315         regex: merge glibc changes
87316         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
87317         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
87318         re_string_skip_chars, re_string_reconstruct): Likewise.
87319         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
87321 2009-01-07  Jim Meyering  <meyering@redhat.com>
87323         poll: filter through cppi
87324         * lib/poll.c: Indent cpp directives to reflect nesting.
87326 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
87328         poll: don't return uninitialized
87329         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
87331 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
87333         avoid compile failure on AIX 6.1
87334         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
87335         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
87337 2009-01-04  Jim Meyering  <meyering@redhat.com>
87339         remove duplicate inclusion of <stdio.h>
87340         * tests/test-fprintf-posix.c: Likewise.
87341         * tests/test-printf-posix.c: Likewise.
87342         * tests/test-snprintf-posix.c: Likewise.
87343         * tests/test-sprintf-posix.c: Likewise.
87344         * tests/test-vasprintf-posix.c: Likewise.
87345         * tests/test-vfprintf-posix.c: Likewise.
87346         * tests/test-vprintf-posix.c: Likewise.
87347         * tests/test-vsnprintf-posix.c: Likewise.
87348         * tests/test-vsprintf-posix.c: Likewise.
87350 2009-01-03  Jim Meyering  <meyering@redhat.com>
87352         gnulib-tool: fix sed-based filtering
87353         * gnulib-tool (func_filter_filelist): Remove extra backslash
87354         in sed_fff_filter definition.
87356 2009-01-02  Jim Meyering  <meyering@redhat.com>
87358         strftime: avoid compilation failure on Solaris 2.6
87359         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
87360         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
87361         Don't #define mbrlen or mbsinit, since now they're guaranteed to
87362         be available.  Reported by Tom G. Christensen.  Details in
87363         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
87365 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87366             Bruno Haible  <bruno@clisp.org>
87368         Speed up gnulib-tool by doing more string processing through shell
87369         built-ins.
87370         * gnulib-tool (fast_func_append): New variable.
87371         (func_remove_prefix, func_remove_suffix): New functions.
87372         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
87373         (func_filter_filelist): New function.
87374         (func_get_dependencies): Use func_remove_suffix instead of sed.
87375         (func_get_automake_snippet): Use func_filter_filelist instead of a
87376         subshell and sed invocation.
87378 2009-01-01  Bruno Haible  <bruno@clisp.org>
87380         Fix a security bug.
87381         * gnulib-tool (func_import, import, update): Don't allow the characters
87382         '"', '$', '`', '\' in macro arguments that become part of commands that
87383         are evaluated.
87385 2009-01-01  Bruno Haible  <bruno@clisp.org>
87387         * gnulib-tool (func_reset_sigpipe): Add more comments.
87389 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87391         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
87392         func_emit_tests_Makefile_am, func_import): Abort loops early if we
87393         already know the answer.
87395 2009-01-01  Jim Meyering  <meyering@redhat.com>
87397         * lib/version-etc.c (version_etc_va): Update copyright year.
87399 2008-12-30  Bruno Haible  <bruno@clisp.org>
87401         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
87402         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
87403         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
87405 2008-12-29  Eric Blake  <ebb9@byu.net>
87407         multiarch: avoid autoconf AC_REQUIRE bug
87408         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
87409         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
87410         2.63 and older.
87411         Reported by Bruno Haible, and analyzed in
87412         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
87414 2008-12-29  Bruno Haible  <bruno@clisp.org>
87416         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
87417         files in subdirectories correctly.
87418         Reported by Ralf Wildenhues.
87420 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87422         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
87423         rather than 'join FILE -', for Solaris join.
87425 2008-12-29  Bruno Haible  <bruno@clisp.org>
87427         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
87428         quoting.
87429         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
87430         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
87431         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
87432         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
87433         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
87434         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
87435         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
87436         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
87437         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
87438         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
87439         * m4/nls.m4 (AM_NLS): Likewise.
87440         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
87441         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
87442         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87443         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
87444         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
87445         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
87446         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
87447         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
87448         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
87449         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
87450         * m4/xsize.m4 (gl_XSIZE): Likewise.
87451         Suggested by Jim Meyering.
87453 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87455         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
87456         * lib/parse-duration.c: use a switch instead of cascading if's.
87458 2008-12-29  Eric Blake  <ebb9@byu.net>
87460         wchar.h: supply WEOF on Irix 5.3
87461         * lib/wchar.in.h (wint_t): Also supply WEOF.
87462         * lib/wctype.in.h (wint_t): Likewise.
87463         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
87464         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
87465         Reported by Tom G. Christensen.
87467 2008-12-26  Bruno Haible  <bruno@clisp.org>
87469         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
87470         i486, i586, i686.
87472 2008-12-26  Bruno Haible  <bruno@clisp.org>
87474         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
87476 2008-12-26  Bruno Haible  <bruno@clisp.org>
87478         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
87479         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
87480         not __STDC_CONSTANT_MACROS.
87481         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
87483 2008-12-25  Bruno Haible  <bruno@clisp.org>
87485         Add support for universal builds to vasnprintf.
87486         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
87487         universal builds, guess no.
87488         * modules/vasnprintf-posix (Depends-on): Add multiarch.
87489         * modules/vasprintf-posix (Depends-on): Likewise.
87490         * modules/fprintf-posix (Depends-on): Likewise.
87491         * modules/vfprintf-posix (Depends-on): Likewise.
87492         * modules/snprintf-posix (Depends-on): Likewise.
87493         * modules/vsnprintf-posix (Depends-on): Likewise.
87494         * modules/sprintf-posix (Depends-on): Likewise.
87495         * modules/vsprintf-posix (Depends-on): Likewise.
87496         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87497         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87498         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87499         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87500         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87501         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87502         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87504         Add support for universal builds to <inttypes.h>.
87505         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
87506         _SCNu64_PREFIX): In Apple
87507         universal builds, define directly, using _LP64.
87508         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
87509         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
87510         * modules/inttypes (Depends-on): Add multiarch.
87511         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87513         Add support for universal builds to <stdint.h>.
87514         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
87515         universal builds, define directly, using _LP64.
87516         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
87517         Apple universal builds, don't test for the size and suffix of ptrdiff_t
87518         and size_t.
87519         * modules/stdint (Depends-on): Add multiarch.
87520         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87522         New module 'multiarch'.
87523         * modules/multiarch: New file.
87524         * m4/multiarch.m4: New file.
87526 2008-12-25  Bruno Haible  <bruno@clisp.org>
87528         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
87530 2008-12-25  Bruno Haible  <bruno@clisp.org>
87532         * modules/btowc (License): Relicense under LGPLv2+.
87533         * modules/mbsinit (License): Likewise.
87534         * modules/mbrtowc (License): Likewise.
87535         * modules/wcrtomb (License): Likewise.
87536         * modules/streq (License): Likewise.
87537         Reported by David Lutterkort <lutter@redhat.com>.
87539 2008-12-23  Bruno Haible  <bruno@clisp.org>
87541         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
87543 2008-12-23  Bruno Haible  <bruno@clisp.org>
87545         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
87546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
87547         GETADDRINFO_LIB, not in LIBS.
87548         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
87549         * modules/canon-host (Link): Likewise.
87550         * NEWS: Mention the change.
87551         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
87552         GETADDRINFO_LIB.
87554 2008-12-22  Bruno Haible  <bruno@clisp.org>
87556         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
87557         * doc/posix-functions/iswalpha_l.texi: Likewise.
87558         * doc/posix-functions/iswblank_l.texi: Likewise.
87559         * doc/posix-functions/iswcntrl_l.texi: Likewise.
87560         * doc/posix-functions/iswctype_l.texi: Likewise.
87561         * doc/posix-functions/iswdigit_l.texi: Likewise.
87562         * doc/posix-functions/iswgraph_l.texi: Likewise.
87563         * doc/posix-functions/iswlower_l.texi: Likewise.
87564         * doc/posix-functions/iswprint_l.texi: Likewise.
87565         * doc/posix-functions/iswpunct_l.texi: Likewise.
87566         * doc/posix-functions/iswspace_l.texi: Likewise.
87567         * doc/posix-functions/iswupper_l.texi: Likewise.
87568         * doc/posix-functions/iswxdigit_l.texi: Likewise.
87569         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
87570         * doc/posix-functions/open_wmemstream.texi: Likewise.
87571         * doc/posix-functions/swscanf.texi: Likewise.
87572         * doc/posix-functions/towctrans_l.texi: Likewise.
87573         * doc/posix-functions/towlower.texi: Likewise.
87574         * doc/posix-functions/towlower_l.texi: Likewise.
87575         * doc/posix-functions/towupper.texi: Likewise.
87576         * doc/posix-functions/towupper_l.texi: Likewise.
87577         * doc/posix-functions/vfwprintf.texi: Likewise.
87578         * doc/posix-functions/vfwscanf.texi: Likewise.
87579         * doc/posix-functions/vswscanf.texi: Likewise.
87580         * doc/posix-functions/vwprintf.texi: Likewise.
87581         * doc/posix-functions/vwscanf.texi: Likewise.
87582         * doc/posix-functions/wcpcpy.texi: Likewise.
87583         * doc/posix-functions/wcpncpy.texi: Likewise.
87584         * doc/posix-functions/wcscasecmp.texi: Likewise.
87585         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
87586         * doc/posix-functions/wcscoll_l.texi: Likewise.
87587         * doc/posix-functions/wcsdup.texi: Likewise.
87588         * doc/posix-functions/wcsncasecmp.texi: Likewise.
87589         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
87590         * doc/posix-functions/wcsnlen.texi: Likewise.
87591         * doc/posix-functions/wcsnrtombs.texi: Likewise.
87592         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
87593         * doc/posix-functions/wctrans_l.texi: Likewise.
87594         * doc/posix-functions/wctype_l.texi: Likewise.
87595         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
87596         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
87597         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
87598         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
87599         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
87600         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
87601         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
87602         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
87603         * doc/glibc-functions/wcschrnul.texi: Likewise.
87604         * doc/glibc-functions/wcsftime_l.texi: Likewise.
87605         * doc/glibc-functions/wcstod_l.texi: Likewise.
87606         * doc/glibc-functions/wcstof_l.texi: Likewise.
87607         * doc/glibc-functions/wcstol_l.texi: Likewise.
87608         * doc/glibc-functions/wcstold_l.texi: Likewise.
87609         * doc/glibc-functions/wcstoll_l.texi: Likewise.
87610         * doc/glibc-functions/wcstoq.texi: Likewise.
87611         * doc/glibc-functions/wcstoul_l.texi: Likewise.
87612         * doc/glibc-functions/wcstoull_l.texi: Likewise.
87613         * doc/glibc-functions/wcstouq.texi: Likewise.
87614         * doc/glibc-functions/wmempcpy.texi: Likewise.
87616 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
87617             Eric Blake  <ebb9@byu.net>
87618             Paolo Bonzini  <bonzini@gnu.org>
87619             Bruno Haible  <bruno@clisp.org>
87621         Make c-stack work on Haiku.
87622         * lib/c-stack.c (SA_ONSTACK): Define fallback.
87623         (c_stack_action): Use SA_ONSTACK flag.
87625 2008-12-22  Bruno Haible  <bruno@clisp.org>
87627         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
87629 2008-12-22  Bruno Haible  <bruno@clisp.org>
87631         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
87632         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
87633         being overridden.
87634         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
87635         New macros.
87636         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
87637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
87638         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
87639         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
87641 2008-12-22  Bruno Haible  <bruno@clisp.org>
87643         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
87644         from test code.
87646 2008-12-22  Eric Blake  <ebb9@byu.net>
87648         Avoid gcc warnings on cygwin.
87649         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
87650         Avoid unused variable.
87651         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
87652         Likewise.
87654 2008-12-22  Bruno Haible  <bruno@clisp.org>
87656         Remove HAVE_MBRTOWC conditionals.
87657         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
87658         (mbscasecmp): Assume mbrtowc function.
87659         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
87660         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
87661         * lib/mbschr.c: Include mbuiter.h unconditionally.
87662         (mbschr): Assume mbrtowc function.
87663         * lib/mbscspn.c: Include mbuiter.h unconditionally.
87664         (mbscspn): Assume mbrtowc function.
87665         * lib/mbslen.c: Include mbuiter.h unconditionally.
87666         (mbslen): Assume mbrtowc function.
87667         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
87668         (mbsncasecmp): Assume mbrtowc function.
87669         * lib/mbsnlen.c: Include mbiter.h unconditionally.
87670         (mbsnlen): Assume mbrtowc function.
87671         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
87672         (mbspbrk): Assume mbrtowc function.
87673         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
87674         (mbspcasecmp): Assume mbrtowc function.
87675         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
87676         (mbsrchr): Assume mbrtowc function.
87677         * lib/mbssep.c: Include mbuiter.h unconditionally.
87678         (mbssep): Assume mbrtowc function.
87679         * lib/mbsspn.c: Include mbuiter.h unconditionally.
87680         (mbsspn): Assume mbrtowc function.
87681         * lib/mbsstr.c: Include mbuiter.h unconditionally.
87682         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
87683         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
87684         (mbstok_r): Assume mbrtowc function.
87685         * lib/propername.c: Include mbuiter.h unconditionally.
87686         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
87687         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
87688         (trim2): Assume mbrtowc function.
87689         * lib/mbswidth.c (mbsinit): Remove fallback definition.
87690         (mbsnwidth): Assume mbrtowc function.
87691         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
87692         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
87693         fallback definitions.
87694         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
87696 2008-12-22  Bruno Haible  <bruno@clisp.org>
87698         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
87700 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
87702         * modules/regex: Request emulations for the mb*/wc* functions we need.
87703         * m4/regex.m4: Don't look for those functions here.
87704         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
87706 2008-12-22  Bruno Haible  <bruno@clisp.org>
87708         * modules/fnmatch (Depends-on): Remove duplicated dependency.
87710 2008-12-21  Bruno Haible  <bruno@clisp.org>
87712         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
87713         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
87714         (Include): Remove conditionalization.
87715         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
87716         (Include): Remove conditionalization.
87717         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
87718         (Include): Remove conditionalization.
87719         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
87720         * m4/mbfile.m4 (gl_MBFILE): Likewise.
87721         * NEWS: Mention the change.
87722         Reported by Alan Hourihane <alanh@fairlite.co.uk>
87723         via Sergey Poznyakoff <gray@gnu.org.ua>.
87725 2008-12-21  Bruno Haible  <bruno@clisp.org>
87727         * MODULES.html.sh (Extended multibyte and wide character utilities
87728         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
87729         wcrtomb, wcsrtombs.
87730         (Support for systems lacking POSIX:2008): Add accept, bind, close,
87731         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
87732         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
87733         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
87735 2008-12-21  Bruno Haible  <bruno@clisp.org>
87737         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
87739 2008-12-21  Bruno Haible  <bruno@clisp.org>
87741         * modules/wcsnrtombs-tests: New file.
87742         * tests/test-wcsnrtombs1.sh: New file.
87743         * tests/test-wcsnrtombs2.sh: New file.
87744         * tests/test-wcsnrtombs3.sh: New file.
87745         * tests/test-wcsnrtombs4.sh: New file.
87746         * tests/test-wcsnrtombs.c: New file.
87748         New module 'wcsnrtombs'.
87749         * lib/wchar.in.h (wcsnrtombs): New declaration.
87750         * lib/wcsnrtombs.c: New file.
87751         * lib/wcsrtombs-state.c: New file.
87752         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
87753         (internal_state): Remove variable.
87754         * m4/wcsnrtombs.m4: New file.
87755         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
87756         compilation units.
87757         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
87758         HAVE_WCSNRTOMBS.
87759         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
87760         HAVE_WCSNRTOMBS.
87761         * modules/wcsnrtombs: New file.
87762         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
87763         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
87765 2008-12-21  Bruno Haible  <bruno@clisp.org>
87767         * modules/wcsrtombs-tests: New file.
87768         * tests/test-wcsrtombs1.sh: New file.
87769         * tests/test-wcsrtombs2.sh: New file.
87770         * tests/test-wcsrtombs3.sh: New file.
87771         * tests/test-wcsrtombs4.sh: New file.
87772         * tests/test-wcsrtombs.c: New file.
87774         New module 'wcsrtombs'.
87775         * lib/wchar.in.h (wcsrtombs): New declaration.
87776         * lib/wcsrtombs.c: New file.
87777         * m4/wcsrtombs.m4: New file.
87778         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
87779         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87780         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
87781         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87782         * modules/wcsrtombs: New file.
87783         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
87784         bugs.
87786 2008-12-21  Bruno Haible  <bruno@clisp.org>
87788         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
87789         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
87790         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
87791         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
87792         if not correct.
87793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
87794         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
87795         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87796         m4/locale-zh.m4, m4/codeset.m4.
87797         * doc/posix-functions/wcrtomb.texi: Document the bug.
87799 2008-12-21  Bruno Haible  <bruno@clisp.org>
87801         Work around a btowc() bug on IRIX 6.5.
87802         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
87803         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
87804         REPLACE_WTOBC if not.
87805         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
87806         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
87807         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
87809 2008-12-21  Bruno Haible  <bruno@clisp.org>
87811         * modules/wcrtomb-tests: New file.
87812         * tests/test-wcrtomb.sh: New file.
87813         * tests/test-wcrtomb.c: New file.
87815         New module 'wcrtomb'.
87816         * lib/wchar.in.h (wcrtomb): New declaration.
87817         * lib/wcrtomb.c: New file.
87818         * m4/wcrtomb.m4: New file.
87819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
87820         HAVE_WCRTOMB.
87821         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
87822         HAVE_WCRTOMB.
87823         * modules/wcrtomb: New file.
87824         * doc/posix-functions/wcrtomb.texi: Mention the new module.
87826 2008-12-21  Bruno Haible  <bruno@clisp.org>
87828         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
87829         * modules/mbsrtowcs (Files): Likewise.
87830         * modules/wctob (Files): Likewise.
87831         * modules/c-strcase-tests (Files): Likewise.
87832         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
87833         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
87834         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
87835         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
87836         * modules/vasnprintf-posix-tests (Files): Likewise.
87838 2008-12-21  William Pursell  <bill.pursell@gmail.com>
87840         gitlog-to-changelog: pass all command-line arguments to git-log
87841         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
87842         it is sometimes convenient to filter the commits in various ways.
87843         gitlog-to-changelog only allows --since to specify a start date,
87844         but git-log itself supports many other filtering mechanisms.
87845         At the moment, I want to filter by branch name.  Rather than
87846         adding a --branch option to gitlog-to-changelog, it seems more
87847         flexible to simply pass all options directly to git-log and let
87848         git do the work.  Notice that this effectively makes --since a
87849         redundant option for gitlog-to-changelog, but removing it would
87850         require current usage to change since calls would then require
87851         an additional '--'.
87853 2008-12-21  Bruno Haible  <bruno@clisp.org>
87855         * modules/mbsnrtowcs-tests: New file.
87856         * tests/test-mbsnrtowcs1.sh: New file.
87857         * tests/test-mbsnrtowcs2.sh: New file.
87858         * tests/test-mbsnrtowcs3.sh: New file.
87859         * tests/test-mbsnrtowcs4.sh: New file.
87860         * tests/test-mbsnrtowcs.c: New file.
87862         New module 'mbsnrtowcs'.
87863         * lib/wchar.in.h (mbsnrtowcs): New declaration.
87864         * lib/mbsnrtowcs.c: New file.
87865         * lib/mbsrtowcs-state.c: New file.
87866         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
87867         (internal_state): Remove variable.
87868         * m4/mbsnrtowcs.m4: New file.
87869         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
87870         compilation units.
87871         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
87872         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87873         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
87874         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87875         * modules/mbsnrtowcs: New file.
87876         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
87877         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
87878         portability problem.
87880 2008-12-21  Bruno Haible  <bruno@clisp.org>
87882         Work around mbsrtowcs bug.
87883         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
87884         (gl_FUNC_MBSRTOWCS): Invoke it.
87885         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87886         m4/locale-zh.m4.
87887         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
87889 2008-12-21  Bruno Haible  <bruno@clisp.org>
87891         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
87893 2008-12-21  Bruno Haible  <bruno@clisp.org>
87895         Update doc for AIX.
87896         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
87897         16-bit wchar_t type.
87898         * doc/posix-functions/btowc.texi: Likewise.
87899         * doc/posix-functions/fgetwc.texi: Likewise.
87900         * doc/posix-functions/fgetws.texi: Likewise.
87901         * doc/posix-functions/fputwc.texi: Likewise.
87902         * doc/posix-functions/fputws.texi: Likewise.
87903         * doc/posix-functions/fwide.texi: Likewise.
87904         * doc/posix-functions/fwprintf.texi: Likewise.
87905         * doc/posix-functions/fwscanf.texi: Likewise.
87906         * doc/posix-functions/getwchar.texi: Likewise.
87907         * doc/posix-functions/getwc.texi: Likewise.
87908         * doc/posix-functions/iswalnum.texi: Likewise.
87909         * doc/posix-functions/iswalpha.texi: Likewise.
87910         * doc/posix-functions/iswblank.texi: Likewise.
87911         * doc/posix-functions/iswcntrl.texi: Likewise.
87912         * doc/posix-functions/iswctype.texi: Likewise.
87913         * doc/posix-functions/iswdigit.texi: Likewise.
87914         * doc/posix-functions/iswgraph.texi: Likewise.
87915         * doc/posix-functions/iswlower.texi: Likewise.
87916         * doc/posix-functions/iswprint.texi: Likewise.
87917         * doc/posix-functions/iswpunct.texi: Likewise.
87918         * doc/posix-functions/iswspace.texi: Likewise.
87919         * doc/posix-functions/iswupper.texi: Likewise.
87920         * doc/posix-functions/iswxdigit.texi: Likewise.
87921         * doc/posix-functions/mbrtowc.texi: Likewise.
87922         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87923         * doc/posix-functions/mbstowcs.texi: Likewise.
87924         * doc/posix-functions/mbtowc.texi: Likewise.
87925         * doc/posix-functions/putwchar.texi: Likewise.
87926         * doc/posix-functions/putwc.texi: Likewise.
87927         * doc/posix-functions/swprintf.texi: Likewise.
87928         * doc/posix-functions/tolower.texi: Likewise.
87929         * doc/posix-functions/toupper.texi: Likewise.
87930         * doc/posix-functions/towctrans.texi: Likewise.
87931         * doc/posix-functions/ungetwc.texi: Likewise.
87932         * doc/posix-functions/vswprintf.texi: Likewise.
87933         * doc/posix-functions/wcrtomb.texi: Likewise.
87934         * doc/posix-functions/wcscat.texi: Likewise.
87935         * doc/posix-functions/wcschr.texi: Likewise.
87936         * doc/posix-functions/wcscmp.texi: Likewise.
87937         * doc/posix-functions/wcscoll.texi: Likewise.
87938         * doc/posix-functions/wcscpy.texi: Likewise.
87939         * doc/posix-functions/wcscspn.texi: Likewise.
87940         * doc/posix-functions/wcsftime.texi: Likewise.
87941         * doc/posix-functions/wcslen.texi: Likewise.
87942         * doc/posix-functions/wcsncat.texi: Likewise.
87943         * doc/posix-functions/wcsncmp.texi: Likewise.
87944         * doc/posix-functions/wcsncpy.texi: Likewise.
87945         * doc/posix-functions/wcspbrk.texi: Likewise.
87946         * doc/posix-functions/wcsrchr.texi: Likewise.
87947         * doc/posix-functions/wcsrtombs.texi: Likewise.
87948         * doc/posix-functions/wcsspn.texi: Likewise.
87949         * doc/posix-functions/wcsstr.texi: Likewise.
87950         * doc/posix-functions/wcstod.texi: Likewise.
87951         * doc/posix-functions/wcstof.texi: Likewise.
87952         * doc/posix-functions/wcstoimax.texi: Likewise.
87953         * doc/posix-functions/wcstok.texi: Likewise.
87954         * doc/posix-functions/wcstold.texi: Likewise.
87955         * doc/posix-functions/wcstoll.texi: Likewise.
87956         * doc/posix-functions/wcstol.texi: Likewise.
87957         * doc/posix-functions/wcstombs.texi: Likewise.
87958         * doc/posix-functions/wcstoull.texi: Likewise.
87959         * doc/posix-functions/wcstoul.texi: Likewise.
87960         * doc/posix-functions/wcstoumax.texi: Likewise.
87961         * doc/posix-functions/wcswidth.texi: Likewise.
87962         * doc/posix-functions/wcsxfrm.texi: Likewise.
87963         * doc/posix-functions/wctob.texi: Likewise.
87964         * doc/posix-functions/wctomb.texi: Likewise.
87965         * doc/posix-functions/wctrans.texi: Likewise.
87966         * doc/posix-functions/wctype.texi: Likewise.
87967         * doc/posix-functions/wcwidth.texi: Likewise.
87968         * doc/posix-functions/wmemchr.texi: Likewise.
87969         * doc/posix-functions/wmemcmp.texi: Likewise.
87970         * doc/posix-functions/wmemcpy.texi: Likewise.
87971         * doc/posix-functions/wmemmove.texi: Likewise.
87972         * doc/posix-functions/wmemset.texi: Likewise.
87973         * doc/posix-functions/wprintf.texi: Likewise.
87974         * doc/posix-functions/wscanf.texi: Likewise.
87976 2008-12-21  Bruno Haible  <bruno@clisp.org>
87978         Update doc for HP-UX 11.11.
87979         * doc/posix-functions/btowc.texi: Clarify that the function is missing
87980         in HP-UX version 11.00, not in all versions of HP-UX 11.
87981         * doc/posix-functions/fwide.texi: Likewise.
87982         * doc/posix-functions/fwprintf.texi: Likewise.
87983         * doc/posix-functions/fwscanf.texi: Likewise.
87984         * doc/posix-functions/inet_ntop.texi: Likewise.
87985         * doc/posix-functions/inet_pton.texi: Likewise.
87986         * doc/posix-functions/mbrlen.texi: Likewise.
87987         * doc/posix-functions/mbrtowc.texi: Likewise.
87988         * doc/posix-functions/mbsinit.texi: Likewise.
87989         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87990         * doc/posix-functions/swprintf.texi: Likewise.
87991         * doc/posix-functions/swscanf.texi: Likewise.
87992         * doc/posix-functions/towctrans.texi: Likewise.
87993         * doc/posix-functions/vfwprintf.texi: Likewise.
87994         * doc/posix-functions/vswprintf.texi: Likewise.
87995         * doc/posix-functions/vwprintf.texi: Likewise.
87996         * doc/posix-functions/wcrtomb.texi: Likewise.
87997         * doc/posix-functions/wcsrtombs.texi: Likewise.
87998         * doc/posix-functions/wcsstr.texi: Likewise.
87999         * doc/posix-functions/wctob.texi: Likewise.
88000         * doc/posix-functions/wctrans.texi: Likewise.
88001         * doc/posix-functions/wmemchr.texi: Likewise.
88002         * doc/posix-functions/wmemcmp.texi: Likewise.
88003         * doc/posix-functions/wmemcpy.texi: Likewise.
88004         * doc/posix-functions/wmemmove.texi: Likewise.
88005         * doc/posix-functions/wmemset.texi: Likewise.
88006         * doc/posix-functions/wprintf.texi: Likewise.
88007         * doc/posix-functions/wscanf.texi: Likewise.
88009 2008-12-21  Bruno Haible  <bruno@clisp.org>
88011         Work around a portability problem.
88012         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
88013         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
88015 2008-12-20  Bruno Haible  <bruno@clisp.org>
88017         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
88018         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
88019         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
88020         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
88021         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
88023         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
88024         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
88025         set.
88026         (GNULIB_defined_mbstate_t): New macro.
88027         (mbsinit): Redefine if REPLACE_MBSINIT is set.
88028         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
88029         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
88030         reuses the system's mbrtowc function but works around the bugs.
88031         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
88032         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
88033         macros.
88034         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
88035         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
88036         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
88037         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
88038         REPLACE_MBSINIT if mbsinit needs to be overridden.
88039         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
88040         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88041         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
88042         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88043         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88044         m4/locale-zh.m4.
88045         (Depends): Add mbsinit.
88046         * modules/mbsinit (Depends): Add mbrtowc.
88047         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
88049 2008-12-20  Bruno Haible  <bruno@clisp.org>
88051         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
88052         so that there are no conversion errors on AIX.
88053         * tests/test-mbsrtowcs.c (main): LIkewise.
88055 2008-12-20  Bruno Haible  <bruno@clisp.org>
88057         Work around wctob bug on Solaris <= 9.
88058         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
88059         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
88060         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
88061         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
88062         * modules/wctob (Files): Add m4/locale-fr.m4.
88063         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
88065 2008-12-20  Bruno Haible  <bruno@clisp.org>
88067         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
88068         /dev/null.
88069         * tests/test-select-in.sh: Likewise.
88070         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
88072 2008-12-20  Bruno Haible  <bruno@clisp.org>
88074         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
88075         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
88076         Cygwin 1.5.x.
88078 2008-12-20  Bruno Haible  <bruno@clisp.org>
88080         Ensure mbstate_t is defined on HP-UX 11.11.
88081         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
88082         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
88083         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
88084         AC_USE_SYSTEM_EXTENSIONS.
88085         * modules/fnmatch (Depends-on): Add extensions.
88086         * modules/mbrlen (Depends-on): Likewise.
88087         * modules/mbrtowc (Depends-on): Likewise.
88088         * modules/mbsinit (Depends-on): Likewise.
88089         * modules/mbsrtowcs (Depends-on): Likewise.
88090         * modules/mbswidth (Depends-on): Likewise.
88091         * modules/quotearg (Depends-on): Likewise.
88092         * modules/strftime (Depends-on): Likewise.
88094 2008-12-20  Bruno Haible  <bruno@clisp.org>
88096         Ensure wctob is declared on IRIX 6.5.
88097         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
88098         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
88099         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
88100         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
88101         of HAVE_WCTOB.
88102         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
88103         HAVE_WCTOB.
88104         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
88106 2008-12-19  Bruno Haible  <bruno@clisp.org>
88108         * modules/mbsrtowcs-tests: New file.
88109         * tests/test-mbsrtowcs1.sh: New file.
88110         * tests/test-mbsrtowcs2.sh: New file.
88111         * tests/test-mbsrtowcs3.sh: New file.
88112         * tests/test-mbsrtowcs4.sh: New file.
88113         * tests/test-mbsrtowcs.c: New file.
88115         New module 'mbsrtowcs'.
88116         * lib/wchar.in.h (mbsrtowcs): New declaration.
88117         * lib/mbsrtowcs.c: New file.
88118         * m4/mbsrtowcs.m4: New file.
88119         * modules/mbsrtowcs: New file.
88120         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
88121         HAVE_MBSRTOWCS.
88122         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
88123         HAVE_MBSRTOWCS.
88124         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
88126 2008-12-19  Bruno Haible  <bruno@clisp.org>
88128         New module 'mbrlen'.
88129         * lib/wchar.in.h (mbrlen): New declaration.
88130         * lib/mbrlen.c: New file.
88131         * m4/mbrlen.m4: New file.
88132         * modules/mbrlen: New file.
88133         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
88134         HAVE_MBRLEN.
88135         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
88136         HAVE_MBRLEN.
88137         * doc/posix-functions/mbrlen.texi: Document the new module.
88139 2008-12-19  Bruno Haible  <bruno@clisp.org>
88141         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
88142         * modules/mbrtowc (Depends-on): Add verify.
88143         Suggested by Paul Eggert.
88145 2008-12-18  Bruno Haible  <bruno@clisp.org>
88147         * modules/mbsinit-tests: New file.
88148         * tests/test-mbsinit.sh: New file.
88149         * tests/test-mbsinit.c: New file.
88151 2008-12-18  Bruno Haible  <bruno@clisp.org>
88153         * modules/mbrtowc-tests: New file.
88154         * tests/test-mbrtowc1.sh: New file.
88155         * tests/test-mbrtowc2.sh: New file.
88156         * tests/test-mbrtowc3.sh: New file.
88157         * tests/test-mbrtowc4.sh: New file.
88158         * tests/test-mbrtowc.c: New file.
88160         New module 'mbrtowc'.
88161         * lib/wchar.in.h (mbstate_t): Override when the system does not have
88162         mbsinit and mbrtowc.
88163         (mbrtowc): New declaration.
88164         * lib/mbrtowc.c: New file.
88165         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
88166         * modules/mbrtowc: New file.
88167         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
88168         HAVE_MBRTOWC.
88169         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
88170         HAVE_MBRTOWC.
88171         * doc/posix-functions/mbrtowc.texi: Document the new module.
88173 2008-12-18  Bruno Haible  <bruno@clisp.org>
88175         New module 'wctob'.
88176         * lib/wchar.in.h (wctob): New declaration.
88177         * lib/wctob.c: New file.
88178         * m4/wctob.m4: New file.
88179         * modules/wctob: New file.
88180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
88181         HAVE_WCTOB.
88182         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
88183         * doc/posix-functions/wctob.texi: Document the new module.
88185 2008-12-18  Bruno Haible  <bruno@clisp.org>
88187         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
88188         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
88190 2008-12-18  Simon Josefsson  <simon@josefsson.org>
88192         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
88193         G. Christensen" <tgc@jupiterrise.com>.
88195         * lib/flock.c: Need to include errno.h.  Reported by "Tom
88196         G. Christensen" <tgc@jupiterrise.com>.
88198         * lib/flock.c: Need to include string.h.  Reported by "Tom
88199         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
88200         <ebb9@byu.net>.
88202 2008-12-18  Bruno Haible  <bruno@clisp.org>
88204         * m4/locale-ja.m4: New file, from GNU gettext.
88206 2008-12-17  Bruno Haible  <bruno@clisp.org>
88208         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
88209         Suggested by Eric Blake.
88211 2008-12-17  Bruno Haible  <bruno@clisp.org>
88213         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
88215 2008-12-17  Bruno Haible  <bruno@clisp.org>
88217         * lib/mbsinit.c: Include verify.h. Verify an assumption.
88218         * modules/mbsinit (Depends-on): Add verify.
88219         Suggested by Paul Eggert.
88221 2008-12-17  Bruno Haible  <bruno@clisp.org>
88223         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
88224         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
88225         gl_FUNC_MBRTOWC.
88226         * m4/mbiter.m4 (gl_MBITER): LIkewise.
88227         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
88228         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
88229         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
88230         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
88231         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
88232         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
88233         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
88234         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
88235         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
88236         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
88237         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
88238         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
88239         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
88240         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
88241         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
88242         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
88243         * modules/trim (configure.ac): Likewise.
88245 2008-12-17  Bruno Haible  <bruno@clisp.org>
88247         * modules/btowc-tests: New file.
88248         * tests/test-btowc1.sh: New file.
88249         * tests/test-btowc2.sh: New file.
88250         * tests/test-btowc.c: New file.
88252         New module 'btowc'.
88253         * lib/wchar.in.h (btowc): New declaration.
88254         * lib/btowc.c: New file.
88255         * m4/btowc.m4: New file.
88256         * modules/btowc: New file.
88257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
88258         HAVE_BTOWC.
88259         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
88260         * doc/posix-functions/btowc.texi: Document the new module.
88262 2008-12-17  Bruno Haible  <bruno@clisp.org>
88264         New module 'mbsinit'.
88265         * lib/wchar.in.h (mbsinit): New declaration.
88266         * lib/mbsinit.c: New file.
88267         * m4/mbsinit.m4: New file.
88268         * modules/mbsinit: New file.
88269         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
88270         HAVE_MBSINIT.
88271         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
88272         HAVE_MBSINIT.
88273         * doc/posix-functions/mbsinit.texi: Document the new module.
88275 2008-12-16  Bruno Haible  <bruno@clisp.org>
88277         * lib/unistd.in.h: Add comment.
88278         * tests/test-environ.c: Don't include <stdlib.h>.
88280 2008-12-16  Bruno Haible  <bruno@clisp.org>
88282         * lib/parse-duration.h (parse_duration): Document return value
88283         convention.
88284         * lib/parse-duration.c: Include specification header first. Add
88285         comments.
88286         (_): Remove macro.
88287         (parse_year_month_day, parse_hour_minute_second): Move side effects
88288         outside of strchr call.
88289         (parse_non_iso8601): Move side effects outside of isspace call.
88290         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
88291         call.
88293 2008-12-16  Bruno Haible  <bruno@clisp.org>
88295         * tests/test-parse-duration.sh: Produce no output when the test
88296         succeeds.
88298 2008-12-16  Bruno Haible  <bruno@clisp.org>
88300         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
88301         expressions.
88303 2008-12-15  Bruno Haible  <bruno@clisp.org>
88305         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
88306         * doc/glibc-functions/flistxattr.texi: Likewise.
88307         * doc/glibc-functions/fopencookie.texi: Likewise.
88308         * doc/glibc-functions/fremovexattr.texi: Likewise.
88309         * doc/glibc-functions/fsetxattr.texi: Likewise.
88310         * doc/glibc-functions/getxattr.texi: Likewise.
88311         * doc/glibc-functions/lgetxattr.texi: Likewise.
88312         * doc/glibc-functions/listxattr.texi: Likewise.
88313         * doc/glibc-functions/llistxattr.texi: Likewise.
88314         * doc/glibc-functions/lremovexattr.texi: Likewise.
88315         * doc/glibc-functions/lsetxattr.texi: Likewise.
88316         * doc/glibc-functions/removexattr.texi: Likewise.
88317         * doc/glibc-functions/setxattr.texi: Likewise.
88318         * doc/posix-functions/open_memstream.texi: Likewise.
88320 2008-12-15  Eric Blake  <ebb9@byu.net>
88322         Update doc for cygwin 1.7.
88323         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
88324         functions.
88325         * doc/posix-functions/fchmodat.texi: Likewise.
88326         * doc/posix-functions/fchownat.texi: Likewise.
88327         * doc/posix-functions/fdopendir.texi: Likewise.
88328         * doc/posix-functions/fmemopen.texi: Likewise.
88329         * doc/posix-functions/freeaddrinfo.texi: Likewise.
88330         * doc/posix-functions/fstatat.texi: Likewise.
88331         * doc/posix-functions/futimens.texi: Likewise.
88332         * doc/posix-functions/gai_strerror.texi: Likewise.
88333         * doc/posix-functions/getaddrinfo.texi: Likewise.
88334         * doc/posix-functions/getnameinfo.texi: Likewise.
88335         * doc/posix-functions/if_freenameindex.texi: Likewise.
88336         * doc/posix-functions/if_indextoname.texi: Likewise.
88337         * doc/posix-functions/if_nameindex.texi: Likewise.
88338         * doc/posix-functions/if_nametoindex.texi: Likewise.
88339         * doc/posix-functions/insque.texi: Likewise.
88340         * doc/posix-functions/linkat.texi: Likewise.
88341         * doc/posix-functions/llrint.texi: Likewise.
88342         * doc/posix-functions/llrintf.texi: Likewise.
88343         * doc/posix-functions/llrintl.texi: Likewise.
88344         * doc/posix-functions/lockf.texi: Likewise.
88345         * doc/posix-functions/lrintl.texi: Likewise.
88346         * doc/posix-functions/mkdirat.texi: Likewise.
88347         * doc/posix-functions/mkfifoat.texi: Likewise.
88348         * doc/posix-functions/mknodat.texi: Likewise.
88349         * doc/posix-functions/mq_close.texi: Likewise.
88350         * doc/posix-functions/mq_getattr.texi: Likewise.
88351         * doc/posix-functions/mq_notify.texi: Likewise.
88352         * doc/posix-functions/mq_open.texi: Likewise.
88353         * doc/posix-functions/mq_receive.texi: Likewise.
88354         * doc/posix-functions/mq_send.texi: Likewise.
88355         * doc/posix-functions/mq_setattr.texi: Likewise.
88356         * doc/posix-functions/mq_timedreceive.texi: Likewise.
88357         * doc/posix-functions/mq_timedsend.texi: Likewise.
88358         * doc/posix-functions/mq_unlink.texi: Likewise.
88359         * doc/posix-functions/open_memstream.texi: Likewise.
88360         * doc/posix-functions/openat.texi: Likewise.
88361         * doc/posix-functions/posix_fadvise.texi: Likewise.
88362         * doc/posix-functions/posix_fallocate.texi: Likewise.
88363         * doc/posix-functions/posix_madvise.texi: Likewise.
88364         * doc/posix-functions/posix_memalign.texi: Likewise.
88365         * doc/posix-functions/posix_openpt.texi: Likewise.
88366         * doc/posix-functions/readlinkat.texi: Likewise.
88367         * doc/posix-functions/remque.texi: Likewise.
88368         * doc/posix-functions/renameat.texi: Likewise.
88369         * doc/posix-functions/rintl.texi: Likewise.
88370         * doc/posix-functions/sem_unlink.texi: Likewise.
88371         * doc/posix-functions/shm_open.texi: Likewise.
88372         * doc/posix-functions/shm_unlink.texi: Likewise.
88373         * doc/posix-functions/signgam.texi: Likewise.
88374         * doc/posix-functions/sigset.texi: Likewise.
88375         * doc/posix-functions/stpcpy.texi: Likewise.
88376         * doc/posix-functions/stpncpy.texi: Likewise.
88377         * doc/posix-functions/strerror.texi: Likewise.
88378         * doc/posix-functions/strtod.texi: Likewise.
88379         * doc/posix-functions/symlinkat.texi: Likewise.
88380         * doc/posix-functions/unlinkat.texi: Likewise.
88381         * doc/posix-functions/utimensat.texi: Likewise.
88382         * doc/glibc-functions/bindresvport.texi: Likewise.
88383         * doc/glibc-functions/dn_expand.texi: Likewise.
88384         * doc/glibc-functions/exp10.texi: Likewise.
88385         * doc/glibc-functions/exp10f.texi: Likewise.
88386         * doc/glibc-functions/fgetxattr.texi: Likewise.
88387         * doc/glibc-functions/flistxattr.texi: Likewise.
88388         * doc/glibc-functions/fopencookie.texi: Likewise.
88389         * doc/glibc-functions/freeifaddrs.texi: Likewise.
88390         * doc/glibc-functions/fremovexattr.texi: Likewise.
88391         * doc/glibc-functions/fsetxattr.texi: Likewise.
88392         * doc/glibc-functions/getifaddrs.texi: Likewise.
88393         * doc/glibc-functions/getxattr.texi: Likewise.
88394         * doc/glibc-functions/lgetxattr.texi: Likewise.
88395         * doc/glibc-functions/listxattr.texi: Likewise.
88396         * doc/glibc-functions/llistxattr.texi: Likewise.
88397         * doc/glibc-functions/lremovexattr.texi: Likewise.
88398         * doc/glibc-functions/lsetxattr.texi: Likewise.
88399         * doc/glibc-functions/pow10.texi: Likewise.
88400         * doc/glibc-functions/pow10f.texi: Likewise.
88401         * doc/glibc-functions/rcmd_af.texi: Likewise.
88402         * doc/glibc-functions/removexattr.texi: Likewise.
88403         * doc/glibc-functions/res_init.texi: Likewise.
88404         * doc/glibc-functions/res_mkquery.texi: Likewise.
88405         * doc/glibc-functions/res_query.texi: Likewise.
88406         * doc/glibc-functions/res_querydomain.texi: Likewise.
88407         * doc/glibc-functions/res_send.texi: Likewise.
88408         * doc/glibc-functions/rresvport_af.texi: Likewise.
88409         * doc/glibc-functions/setxattr.texi: Likewise.
88410         * doc/glibc-functions/strcasestr.texi: Likewise.
88412 2008-12-15  Bruno Haible  <bruno@clisp.org>
88414         Fix compilation error on OSF/1 4.0.
88415         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
88416         <sys/time.h>, simply delegate to the system header.
88417         Reported by Daniel Richard G. <oss@teragram.com>.
88419 2008-12-15  Bruno Haible  <bruno@clisp.org>
88421         * doc/posix-functions/openat.texi: Mention the 'openat' module.
88422         * doc/posix-functions/fchmodat.texi: Likewise.
88423         * doc/posix-functions/fchownat.texi: Likewise.
88424         * doc/posix-functions/fdopendir.texi: Likewise.
88425         * doc/posix-functions/fstatat.texi: Likewise.
88426         * doc/posix-functions/mkdirat.texi: Likewise.
88427         * doc/posix-functions/unlinkat.texi: Likewise.
88429 2008-12-14  Bruno Haible  <bruno@clisp.org>
88431         Update doc for POSIX:2008.
88432         * doc/posix-functions/faccessat.texi: New file.
88433         * doc/posix-functions/fchmodat.texi: New file.
88434         * doc/posix-functions/fchownat.texi: New file.
88435         * doc/posix-functions/fdopendir.texi: New file.
88436         * doc/posix-functions/fstatat.texi: New file.
88437         * doc/posix-functions/futimens.texi: New file.
88438         * doc/posix-functions/linkat.texi: New file.
88439         * doc/posix-functions/mkdirat.texi: New file.
88440         * doc/posix-functions/mkfifoat.texi: New file.
88441         * doc/posix-functions/mknodat.texi: New file.
88442         * doc/posix-functions/open_wmemstream.texi: New file.
88443         * doc/posix-functions/openat.texi: New file.
88444         * doc/posix-functions/psiginfo.texi: New file.
88445         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
88446         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
88447         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
88448         * doc/posix-functions/readlinkat.texi: New file.
88449         * doc/posix-functions/renameat.texi: New file.
88450         * doc/posix-functions/strerror_l.texi: New file.
88451         * doc/posix-functions/symlinkat.texi: New file.
88452         * doc/posix-functions/unlinkat.texi: New file.
88453         * doc/posix-functions/utimensat.texi: New file.
88454         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88456 2008-12-14  Bruno Haible  <bruno@clisp.org>
88458         Update doc for POSIX:2008.
88459         * doc/posix-functions/alphasort.texi: Renamed from
88460         doc/glibc-functions/alphasort.texi.
88461         * doc/posix-functions/dirfd.texi: Renamed from
88462         doc/glibc-functions/dirfd.texi.
88463         * doc/posix-functions/dprintf.texi: Renamed from
88464         doc/glibc-functions/dprintf.texi.
88465         * doc/posix-functions/duplocale.texi: Renamed from
88466         doc/glibc-functions/duplocale.texi.
88467         * doc/posix-functions/fexecve.texi: Renamed from
88468         doc/glibc-functions/fexecve.texi.
88469         * doc/posix-functions/fmemopen.texi: Renamed from
88470         doc/glibc-functions/fmemopen.texi.
88471         * doc/posix-functions/freelocale.texi: Renamed from
88472         doc/glibc-functions/freelocale.texi.
88473         * doc/posix-functions/getdate_err.texi: Renamed from
88474         doc/glibc-functions/getdate_err.texi.
88475         * doc/posix-functions/isalnum_l.texi: Renamed from
88476         doc/glibc-functions/isalnum_l.texi.
88477         * doc/posix-functions/isalpha_l.texi: Renamed from
88478         doc/glibc-functions/isalpha_l.texi.
88479         * doc/posix-functions/isblank_l.texi: Renamed from
88480         doc/glibc-functions/isblank_l.texi.
88481         * doc/posix-functions/iscntrl_l.texi: Renamed from
88482         doc/glibc-functions/iscntrl_l.texi.
88483         * doc/posix-functions/isdigit_l.texi: Renamed from
88484         doc/glibc-functions/isdigit_l.texi.
88485         * doc/posix-functions/isgraph_l.texi: Renamed from
88486         doc/glibc-functions/isgraph_l.texi.
88487         * doc/posix-functions/islower_l.texi: Renamed from
88488         doc/glibc-functions/islower_l.texi.
88489         * doc/posix-functions/isprint_l.texi: Renamed from
88490         doc/glibc-functions/isprint_l.texi.
88491         * doc/posix-functions/ispunct_l.texi: Renamed from
88492         doc/glibc-functions/ispunct_l.texi.
88493         * doc/posix-functions/isspace_l.texi: Renamed from
88494         doc/glibc-functions/isspace_l.texi.
88495         * doc/posix-functions/isupper_l.texi: Renamed from
88496         doc/glibc-functions/isupper_l.texi.
88497         * doc/posix-functions/iswalnum_l.texi: Renamed from
88498         doc/glibc-functions/iswalnum_l.texi.
88499         * doc/posix-functions/iswalpha_l.texi: Renamed from
88500         doc/glibc-functions/iswalpha_l.texi.
88501         * doc/posix-functions/iswblank_l.texi: Renamed from
88502         doc/glibc-functions/iswblank_l.texi.
88503         * doc/posix-functions/iswcntrl_l.texi: Renamed from
88504         doc/glibc-functions/iswcntrl_l.texi.
88505         * doc/posix-functions/iswctype_l.texi: Renamed from
88506         doc/glibc-functions/iswctype_l.texi.
88507         * doc/posix-functions/iswdigit_l.texi: Renamed from
88508         doc/glibc-functions/iswdigit_l.texi.
88509         * doc/posix-functions/iswgraph_l.texi: Renamed from
88510         doc/glibc-functions/iswgraph_l.texi.
88511         * doc/posix-functions/iswlower_l.texi: Renamed from
88512         doc/glibc-functions/iswlower_l.texi.
88513         * doc/posix-functions/iswprint_l.texi: Renamed from
88514         doc/glibc-functions/iswprint_l.texi.
88515         * doc/posix-functions/iswpunct_l.texi: Renamed from
88516         doc/glibc-functions/iswpunct_l.texi.
88517         * doc/posix-functions/iswspace_l.texi: Renamed from
88518         doc/glibc-functions/iswspace_l.texi.
88519         * doc/posix-functions/iswupper_l.texi: Renamed from
88520         doc/glibc-functions/iswupper_l.texi.
88521         * doc/posix-functions/iswxdigit_l.texi: Renamed from
88522         doc/glibc-functions/iswxdigit_l.texi.
88523         * doc/posix-functions/isxdigit_l.texi: Renamed from
88524         doc/glibc-functions/isxdigit_l.texi.
88525         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
88526         doc/glibc-functions/mbsnrtowcs.texi.
88527         * doc/posix-functions/mkdtemp.texi: Renamed from
88528         doc/glibc-functions/mkdtemp.texi.
88529         * doc/posix-functions/newlocale.texi: Renamed from
88530         doc/glibc-functions/newlocale.texi.
88531         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
88532         doc/glibc-functions/nl_langinfo_l.texi.
88533         * doc/posix-functions/open_memstream.texi: Renamed from
88534         doc/glibc-functions/open_memstream.texi.
88535         * doc/posix-functions/opterr.texi: Renamed from
88536         doc/glibc-functions/opterr.texi.
88537         * doc/posix-functions/optind.texi: Renamed from
88538         doc/glibc-functions/optind.texi.
88539         * doc/posix-functions/optopt.texi: Renamed from
88540         doc/glibc-functions/optopt.texi.
88541         * doc/posix-functions/psignal.texi: Renamed from
88542         doc/glibc-functions/psignal.texi.
88543         * doc/posix-functions/scandir.texi: Renamed from
88544         doc/glibc-functions/scandir.texi.
88545         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
88546         doc/glibc-functions/sched_get_priority_min.texi.
88547         * doc/posix-functions/signgam.texi: Renamed from
88548         doc/glibc-functions/signgam.texi.
88549         * doc/posix-functions/stpcpy.texi: Renamed from
88550         doc/glibc-functions/stpcpy.texi.
88551         * doc/posix-functions/stpncpy.texi: Renamed from
88552         doc/glibc-functions/stpncpy.texi.
88553         * doc/posix-functions/strcasecmp_l.texi: Renamed from
88554         doc/glibc-functions/strcasecmp_l.texi.
88555         * doc/posix-functions/strcoll_l.texi: Renamed from
88556         doc/glibc-functions/strcoll_l.texi.
88557         * doc/posix-functions/strfmon_l.texi: Renamed from
88558         doc/glibc-functions/strfmon_l.texi.
88559         * doc/posix-functions/strftime_l.texi: Renamed from
88560         doc/glibc-functions/strftime_l.texi.
88561         * doc/posix-functions/strncasecmp_l.texi: Renamed from
88562         doc/glibc-functions/strncasecmp_l.texi.
88563         * doc/posix-functions/strndup.texi: Renamed from
88564         doc/glibc-functions/strndup.texi.
88565         * doc/posix-functions/strnlen.texi: Renamed from
88566         doc/glibc-functions/strnlen.texi.
88567         * doc/posix-functions/strsignal.texi: Renamed from
88568         doc/glibc-functions/strsignal.texi.
88569         * doc/posix-functions/strxfrm_l.texi: Renamed from
88570         doc/glibc-functions/strxfrm_l.texi.
88571         * doc/posix-functions/timer_gettime.texi: Renamed from
88572         doc/glibc-functions/timer_gettime.texi.
88573         * doc/posix-functions/tolower_l.texi: Renamed from
88574         doc/glibc-functions/tolower_l.texi.
88575         * doc/posix-functions/toupper_l.texi: Renamed from
88576         doc/glibc-functions/toupper_l.texi.
88577         * doc/posix-functions/towctrans_l.texi: Renamed from
88578         doc/glibc-functions/towctrans_l.texi.
88579         * doc/posix-functions/towlower_l.texi: Renamed from
88580         doc/glibc-functions/towlower_l.texi.
88581         * doc/posix-functions/towupper_l.texi: Renamed from
88582         doc/glibc-functions/towupper_l.texi.
88583         * doc/posix-functions/uselocale.texi: Renamed from
88584         doc/glibc-functions/uselocale.texi.
88585         * doc/posix-functions/vdprintf.texi: Renamed from
88586         doc/glibc-functions/vdprintf.texi.
88587         * doc/posix-functions/wcpcpy.texi:
88588         Renamed from doc/glibc-functions/wcpcpy.texi.
88589         * doc/posix-functions/wcpncpy.texi: Renamed from
88590         doc/glibc-functions/wcpncpy.texi.
88591         * doc/posix-functions/wcscasecmp.texi: Renamed from
88592         doc/glibc-functions/wcscasecmp.texi.
88593         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
88594         doc/glibc-functions/wcscasecmp_l.texi.
88595         * doc/posix-functions/wcscoll_l.texi: Renamed from
88596         doc/glibc-functions/wcscoll_l.texi.
88597         * doc/posix-functions/wcsdup.texi: Renamed from
88598         doc/glibc-functions/wcsdup.texi.
88599         * doc/posix-functions/wcsncasecmp.texi: Renamed from
88600         doc/glibc-functions/wcsncasecmp.texi.
88601         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
88602         doc/glibc-functions/wcsncasecmp_l.texi.
88603         * doc/posix-functions/wcsnlen.texi: Renamed from
88604         doc/glibc-functions/wcsnlen.texi.
88605         * doc/posix-functions/wcsnrtombs.texi: Renamed from
88606         doc/glibc-functions/wcsnrtombs.texi.
88607         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
88608         doc/glibc-functions/wcsxfrm_l.texi.
88609         * doc/posix-functions/wctrans_l.texi: Renamed from
88610         doc/glibc-functions/wctrans_l.texi.
88611         * doc/posix-functions/wctype_l.texi: Renamed from
88612         doc/glibc-functions/wctype_l.texi.
88613         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88614         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
88615         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
88616         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
88617         these subsections.
88618         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
88619         Remove sections.
88621 2008-12-14  Bruno Haible  <bruno@clisp.org>
88623         Update doc for POSIX:2008.
88624         * doc/posix-functions/*.texi: Update URL of POSIX specification.
88626 2008-12-14  Bruno Haible  <bruno@clisp.org>
88628         Update doc for POSIX:2008.
88629         * doc/pastposix-functions/bcmp.texi: Renamed from
88630         doc/posix-functions/bcmp.texi.
88631         * doc/pastposix-functions/bcopy.texi: Renamed from
88632         doc/posix-functions/bcopy.texi.
88633         * doc/pastposix-functions/bsd_signal.texi: Renamed from
88634         doc/posix-functions/bsd_signal.texi.
88635         * doc/pastposix-functions/bzero.texi: Renamed from
88636         doc/posix-functions/bzero.texi.
88637         * doc/pastposix-functions/ecvt.texi: Renamed from
88638         doc/posix-functions/ecvt.texi.
88639         * doc/pastposix-functions/fcvt.texi: Renamed from
88640         doc/posix-functions/fcvt.texi.
88641         * doc/pastposix-functions/ftime.texi: Renamed from
88642         doc/posix-functions/ftime.texi.
88643         * doc/pastposix-functions/gcvt.texi: Renamed from
88644         doc/posix-functions/gcvt.texi.
88645         * doc/pastposix-functions/getcontext.texi: Renamed from
88646         doc/posix-functions/getcontext.texi.
88647         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
88648         doc/posix-functions/gethostbyaddr.texi.
88649         * doc/pastposix-functions/gethostbyname.texi: Renamed from
88650         doc/posix-functions/gethostbyname.texi.
88651         * doc/pastposix-functions/getwd.texi: Renamed from
88652         doc/posix-functions/getwd.texi.
88653         * doc/pastposix-functions/h_errno.texi: Renamed from
88654         doc/posix-functions/h_errno.texi.
88655         * doc/pastposix-functions/index.texi: Renamed from
88656         doc/posix-functions/index.texi.
88657         * doc/pastposix-functions/makecontext.texi: Renamed from
88658         doc/posix-functions/makecontext.texi.
88659         * doc/pastposix-functions/mktemp.texi: Renamed from
88660         doc/posix-functions/mktemp.texi.
88661         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
88662         doc/posix-functions/pthread_attr_getstackaddr.texi.
88663         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
88664         doc/posix-functions/pthread_attr_setstackaddr.texi.
88665         * doc/pastposix-functions/rindex.texi: Renamed from
88666         doc/posix-functions/rindex.texi.
88667         * doc/pastposix-functions/scalb.texi: Renamed from
88668         doc/posix-functions/scalb.texi.
88669         * doc/pastposix-functions/setcontext.texi: Renamed from
88670         doc/posix-functions/setcontext.texi.
88671         * doc/pastposix-functions/swapcontext.texi: Renamed from
88672         doc/posix-functions/swapcontext.texi.
88673         * doc/pastposix-functions/ualarm.texi: Renamed from
88674         doc/posix-functions/ualarm.texi.
88675         * doc/pastposix-functions/usleep.texi: Renamed from
88676         doc/posix-functions/usleep.texi.
88677         * doc/pastposix-functions/vfork.texi: Renamed from
88678         doc/posix-functions/vfork.texi.
88679         * doc/pastposix-functions/wcswcs.texi: Renamed from
88680         doc/posix-functions/wcswcs.texi.
88681         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
88682         (Function Substitutes): Update.
88684 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88686         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
88687         m4/strerror.m4.
88689 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88690             Bruno Haible  <bruno@clisp.org>
88692         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
88694 2008-12-13  Bruno Haible  <bruno@clisp.org>
88696         * modules/strtoull (Depends-on): Remove unistd.
88698 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88700         * modules/strtoull (Depends-on): Add stdlib.
88702 2008-12-11  Simon Josefsson  <simon@josefsson.org>
88704         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
88706 2008-12-10  Jim Meyering  <meyering@redhat.com>
88708         gl_ASSERT: don't say assertions are disabled when they're not
88709         * m4/assert.m4 (gl_ASSERT): Do not make configure report
88710         "checking whether to enable assertions... no", when they are in
88711         fact enabled.  This is solely a bug in the output of configure.
88712         In spite of saying "no", NDEBUG was not defined in that case.
88713         Also, as noted by Eric Blake, leave assertions enabled upon
88714         --enable-assert=INVALID.
88716 2008-12-10  Bruno Haible  <bruno@clisp.org>
88718         Change MODULES.html to refer to POSIX:2008 where possible.
88719         * MODULES.html.sh (POSIX2008_URL): New variable.
88720         (posix_headers): Remove sys/timeb, ucontext.
88721         (posix2001_headers): New variable.
88722         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
88723         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
88724         index, makecontext, mktemp, pthread_attr_getstackaddr,
88725         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
88726         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
88727         (posix2001_functions): New variable.
88728         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
88729         otherwise.
88731 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88733         add missing include to parse-duration.c
88734         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
88735         * modules/parse-duration (Depends-on): Add xalloc.
88737         fix sed script reading maint.mk
88738         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
88739         (syntax-check-rules): Use it.
88741 2008-12-09  Bruno Haible  <bruno@clisp.org>
88743         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
88744         MacOS X 10.4/PowerPC.
88745         Reported by Simon Josefsson.
88747 2008-12-08  Jim Meyering  <meyering@redhat.com>
88749         work around mingw's lack of some S_IF definitions
88750         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
88751         Reported by Simon Josefsson.
88753 2008-12-08  Bruno Haible  <bruno@clisp.org>
88755         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
88756         applied to variables. Needed on MacOS X 10.4/PowerPC.
88757         Reported by Simon Josefsson.
88759 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
88760         and Eric Blake  <ebb9@byu.net>
88762         assert: honor --enable-assert
88763         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
88764         order to honor --enable-assert, rather than treating it as a
88765         synonym for --disable-assert.
88767 2008-12-08  Jim Meyering  <meyering@redhat.com>
88769         * lib/posixtm.c: Remove now-useless declaration of mktime.
88771         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
88773 2008-12-07  Bruno Haible  <bruno@clisp.org>
88775         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
88776         test_once): Mark functions as static.
88777         * tests/test-tls.c (test_tls): Likewise.
88779 2008-12-07  Bruno Haible  <bruno@clisp.org>
88781         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
88782         iconv_register_autodetect.
88784 2008-12-07  Jim Meyering  <meyering@redhat.com>
88786         posixtm.c: avoid a warning
88787         * lib/posixtm.c (posixtime): Don't initialize tm0.
88788         It's no longer needed to placate gcc4's -Wuninitialized,
88789         and the attempt to placate would elicit a new warning.
88791         unicodeio.c: mark unused parameters
88792         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88793         (fallback_failure_callback): Likewise.
88795 2008-12-07  Bruno Haible  <bruno@clisp.org>
88797         * gnulib-tool (func_create_testdir): When building the tests
88798         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
88799         Reported by Simon Josefsson.
88801 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88803         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
88805 2008-12-06  Bruno Haible  <bruno@clisp.org>
88807         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
88808         Suggested by Eric Blake.
88810 2008-12-06  Bruno Haible  <bruno@clisp.org>
88812         Fix a c-stack test failure on MacOS X.
88813         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
88814         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
88815         handler for SIGBUS as well.
88816         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
88817         install a signal handler for SIGBUS as well.
88818         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
88820 2008-12-06  Bruno Haible  <bruno@clisp.org>
88822         Advocacy documentation.
88823         * doc/gnulib-intro.texi (Benefits): New section.
88824         * doc/gnulib.texi: Update.
88826 2008-12-06  Bruno Haible  <bruno@clisp.org>
88828         Document the 'manywarnings' module.
88829         * doc/manywarnings.texi: New file.
88830         * doc/gnulib.texi: Include it.
88832 2008-12-05  Eric Blake  <ebb9@byu.net>
88834         tests: silence some gcc warnings
88835         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
88836         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
88837         type mismatches.
88839 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88840             Bruno Haible  <bruno@clisp.org>
88842         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
88844 2008-11-29  Jim Meyering  <meyering@redhat.com>
88846         unicodeio.c: mark unused parameters
88847         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88848         (fallback_failure_callback): Likewise.
88850         fts: fix a thinko
88851         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
88852         (set_stat_type): Return S_IF*-valued "type" directly.
88853         Prompted by James Youngman's spotting a related bug.
88854         Confirmed by further testing through find.
88856         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
88857         * lib/fts.c (D_TYPE): Define.
88858         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
88859         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
88860         (s_ifmt_shift_bits): New function.
88861         (set_stat_type): New function.
88862         (fts_build): When not calling fts_stat, call set_stat_type
88863         to propagate dirent.d_type info to fts_read caller.
88864         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
88865         fts_statp->st_mode type information may be valid.
88867 2008-11-28  Simon Josefsson  <simon@josefsson.org>
88869         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
88870         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
88871         <sds@gnu.org>.
88873 2008-11-20  Bruno Haible  <bruno@clisp.org>
88875         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
88876         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
88877         INCLUDE_NEXT.
88878         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
88879         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
88880         * modules/math (Makefile.am): Substitute
88881         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
88882         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88884 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
88885             Bruno Haible  <bruno@clisp.org>
88887         * lib/stdint.in.h: Define all type macros so that their expansion is
88888         a single typedef'ed token. Fixes a compilation failure in Boost which
88889         does "using ::int8_t;".
88891 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88893         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
88894         gl_MANYWARN_ALL_GCC.
88895         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
88896         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
88897         * modules/manywarnings: New file.
88898         * MODULES.html.sh: Mention manywarnings module.
88900 2008-11-18  Bruno Haible  <bruno@clisp.org>
88902         * doc/gnulib-tool.texi (Unit tests): New section.
88904 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88906         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
88907         paths like 'lib/po/foo.po'.
88909 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88911         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
88912         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
88914 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88916         * m4/warnings.m4: Use CPPFLAGS to really check whether the
88917         parameter works.
88919 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88921         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
88923 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88925         * modules/parse-duration-tests: New file.
88926         * tests/test-parse-duration.sh: New file.
88927         * tests/test-parse-duration.c: New file.
88929         New module 'parse-duration'.
88930         * lib/parse-duration.h: New file.
88931         * lib/parse-duration.c: New file.
88932         * modules/parse-duration: New file.
88934 2008-11-17  Bruno Haible  <bruno@clisp.org>
88936         * tests/test-select-out.sh: Comment out the first pipe test.
88937         Reported by Simon Josefsson.
88939 2008-11-17  Bruno Haible  <bruno@clisp.org>
88941         * modules/getaddrinfo (Depends-on): Add servent, hostent.
88942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
88943         gl_HOSTENT.
88945 2008-11-17  Bruno Haible  <bruno@clisp.org>
88947         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
88948         -lnetwork and -lnet. Needed for Haiku and BeOS.
88950 2008-11-16  Bruno Haible  <bruno@clisp.org>
88952         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
88954 2008-11-16  Bruno Haible  <bruno@clisp.org>
88956         Avoid test failure on Haiku.
88957         * tests/test-fsync.c: Include <errno.h>.
88958         (main): Don't require that fsync (0) fails.
88960 2008-11-15  Bruno Haible  <bruno@clisp.org>
88962         New module 'hostent'.
88963         * modules/hostent: New file.
88964         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
88966 2008-11-15  Bruno Haible  <bruno@clisp.org>
88968         New module 'servent'.
88969         * modules/servent: New file.
88970         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
88972 2008-11-15  Bruno Haible  <bruno@clisp.org>
88974         Avoid generating same test program with two different rules.
88975         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
88976         test-frexp to test-frexp-nolibm.
88977         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
88978         test-frexpl to test-frexpl-nolibm.
88980 2008-11-15  Bruno Haible  <bruno@clisp.org>
88982         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
88983         $(FREXPL_LIBM).
88985 2008-11-15  Bruno Haible  <bruno@clisp.org>
88987         * lib/netdb.in.h: Activate the definitions also when the system's
88988         <netdb.h> has 'struct addrinfo'.
88989         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
88990         EAI_OVERFLOW or AI_NUMERICSERV.
88991         * doc/posix-headers/netdb.texi: Document the problem.
88993 2008-11-15  Bruno Haible  <bruno@clisp.org>
88995         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
88997         Make the 'sched' module work on platforms where <sched.h> exists but
88998         is incomplete (such as Haiku).
88999         * lib/sched.in.h; Include the system's <sched.h> if it exists.
89000         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
89001         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
89002         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
89003         HAVE_STRUCT_SCHED_PARAM.
89004         * modules/sched (Depends-on): Add include_next.
89005         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
89006         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
89007         * doc/posix-headers/sched.texi: Document the issue.
89009 2008-11-13  Jim Meyering  <meyering@redhat.com>
89011         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
89012         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
89013         test would fail due to the difference in the Report bugs to ...
89014         line.  The expected address is empty, "<>", while the actual
89015         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
89017 2008-11-12  Bruno Haible  <bruno@clisp.org>
89019         lstat: don't compile lstat.c on systems lacking lstat
89020         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
89021         which don't have lstat; this is handled by lib/sys_stat.in.h already.
89022         Reported by Daniel P. Berrange via Jim Meyering.
89024 2008-11-12  Jim Meyering  <meyering@redhat.com>
89026         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
89028 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89030         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
89031         instead.
89033 2008-11-12  Bruno Haible  <bruno@clisp.org>
89035         * lib/unicodeio.c: Include unistr.h.
89036         (utf8_wctomb): Remove function.
89037         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
89039 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89041         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
89042         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
89043         <bruno@clisp.org>.
89044         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
89046 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89048         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
89049         * doc/gnulib.texi: Add section for warnings.
89051 2008-11-11  Bruno Haible  <bruno@clisp.org>
89053         * lib/sockets.h: Add a comment.
89055 2008-11-11  Karl Berry  <karl@gnu.org>
89057         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
89059 2008-11-11  Eric Blake  <ebb9@byu.net>
89061         fdl.texi: avoid git symlinks
89062         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
89064 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89066         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
89068 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89070         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
89071         (gl_WARN_ADD): Substitute $2 if literal.
89073 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89075         * m4/warning.m4: Remove.
89077 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89079         * m4/warnings.m4: Almost complete rewrite. :-)
89081 2008-11-10  Simon Josefsson  <simon@josefsson.org>
89083         * modules/warnings: New module.
89084         * m4/warnings.m4: New file.
89085         * MODULES.html.sh: Mention warnings module.
89086         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
89087         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89089 2008-11-10  Eric Blake  <ebb9@byu.net>
89091         fdl.texi: make a symlink to the latest version
89092         * doc/standards.texi: Revert today's earlier change.
89093         * doc/fdl-1.2.texi: Rename from old fdl.texi...
89094         * doc/fdl.texi: ...and replace this with a symlink to the newer
89095         fdl-1.3.texi.
89097 2008-11-10  Bruno Haible  <bruno@clisp.org>
89099         * tests/test-select-fd.c (main): Accept the result file name as fourth
89100         argument.
89101         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
89102         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
89104 2008-11-10  Bruno Haible  <bruno@clisp.org>
89106         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
89107         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
89108         as autoconf-substituted macros.
89109         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
89110         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
89111         gl_NETDB_H_DEFAULTS. Set these variables.
89112         * modules/netdb (Makefile.am): Substitute these variables.
89114 2008-11-10  Eric Blake  <ebb9@byu.net>
89116         standards.texi: include correct file for FDL 1.3
89117         * doc/standards.texi (GNU Free Documentation License): Change
89118         include file to pull in FDL 1.3, not 1.2.
89120         fdl.texi: revert accidental change to license
89121         * doc/fdl.texi: This is FDL 1.2, not 1.3.
89123 2008-11-10  Bruno Haible  <bruno@clisp.org>
89125         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
89126         cross-compiling guesses also when the native compile gives no result.
89128 2008-11-10  Bruno Haible  <bruno@clisp.org>
89130         * lib/spawni.c (__spawni): Force variable into the stack.
89132 2008-11-10  Bruno Haible  <bruno@clisp.org>
89134         Add support for Haiku.
89135         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
89136         glibc and BeOS, but also on Haiku.
89137         * lib/fpurge.c (fpurge): Likewise.
89138         * lib/freadable.c (freadable): Likewise.
89139         * lib/freadahead.c (freadahead): Likewise.
89140         * lib/freading.c (freading): Likewise.
89141         * lib/freadptr.c (freadptr): Likewise.
89142         * lib/freadseek.c (freadptrinc): Likewise.
89143         * lib/fseeko.c (rpl_fseeko): Likewise.
89144         * lib/fseterr.c (fseterr): Likewise.
89145         * lib/fwritable.c (fwritable): Likewise.
89146         * lib/fwriting.c (fwriting): Likewise.
89147         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
89149 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89151         * lib/config.charset: Treat Haiku like BeOS.
89153 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89155         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
89156         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
89158 2008-11-08  Bruno Haible  <bruno@clisp.org>
89160         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
89161         AC_CACHE_CHECK.
89163 2008-11-08  Bruno Haible  <bruno@clisp.org>
89165         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
89167 2008-11-08  Bruno Haible  <bruno@clisp.org>
89169         * tests/test-select-fd.c: New file.
89170         * tests/test-select-in.sh: New file.
89171         * tests/test-select-out.sh: New file.
89172         * tests/test-select-stdin.c: New file.
89173         * modules/select-tests (Files): Add the new files.
89174         (Depends-on): Add gettimeofday.
89175         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
89176         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
89177         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
89179 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
89180             Bruno Haible  <bruno@clisp.org>
89182         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
89184 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
89186         * build-aux/pmccabe2html: Added support for C++ source files.
89188 2008-11-05  Ben Pfaff  <blp@gnu.org>
89190         Fix lib/close.c build on Windows.
89191         * modules/close (Files): Add lib/w32sock.h.
89193 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
89195         Accept Bison's NEWS format.
89196         * build-aux/announce-gen (print_news_deltas): Tweak
89197         $re_prefix.
89199 2008-11-04  Bruno Haible  <bruno@clisp.org>
89201         * modules/random_r (Maintainer): Add glibc.
89203 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89205         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
89206         by karl@freefriends.org (Karl Berry).
89207         * doc/alloca.texi: Likewise.
89208         * doc/c-ctype.texi: Likewise.
89209         * doc/c-strcase.texi: Likewise.
89210         * doc/c-strcaseeq.texi: Likewise.
89211         * doc/c-strcasestr.texi: Likewise.
89212         * doc/c-strstr.texi: Likewise.
89213         * doc/c-strtod.texi: Likewise.
89214         * doc/c-strtold.texi: Likewise.
89215         * doc/ctime.texi: Likewise.
89216         * doc/error.texi: Likewise.
89217         * doc/fdl.texi: Likewise.
89218         * doc/gcd.texi: Likewise.
89219         * doc/getdate.texi: Likewise.
89220         * doc/gnulib-intro.texi: Likewise.
89221         * doc/gnulib-tool.texi: Likewise.
89222         * doc/gnulib.texi: Likewise.
89223         * doc/inet_ntoa.texi: Likewise.
89224         * doc/maintain.texi: Likewise.
89225         * doc/make-stds.texi: Likewise.
89226         * doc/quote.texi: Likewise.
89227         * doc/regexprops-generic.texi: Likewise.
89228         * doc/standards.texi: Likewise.
89229         * doc/verify.texi: Likewise.
89230         * doc/visibility.texi: Likewise.
89231         * doc/gnulib.texi (GNU Free Documentation License): Include
89232         fdl-1.3.texi instead of fdl.texi.
89234 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89236         * doc/fdl-1.3.texi: New file, from
89237         <http://www.gnu.org/licenses/fdl-1.3.texi>.
89238         * modules/fdl-1.3: Add.
89239         * MODULES.html.sh: Add fdl-1.3.
89241 2008-11-03  Bruno Haible  <bruno@clisp.org>
89243         Make determination of absolute name of header file work with AIX xlc.
89244         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
89245         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
89246         preprocessing.
89247         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
89248         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
89250 2008-11-03  Simon Josefsson  <simon@josefsson.org>
89252         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
89253         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
89254         <ludo@gnu.org>.
89256 2008-11-02  Bruno Haible  <bruno@clisp.org>
89258         Mark 'strpbrk' obsolete.
89259         * modules/strpbrk (Status, Notice): New sections.
89260         * modules/strtok_r (Depends-on): Add strpbrk.
89262 2008-11-02  Bruno Haible  <bruno@clisp.org>
89264         Mark 'strdup' obsolete.
89265         * modules/strdup (Status, Notice): New sections.
89266         * modules/findprog (Depends-on): Add strdup.
89267         * modules/getaddrinfo (Depends-on): Likewise.
89268         * modules/localename (Depends-on): Likewise.
89269         * modules/relocatable-lib (Depends-on): Likewise.
89270         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
89271         * modules/relocatable-prog (Depends-on): Likewise.
89272         * modules/trim (Depends-on): Likewise.
89273         * modules/unictype/gen-ctype (Depends-on): Likewise.
89274         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89276 2008-11-02  Bruno Haible  <bruno@clisp.org>
89278         Mark 'strcspn' obsolete.
89279         * modules/strcspn (Status, Notice): New sections.
89281 2008-11-02  Bruno Haible  <bruno@clisp.org>
89283         Mark 'rmdir' obsolete.
89284         * modules/rmdir (Status, Notice): New sections.
89285         * modules/clean-temp (Depends-on): Add rmdir.
89286         * modules/openat (Depends-on): Likewise.
89288 2008-11-02  Bruno Haible  <bruno@clisp.org>
89290         Mark 'raise' obsolete.
89291         * modules/raise (Status, Notice): New sections.
89292         (Include): Specify <signal.h>.
89293         * modules/stdio (Depends-on): Add raise.
89294         * modules/write (Depends-on): Likewise.
89296 2008-11-02  Bruno Haible  <bruno@clisp.org>
89298         Mark 'memset' obsolete.
89299         * modules/memset (Status, Notice): New sections.
89301 2008-11-02  Bruno Haible  <bruno@clisp.org>
89303         Mark 'memmove' obsolete.
89304         * modules/memmove (Status, Notice): New sections.
89305         * modules/argp (Depends-on): Add memmove.
89306         * modules/argz (Depends-on): Likewise.
89307         * modules/canonicalize (Depends-on): Likewise.
89308         * modules/canonicalize-lgpl (Depends-on): Likewise.
89309         * modules/fts (Depends-on): Likewise.
89310         * modules/getcwd (Depends-on): Likewise.
89311         * modules/human (Depends-on): Likewise.
89312         * modules/regex (Depends-on): Likewise.
89313         * modules/striconveh (Depends-on): Likewise.
89314         * modules/trim (Depends-on): Likewise.
89315         * modules/unistr/u8-move (Depends-on): Likewise.
89316         * modules/unistr/u16-move (Depends-on): Likewise.
89317         * modules/unistr/u32-move (Depends-on): Likewise.
89319 2008-11-02  Bruno Haible  <bruno@clisp.org>
89321         Mark 'memcpy' obsolete.
89322         * modules/memcpy (Status, Notice): New sections.
89324 2008-11-02  Bruno Haible  <bruno@clisp.org>
89326         Mark 'memcmp' obsolete.
89327         * modules/memcmp (Status, Notice): New sections.
89328         * modules/argmatch (Depends-on): Add memchr.
89329         * modules/backupfile (Depends-on): Likewise.
89330         * modules/c-strcasestr (Depends-on): Likewise.
89331         * modules/crypto/des (Depends-on): Likewise.
89332         * modules/csharpcomp (Depends-on): Likewise.
89333         * modules/fnmatch (Depends-on): Likewise.
89334         * modules/git-merge-changelog (Depends-on): Likewise.
89335         * modules/isnand (Depends-on): Likewise.
89336         * modules/isnand-nolibm (Depends-on): Likewise.
89337         * modules/isnanf (Depends-on): Likewise.
89338         * modules/isnanf-nolibm (Depends-on): Likewise.
89339         * modules/isnanl (Depends-on): Likewise.
89340         * modules/isnanl-nolibm (Depends-on): Likewise.
89341         * modules/mbchar (Depends-on): Likewise.
89342         * modules/memcoll (Depends-on): Likewise.
89343         * modules/quotearg (Depends-on): Likewise.
89344         * modules/regex (Depends-on): Likewise.
89345         * modules/relocatable-prog (Depends-on): Likewise.
89346         * modules/same (Depends-on): Likewise.
89347         * modules/signbit (Depends-on): Likewise.
89348         * modules/strcasestr-simple (Depends-on): Likewise.
89349         * modules/unictype/gen-ctype (Depends-on): Likewise.
89350         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89351         * modules/uniname/uniname (Depends-on): Likewise.
89352         * modules/unistr/u8-cmp (Depends-on): Likewise.
89354 2008-11-02  Bruno Haible  <bruno@clisp.org>
89356         Mark 'memchr' obsolete.
89357         * modules/memchr (Status, Notice): New sections.
89358         * modules/argp (Depends-on): Add memchr.
89359         * modules/base64 (Depends-on): Likewise.
89360         * modules/c-strcasestr (Depends-on): Likewise.
89361         * modules/chdir-long (Depends-on): Likewise.
89362         * modules/fnmatch (Depends-on): Likewise.
89363         * modules/getsubopt (Depends-on): Likewise.
89364         * modules/git-merge-changelog (Depends-on): Likewise.
89365         * modules/glob (Depends-on): Likewise.
89366         * modules/strcasestr-simple (Depends-on): Likewise.
89367         * modules/strnlen (Depends-on): Likewise.
89369 2008-11-02  Bruno Haible  <bruno@clisp.org>
89371         Mark 'atexit' obsolete.
89372         * modules/atexit (Status, Notice): New sections.
89373         * modules/chdir-long (Depends-on): Add atexit.
89374         * modules/wait-process (Depends-on): Likewise.
89376 2008-11-02  Bruno Haible  <bruno@clisp.org>
89378         * gnulib-tool: New option --with-obsolete.
89379         (func_usage): Document it.
89380         (func_modules_transitive_closure): Drop obsolete dependencies if
89381         incobsolete is not true.
89382         (func_import): Read and save the incobsolete variable to the cache.
89384 2008-11-02  Bruno Haible  <bruno@clisp.org>
89386         * modules/TEMPLATE-EXTENDED: New field 'Status'.
89387         * gnulib-tool: New option --extract-status.
89388         (func_usage): Document it.
89389         (sed_extract_prog): Recognize it.
89390         (func_get_status): New function.
89392 2008-10-30  Simon Josefsson  <simon@josefsson.org>
89394         * modules/sockets (License): Change from LGPL to LGPLv2+.
89396 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89398         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
89400 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89402         * MODULES.html.sh (Support for systems lacking POSIX:2001):
89403         Mention times and sys_times.
89404         * modules/sys_times, modules/sys_times-tests: New modules.
89405         * modules/times, modules/times-tests: Likewise
89406         * m4/sys_times_h.m4: New file.
89407         * lib/sys_times.in.h: Likewise
89408         * lib/times.c: Likewise.
89409         * tests/test-sys_times.c: Likewise.
89410         * tests/test-times.c: Likewise.
89411         * doc/posix-headers/sys_times.texi: Update.
89412         * doc/posix-functions/times.texi: Update.
89414 2008-10-28  Jim Meyering  <meyering@redhat.com>
89416         * modules/tempname (Depends-on): Add lstat.
89418         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
89420 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89422         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
89423         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
89424         using idiom used elsewhere in gnulib.
89426 2008-10-27  Jim Meyering  <meyering@redhat.com>
89428         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
89430 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89432         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
89433         TESTS_ENVIRONMENT, for shell scripts that needs to call built
89434         programs.
89435         * tests/test-argp-2.sh: Use $EXEEXT when needed.
89437 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89439         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
89441 2008-10-27  Bruno Haible  <bruno@clisp.org>
89443         * tests/test-lstat.c: Include <stdio.h>.
89445 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89447         * modules/lstat-tests: New module.
89448         * tests/test-lstat.c: New file.
89450 2008-10-26  Jim Meyering  <meyering@redhat.com>
89452         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
89454 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89455             Bruno Haible  <bruno@clisp.org>
89457         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
89458         * modules/configmake (Include): Add a note that the include must come
89459         after all system headers.
89460         * lib/javaversion.c: Include configmake.h after all other includes.
89462 2008-10-26  Bruno Haible  <bruno@clisp.org>
89464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
89465         HAVE_STRUCT_RANDOM_DATA to 1.
89466         (gl_STDLIB_H): Simplify.
89468 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89470         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
89471         substitute HAVE_STRUCT_RANDOM_DATA.
89472         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
89473         random_data.
89474         * modules/stdlib (Makefile.am): Substitute
89475         HAVE_STRUCT_RANDOM_DATA.
89477 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89479         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
89480         * doc/gnulib-intro.texi (Copyright): Likewise.
89482 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89484         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
89485         findings.
89487 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
89488             Bruno Haible  <bruno@clisp.org>
89490         * lib/unistd.in.h: Include <winsock2.h>.
89491         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
89492         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
89493         Provide dummy declarations.
89494         (gethostname): Override.
89495         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
89496         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
89497         gl_PREREQ_SYS_H_WINSOCK2.
89498         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
89499         * doc/posix-functions/gethostname.texi: More details.
89501 2008-10-25  Bruno Haible  <bruno@clisp.org>
89503         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89504         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
89505         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
89507         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
89508         here ...
89509         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
89510         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
89511         gl_UNISTD_H_DEFAULTS.
89513 2008-10-25  Eric Blake  <ebb9@byu.net>
89515         signbit: avoid spurious compiler failure
89516         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
89517         declarations inside function.
89519 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89520             Bruno Haible  <bruno@clisp.org>
89522         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
89523         * modules/random_r (Depends-on): Add stdint.
89525 2008-10-24  Bruno Haible  <bruno@clisp.org>
89527         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
89528         Eggert.
89529         * modules/strerror (License): Likewise.
89531 2008-10-24  Jim Meyering  <meyering@redhat.com>
89533         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
89534         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
89536 2008-10-24  Eric Blake  <ebb9@byu.net>
89538         getgroups: fix compilation when getgroups is available
89539         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
89540         but with <config.h> override of getgroups disabled.
89542 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89544         * doc/gnulib.texi (Header files): Add note about C++ problems.
89545         Explained by Bruno Haible <bruno@clisp.org>.
89547 2008-10-23  Bruno Haible  <bruno@clisp.org>
89549         Define a dummy SA_NODEFER macro on Interix.
89550         * lib/signal.in.h (SA_NODEFER): Define fallback.
89551         Reported by Aleksey Cheusov <cheusov@tut.by> via
89552         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
89554 2008-10-23  Bruno Haible  <bruno@clisp.org>
89556         * modules/freadahead (License): Change to LGPLv2+.
89557         Suggested by Simon Josefsson.
89559 2008-10-23  Jim Meyering  <meyering@redhat.com>
89561         random_r: new module
89562         * modules/random_r: New file.
89563         * m4/random_r.m4: New file.
89564         * lib/random_r.c: New file, from glibc.
89565         * modules/random_r-tests: New file.
89566         * tests/test-random_r.c: New file.
89567         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
89568          Declare.
89569         (RAND_MAX): Define.
89570         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
89571         * modules/stdlib: Substitute them, too.
89572         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
89573         * doc/glibc-functions/initstate_r.texi: Mention the new module.
89574         * doc/glibc-functions/random_r.texi: Likewise.
89575         * doc/glibc-functions/setstate_r.texi: Likewise.
89576         * doc/glibc-functions/srandom_r.texi: Likewise.
89577         * config/srclist.txt: Mention it.
89579 2008-10-23  David Lutterkort  <lutter@redhat.com>
89581         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
89582         link requirement
89584 2008-10-23  Jim Meyering  <meyering@redhat.com>
89586         selinux-h: mark parameters of stub functions as intentionally unused
89587         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
89588         * lib/se-context.in.h: Likewise.
89590 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89592         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
89594 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89596         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
89598 2008-10-22  Eric Blake  <ebb9@byu.net>
89600         glthread/thread: avoid compiler warning
89601         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
89602         Add unreachable abort to silence compiler.
89604 2008-10-22  Eric Blake  <ebb9@byu.net>
89606         netdb: also supply struct addrinfo for cygwin 1.5.x
89607         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
89608         older cygwin.
89609         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
89610         cygwin.
89611         * doc/posix-headers/netdb.texi (netdb.h): Document this.
89613 2008-10-22  Bruno Haible  <bruno@clisp.org>
89615         * users.txt: Update entry about pspp.
89617 2008-10-21  Bruno Haible  <bruno@clisp.org>
89619         Simplification.
89620         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
89621         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
89623         Simplification.
89624         * lib/ioctl.c (ioctl): Don't undefine.
89625         * lib/socket.c (socket): Don't undefine.
89627         Remove unused module indicator macros.
89628         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
89629         GNULIB_$1 as a C macro.
89631         * doc/posix-functions/close.texi: Undo last change.
89632         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
89633         Windows platforms.
89635 2008-10-21  Bruno Haible  <bruno@clisp.org>
89637         Add gethostname() declaration to <unistd.h>.
89638         * lib/unistd.in.h (gethostname): New declaration.
89639         * lib/gethostname.c: Include <unistd.h>.
89640         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
89641         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
89642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
89643         and HAVE_GETHOSTNAME.
89644         * modules/gethostname (Depends-on): Add unistd.
89645         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89646         (Include): Specify <unistd.h>.
89647         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
89648         HAVE_GETHOSTNAME.
89649         * tests/test-gethostname.c: Include <unistd.h> first.
89651 2008-10-21  Bruno Haible  <bruno@clisp.org>
89653         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
89654         * modules/select-tests (Depends-on): Likewise.
89655         Reported by Simon Josefsson.
89657 2008-10-21  Simon Josefsson  <simon@josefsson.org>
89659         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
89660         * lib/accept.c: New file, based on winsock.c.
89661         * lib/bind.c: New file, based on winsock.c.
89662         * lib/connect.c: New file, based on winsock.c.
89663         * lib/getpeername.c: New file, based on winsock.c.
89664         * lib/getsockname.c: New file, based on winsock.c.
89665         * lib/getsockopt.c: New file, based on winsock.c.
89666         * lib/ioctl.c: New file, based on winsock.c.
89667         * lib/listen.c: New file, based on winsock.c.
89668         * lib/recv.c: New file, based on winsock.c.
89669         * lib/recvfrom.c: New file, based on winsock.c.
89670         * lib/send.c: New file, based on winsock.c.
89671         * lib/sendto.c: New file, based on winsock.c.
89672         * lib/setsockopt.c: New file, based on winsock.c.
89673         * lib/shutdown.c: New file, based on winsock.c.
89674         * lib/socket.c: New file, based on winsock.c.
89675         * lib/w32sock.h: New file, based on winsock.c.
89676         * lib/winsock.c: Remove file.
89677         * modules/accept: Likewise.
89678         * modules/bind: Likewise.
89679         * modules/connect: Likewise.
89680         * modules/getpeername: Likewise.
89681         * modules/getsockname: Likewise.
89682         * modules/getsockopt: Likewise.
89683         * modules/ioctl: Likewise.
89684         * modules/listen: Likewise.
89685         * modules/recv: Likewise.
89686         * modules/recvfrom: Likewise.
89687         * modules/send: Likewise.
89688         * modules/sendto: Likewise.
89689         * modules/setsockopt: Likewise.
89690         * modules/shutdown: Likewise.
89691         * modules/socket: Use socket.c instead of winsock.c.
89692         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
89693         * doc/posix-functions/accept.texi: Doc fix.
89694         * doc/posix-functions/bind.texi: Doc fix.
89695         * doc/posix-functions/close.texi: Doc fix.
89696         * doc/posix-functions/connect.texi: Doc fix.
89697         * doc/posix-functions/getpeername.texi: Doc fix.
89698         * doc/posix-functions/getsockname.texi: Doc fix.
89699         * doc/posix-functions/getsockopt.texi: Doc fix.
89700         * doc/posix-functions/ioctl.texi: Doc fix.
89701         * doc/posix-functions/listen.texi: Doc fix.
89702         * doc/posix-functions/recv.texi: Doc fix.
89703         * doc/posix-functions/recvfrom.texi: Doc fix.
89704         * doc/posix-functions/send.texi: Doc fix.
89705         * doc/posix-functions/sendto.texi: Doc fix.
89706         * doc/posix-functions/setsockopt.texi: Doc fix.
89707         * doc/posix-functions/shutdown.texi: Doc fix.
89708         * doc/posix-functions/socket.texi: Doc fix.
89710 2008-10-20  Bruno Haible  <bruno@clisp.org>
89712         Take into account the role of SIGABRT_COMPAT on Windows 2008.
89713         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
89714         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
89715         as an alias for SIGABRT.
89716         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
89717         (sigaction): Map it to SIGABRT.
89718         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
89720 2008-10-20  Bruno Haible  <bruno@clisp.org>
89722         * lib/fts.c: Don't include lstat.h.
89723         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
89725         Move the lstat() declaration to <sys/stat.h>.
89726         * lib/lstat.h: Remove file.
89727         * lib/sys_stat.in.h: Add special invocation convention.
89728         (lstat): New declaration.
89729         * lib/lstat.c (orig_lstat): New function.
89730         (rpl_lstat): Use orig_lstat instead of lstat.
89731         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
89732         AC_C_INLINE. Set REPLACE_LSTAT.
89733         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
89734         and REPLACE_LSTAT.
89735         * modules/lstat (Files): Remove lib/lstat.h.
89736         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89737         (Include): Specify <sys/stat.h> instead of lstat.h.
89738         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
89739         REPLACE_LSTAT.
89740         * NEWS: Mention the change.
89742 2008-10-20  Bruno Haible  <bruno@clisp.org>
89744         * modules/posix_spawn-tests: New file.
89745         * tests/test-posix_spawn3.c: New file.
89747 2008-10-20  Bruno Haible  <bruno@clisp.org>
89749         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
89750         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89751         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
89752         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89753         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
89755 2008-10-20  Bruno Haible  <bruno@clisp.org>
89757         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
89758         of posix_spawn on AIX 5.3.
89760 2008-10-20  Bruno Haible  <bruno@clisp.org>
89762         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
89764 2008-10-20  Bruno Haible  <bruno@clisp.org>
89766         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
89767         of AC_LANG_PROGRAM.
89769 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89771         * lib/netdb.in.h: Don't define GNU specific constants until they
89772         are supported or needed.  Reported by Bruno Haible
89773         <bruno@clisp.org>.
89775 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89777         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
89779 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89781         * lib/getaddrinfo.h: Remove file.
89782         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
89783         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
89784         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
89785         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
89786         * modules/netdb: Substitute GNULIB_GETADDRINFO.
89787         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
89788         * tests/test-getaddrinfo.c: Likewise.
89789         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
89790         * NEWS: Mention change.
89792 2008-10-19  Bruno Haible  <bruno@clisp.org>
89794         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
89796 2008-10-19  Bruno Haible  <bruno@clisp.org>
89798         * lib/wait-process.c: Include simply <sys/wait.h>.
89799         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
89800         WIFSTOPPED): Remove fallback definitions.
89801         * modules/wait-process (Depends-on): Add sys_wait.
89803         New module 'sys_wait'.
89804         * modules/sys_wait: New file.
89805         * lib/sys_wait.in.h: New file, partially copied from
89806         lib/wait-process.c.
89807         * m4/sys_wait_h.m4: New file.
89808         * doc/posix-headers/sys_wait.texi: Mention the new module.
89810 2008-10-19  Bruno Haible  <bruno@clisp.org>
89812         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
89814 2008-10-19  Bruno Haible  <bruno@clisp.org>
89816         Assume that waitpid() fills an 'int' status, not a 'union wait'.
89817         * lib/wait-process.c (WAIT_T): Remove type.
89818         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
89819         (wait_subprocess): Update.
89821 2008-10-19  Bruno Haible  <bruno@clisp.org>
89823         New module 'atoll'.
89824         * modules/atoll: New file.
89825         * lib/stdlib.in.h (atoll): New declaration.
89826         * lib/atoll.c: New file, from glibc with modifications.
89827         * m4/atoll.m4: New file.
89828         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
89829         HAVE_ATOLL.
89830         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
89831         * doc/posix-functions/atoll.texi: Mention the new module.
89833 2008-10-19  Bruno Haible  <bruno@clisp.org>
89835         Add strtoull() declaration to <stdlib.h>.
89836         * lib/stdlib.in.h (strtoull): New declaration.
89837         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89838         Set HAVE_STRTOULL.
89839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
89840         HAVE_STRTOULL.
89841         * modules/strtoull (Depends-on): Add stdlib.
89842         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89843         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
89844         HAVE_STRTOULL.
89846 2008-10-19  Bruno Haible  <bruno@clisp.org>
89848         Add strtoll() declaration to <stdlib.h>.
89849         * lib/stdlib.in.h (strtoll): New declaration.
89850         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89851         Set HAVE_STRTOLL.
89852         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
89853         HAVE_STRTOLL.
89854         * modules/strtoll (Depends-on): Add stdlib.
89855         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89856         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
89858 2008-10-19  Bruno Haible  <bruno@clisp.org>
89860         * modules/bcopy (Depends-on): Add strings.
89861         (Include): Specify <strings.h>.
89863 2008-10-19  Bruno Haible  <bruno@clisp.org>
89865         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
89867 2008-10-19  Bruno Haible  <bruno@clisp.org>
89869         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
89870         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
89871         mingw.
89873 2008-10-19  Bruno Haible  <bruno@clisp.org>
89875         * lib/atanl.c: Don't include isnanl.h.
89876         * lib/cosl.c: Likewise.
89877         * lib/ldexpl.c: Likewise.
89878         * lib/logl.c: Likewise.
89879         * lib/sinl.c: Likewise.
89880         * lib/sqrtl.c: Likewise.
89881         * lib/tanl.c: Likewise.
89883         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
89884         * lib/isnanf.h: Remove file.
89885         * lib/isnand.h: Remove file.
89886         * lib/isnanl.h: Remove file.
89887         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
89888         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
89889         macros.
89890         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
89891         HAVE_ISNANF, don't define it as a C macro.
89892         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
89893         HAVE_ISNAND, don't define it as a C macro.
89894         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
89895         HAVE_ISNANL, don't define it as a C macro.
89896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
89897         HAVE_ISNAN[FDL].
89898         * modules/isnanf (Files): Remove lib/isnanf.h.
89899         (Depends-on): Add math.
89900         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89901         (Include): Specify <math.h> instead of isnanf.h.
89902         * modules/isnand (Files): Remove lib/isnand.h.
89903         (Depends-on): Add math.
89904         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89905         (Include): Specify <math.h> instead of isnand.h.
89906         * modules/isnanl (Files): Remove lib/isnanl.h.
89907         (Depends-on): Add math.
89908         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89909         (Include): Specify <math.h> instead of isnanl.h.
89910         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
89911         HAVE_ISNAN[FDL].
89912         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
89913         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
89914         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
89915         * NEWS: Mention the change.
89917 2008-10-18  Bruno Haible  <bruno@clisp.org>
89919         Add getusershell(), setusershell(), endusershell() declarations to
89920         <unistd.h>.
89921         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
89922         declarations.
89923         * lib/getusershell.c: Include unistd.h.
89924         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
89925         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89926         HAVE_GETUSERSHELL.
89927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
89928         and HAVE_GETUSERSHELL.
89929         * modules/getusershell (Depends-on): Add unistd, extensions.
89930         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89931         (Include): Specify <unistd.h>.
89932         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
89933         HAVE_GETUSERSHELL.
89935 2008-10-18  Bruno Haible  <bruno@clisp.org>
89937         Add a getloadavg() declaration to <stdlib.h>.
89938         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
89939         getloadavg declaration.
89940         (getloadavg): New declaration.
89941         * lib/getloadavg.c: Include <stdlib.h> first.
89942         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
89943         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
89944         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
89945         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
89946         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89947         * modules/getloadavg (Depends-on): Add stdlib, extensions.
89948         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89949         (Include): Specify <stdlib.h>.
89950         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
89951         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89953 2008-10-18  Bruno Haible  <bruno@clisp.org>
89955         * lib/dirchownmod.c: Don't include lchmod.h.
89957         Move the lchmod() declaration to <sys/stat.h>.
89958         * lib/lchmod.h: Remove file.
89959         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
89960         (lchmod): New declaration, moved here from lib/lchown.h.
89961         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
89962         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
89963         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
89964         and HAVE_LCHMOD.
89965         * modules/lchmod (Files): Remove lib/lchmod.h.
89966         (Depends-on): Add sys_stat, extensions.
89967         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89968         (Include): Specify <sys/stat.h> instead of lchmod.h.
89969         * modules/sys_stat (Depends-on): Add link-warning.
89970         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
89971         definition of GL_LINK_WARNING.
89972         * NEWS: Mention the change.
89974 2008-10-18  Bruno Haible  <bruno@clisp.org>
89976         * lib/fchdir.c: Don't include dirfd.h.
89977         * lib/fts.c: Likewise.
89978         * lib/getcwd.c: Likewise.
89979         * lib/glob.c: Likewise.
89981         Move the dirfd() declaration to <dirent.h>.
89982         * lib/dirfd.h: Remove file.
89983         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
89984         (dirfd): New declaration.
89985         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
89986         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
89987         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
89988         HAVE_DECL_DIRFD.
89989         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
89990         HAVE_DECL_DIRFD.
89991         * modules/dirfd (Files): Remove lib/dirfd.h.
89992         (Depends-on): Add dirent, extensions.
89993         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
89994         (Include): Specify <dirent.h> instead of dirfd.h.
89995         * modules/dirent (Depends-on): Add link-warning.
89996         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
89997         definition of GL_LINK_WARNING.
89998         * NEWS: Mention the change.
90000 2008-10-18  Bruno Haible  <bruno@clisp.org>
90002         Move the euidaccess() declaration to <unistd.h>.
90003         * lib/euidaccess.h: Remove file.
90004         * lib/unistd.in.h (euidaccess): New declaration.
90005         * lib/euidaccess.c: Don't include euidaccess.h.
90006         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
90007         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
90008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
90009         and HAVE_EUIDACCESS.
90010         * modules/euidaccess (Files): Remove lib/euidaccess.h.
90011         (Depends-on): Add unistd.
90012         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90013         (Include): Specify <unistd.h> instead of euidaccess.h.
90014         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
90015         HAVE_EUIDACCESS.
90016         * NEWS: Mention the change.
90018 2008-10-18  Bruno Haible  <bruno@clisp.org>
90020         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
90022         Move the getdomainname() declaration to <unistd.h>.
90023         * lib/getdomainname.h: Remove file.
90024         * lib/unistd.in.h (getdomainname): New declaration.
90025         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
90026         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
90027         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90028         HAVE_GETDOMAINNAME.
90029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90030         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
90031         * modules/getdomainname (Files): Remove lib/getdomainname.h.
90032         (Depends-on): Add unistd, extensions.
90033         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90034         (Includes): Specify <unistd.h> instead of getdomainname.h.
90035         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
90036         HAVE_GETDOMAINNAME.
90037         * NEWS: Mention the change.
90039 2008-10-18  Bruno Haible  <bruno@clisp.org>
90041         * modules/dirent: New file.
90042         * m4/dirent_h.m4: New file.
90043         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
90044         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
90045         * modules/fchdir (Files): Remove lib/dirent.in.h.
90046         (Depends-on): Add dirent.
90047         (Makefile.am): Move rules to modules/dirent.
90048         * doc/posix-headers/dirent.texi: Mention the new module.
90050 2008-10-18  Bruno Haible  <bruno@clisp.org>
90052         Avoid -Wunused-parameter warnings in public gnulib header files.
90053         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
90054         macro.
90055         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
90057 2008-10-18  Bruno Haible  <bruno@clisp.org>
90059         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
90060         * doc/glibc-functions/error.texi: Mention the module 'error'.
90061         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
90062         * doc/glibc-functions/getdomainname.texi: Mention the module
90063         'getdomainname'.
90064         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
90065         * doc/glibc-functions/getpagesize.texi: Mention the module
90066         'getpagesize'.
90067         * doc/glibc-functions/getusershell.texi: Mention the module
90068         'getusershell'.
90069         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
90070         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
90071         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
90072         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
90073         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
90074         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
90075         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
90076         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
90077         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
90078         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
90079         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
90080         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
90081         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
90082         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
90084 2008-10-17  Bruno Haible  <bruno@clisp.org>
90086         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
90087         HP-UX and IRIX, use -0.0L.
90088         * tests/test-ceill.c (minus_zero): Likewise.
90089         * tests/test-floorl.c (minus_zero): Likewise.
90090         * tests/test-frexpl.c (minus_zero): Likewise.
90091         * tests/test-isnan.c (minus_zerol): Likewise.
90092         * tests/test-isnanl.h (minus_zero): Likewise.
90093         * tests/test-ldexpl.c (minus_zero): Likewise.
90094         * tests/test-roundl.c (minus_zero): Likewise.
90095         * tests/test-signbit.c (minus_zerol): Likewise.
90096         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
90097         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
90098         * tests/test-truncl.c (minus_zero): Likewise.
90099         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
90100         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
90101         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
90102         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
90104 2008-10-17  Bruno Haible  <bruno@clisp.org>
90106         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
90107         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
90108         that it gets activated only for gcc >= 3.0.
90109         * lib/dirent.in.h: Likewise.
90110         * lib/errno.in.h: Likewise.
90111         * lib/fcntl.in.h: Likewise.
90112         * lib/float.in.h: Likewise.
90113         * lib/iconv.in.h: Likewise.
90114         * lib/inttypes.in.h: Likewise.
90115         * lib/locale.in.h: Likewise.
90116         * lib/math.in.h: Likewise.
90117         * lib/netdb.in.h: Likewise.
90118         * lib/netinet_in.in.h: Likewise.
90119         * lib/search.in.h: Likewise.
90120         * lib/signal.in.h: Likewise.
90121         * lib/spawn.in.h: Likewise.
90122         * lib/stdarg.in.h: Likewise.
90123         * lib/stdint.in.h: Likewise.
90124         * lib/stdio.in.h: Likewise.
90125         * lib/stdlib.in.h: Likewise.
90126         * lib/string.in.h: Likewise.
90127         * lib/strings.in.h: Likewise.
90128         * lib/sys_file.in.h: Likewise.
90129         * lib/sys_ioctl.in.h: Likewise.
90130         * lib/sys_select.in.h: Likewise.
90131         * lib/sys_socket.in.h: Likewise.
90132         * lib/sys_stat.in.h: Likewise.
90133         * lib/sys_time.in.h: Likewise.
90134         * lib/sysexits.in.h: Likewise.
90135         * lib/time.in.h: Likewise.
90136         * lib/unistd.in.h: Likewise.
90137         * lib/wchar.in.h: Likewise.
90138         * lib/wctype.in.h: Likewise.
90139         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90141 2008-10-17  Jim Meyering  <meyering@redhat.com>
90143         ignore-value: don't depend on inline module
90144         * modules/ignore-value (Depends-on): Remove 'inline'.
90145         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
90146         Suggestion from Bruno Haible.
90148 2008-10-17  Bruno Haible  <bruno@clisp.org>
90150         New implementation of condition variables for Win32.
90151         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
90152         (gl_linked_waitqueue_t): New type.
90153         (gl_cond_t): Use it.
90154         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
90155         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
90156         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
90157         (glthread_cond_init_func, glthread_cond_wait_func,
90158         glthread_cond_timedwait_func, glthread_cond_signal_func,
90159         glthread_cond_broadcast_func, glthread_cond_destroy_func):
90160         Reimplemented on the basis of gl_linked_waitqueue_t.
90161         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
90162         gl_waitqueue_t.
90163         (gl_rwlock_t): Update.
90164         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
90166 2008-10-17  Simon Josefsson  <simon@josefsson.org>
90168         * modules/recvfrom (Depends-on): Add dependency on getpeername.
90169         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90171 2008-10-17  Jim Meyering  <meyering@redhat.com>
90173         ignore-value: new module
90174         * modules/ignore-value: New file.
90175         * lib/ignore-value.h: New file.
90176         * MODULES.html.sh (Compiler warning management): New section,
90177         just for this module.  More to come.
90179 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90181         open-safer.c: avoid 'signed and unsigned in conditional...' warning
90182         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
90183         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
90185 2008-10-16  Jim Meyering  <meyering@redhat.com>
90187         openat-die.c: avoid 'no previous prototype' warning
90188         * lib/openat-die.c: Include "openat.h".
90189         Reported by Reuben Thomas <rrt@sc3d.org>.
90191 2008-10-16  Simon Josefsson  <simon@josefsson.org>
90193         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
90194         * lib/netdb.in.h: Fix typo.
90195         Reported by Bruno Haible  <bruno@clisp.org>
90197         * lib/netdb.in.h: Include sys/socket.h for platforms without
90198         netdb.h, to get structures like hostent on MinGW.
90199         * modules/netdb (Depends-on): Add sys_socket.
90201 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90203         * modules/netdb, modules/netdb-tests: New file.
90204         * m4/netdb_h.m4: New file.
90205         * lib/netdb.in.h: Add, currently just an empty file pending
90206         definitions.
90207         * tests/test-netdb.c: New file.
90208         * doc/posix-headers/netdb.texi: Mention that we replace it if
90209         needed.
90210         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90211         netdb.
90213 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90215         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
90216         with code.
90218 2008-10-13  Bruno Haible  <bruno@clisp.org>
90220         * lib/glthread/cond.c (glthread_cond_wait_func,
90221         glthread_cond_timedwait_func): Add a comment.
90223 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90225         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
90226         * tests/test-select.c: Likewise,
90228 2008-10-13  Bruno Haible  <bruno@clisp.org>
90230         * lib/glthread/cond.c (glthread_cond_wait_func,
90231         glthread_cond_timedwait_func): Fix variable name.
90232         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90234 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
90236         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
90237         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
90238         struct sockaddr.sa_len.
90239         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
90241 2008-10-13  Simon Josefsson  <simon@josefsson.org>
90243         * build-aux/pmccabe2html: Add css and css_url parameters.
90245 2008-10-12  Bruno Haible  <bruno@clisp.org>
90247         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
90248         calling aclx_get.
90249         Reported by Rainer Tammer <tammer@tammer.net>.
90251 2008-10-12  Bruno Haible  <bruno@clisp.org>
90253         Use msvcrt aware primitives for creation/termination of Win32 threads.
90254         * lib/glthread/thread.c: Include <process.h>.
90255         (glthread_create_func): Use _beginthreadex instead of CreateThread.
90256         (wrapper_func): Update signature.
90257         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
90259 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90260             Bruno Haible  <bruno@clisp.org>
90262         Provide a Win32 implementation of the 'cond' module.
90263         * lib/glthread/cond.h [USE_WIN32]: New implementation.
90264         * lib/glthread/cond.c (glthread_cond_init_func,
90265         glthread_cond_wait_func, glthread_cond_timedwait_func,
90266         glthread_cond_signal_func, glthread_cond_broadcast_func,
90267         glthread_cond_destroy_func) [USE_WIN32]: New functions.
90268         * modules/cond (Dependencies): Add gettimeofday.
90270 2008-10-11  Bruno Haible  <bruno@clisp.org>
90272         Make sleep work on older versions of mingw.
90273         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
90274         only whether it exists.
90275         * doc/posix-functions/sleep.texi: Mention the problem with older
90276         versions of mingw.
90278 2008-10-11  Bruno Haible  <bruno@clisp.org>
90280         New module 'shutdown'.
90281         * modules/shutdown: New file.
90282         * lib/sys_socket.in.h (shutdown): New declaration.
90283         * lib/winsock.c (shutdown): New function.
90284         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
90285         GNULIB_SHUTDOWN.
90286         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
90287         * doc/posix-functions/shutdown.texi: Document the new module.
90289 2008-10-11  Jim Meyering  <meyering@redhat.com>
90291         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
90293 2008-10-11  Bruno Haible  <bruno@clisp.org>
90295         New module 'fclose'.
90296         * modules/fclose: New file.
90297         * lib/stdio.in.h (fclose): New declaration.
90298         * lib/fclose.c: New file.
90299         * m4/fclose.m4: New file.
90300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
90301         REPLACE_FCLOSE.
90302         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
90303         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
90304         REPLACE_FCLOSE.
90305         * modules/close (Depends-on): fclose.
90306         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
90308 2008-10-11  Bruno Haible  <bruno@clisp.org>
90310         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
90311         set errno and don't call _close.
90313 2008-10-10  Bruno Haible  <bruno@clisp.org>
90315         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
90316         ACL, not afterwards. Fixes test failure on Cygwin.
90318 2008-10-09  Ben Pfaff  <blp@gnu.org>
90320         * build-aux/announce-gen: Fix gnulib version related part of usage
90321         message.  Die with a useful error message if no tarballs are
90322         found.
90324 2008-10-10  Jim Meyering  <meyering@redhat.com>
90326         bootstrap: use git's --depth=N option only if it's supported
90327         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
90328         recognize the --depth option.  Reported by Pádraig Brady.
90330 2008-10-09  Bruno Haible  <bruno@clisp.org>
90332         New module 'ioctl'.
90333         * modules/ioctl: New file.
90334         * lib/sys_socket.in.h (ioctl): Remove declaration.
90335         * lib/winsock.c: Include <sys/ioctl.h>.
90336         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
90337         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90338         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
90339         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
90340         * doc/posix-functions/ioctl.texi: Mention the new module.
90342 2008-10-09  Bruno Haible  <bruno@clisp.org>
90344         New module 'sys_ioctl'.
90345         * lib/sys_ioctl.in.h: New file.
90346         * m4/sys_ioctl_h.m4: New file.
90347         * modules/sys_ioctl: New file.
90348         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
90350 2008-10-09  Bruno Haible  <bruno@clisp.org>
90352         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
90353         * lib/winsock.c: Include <stdarg.h>.
90354         (rpl_ioctl): Change to second argument 'int' and then varargs.
90356 2008-10-09  Bruno Haible  <bruno@clisp.org>
90358         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
90359         when the sys_socket module is present and the system has <winsock2.h>.
90361 2008-10-09  Bruno Haible  <bruno@clisp.org>
90363         * doc/posix-functions/close.texi: Mention module 'close' instead of
90364         module 'sys_socket'.
90366 2008-10-09  Bruno Haible  <bruno@clisp.org>
90368         * doc/glibc-headers/sys_ioctl.texi: New file.
90369         * doc/gnulib.texi: Include it.
90371 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90372             Bruno Haible  <bruno@clisp.org>
90374         Combine the two replacements of 'close'.
90375         * lib/sys_socket.in.h (close): Define to a reminder to include
90376         <unistd.h>.
90377         (_gl_close_fd_maybe_socket): New declaration.
90378         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
90379         * lib/winsock.c (close): Remove undefinition.
90380         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
90381         needed for the gnulib module 'close'.
90382         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
90383         define to an error symbol or to a warning, if suitable.
90384         * lib/close.c: Include <sys/socket.h>.
90385         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
90386         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
90387         UNISTD_H_HAVE_WINSOCK2_H.
90388         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
90389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90390         UNISTD_H_HAVE_WINSOCK2_H.
90391         * modules/sys_socket (Files): Add m4/unistd_h.m4.
90392         (configure.ac): Set a module indicator.
90393         (Makefile.am): Substitute GNULIB_CLOSE.
90394         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
90395         * modules/poll-tests (Depends-on): Add close.
90396         * modules/select-tests (Depends-on): Likewise.
90398 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90399             Bruno Haible  <bruno@clisp.org>
90401         New module 'close'.
90402         * modules/close: New file.
90403         * lib/unistd.in.h (close): Move declaration out of the
90404         FCHDIR_REPLACEMENT scope.
90405         (_gl_unregister_fd): New declaration.
90406         * lib/close.c: New file.
90407         * lib/fchdir.c (rpl_close): Remove function.
90408         * m4/close.m4: New file.
90409         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90410         close.
90411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
90412         REPLACE_CLOSE.
90413         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
90414         REPLACE_CLOSE.
90415         * modules/fchdir (Depends-on): Add close.
90417 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90418             Bruno Haible  <bruno@clisp.org>
90420         * lib/fcntl.in.h (open): Simplify conditionals.
90421         (_gl_register_fd): New declaration.
90422         * lib/fchdir.c (rpl_open): Remove function.
90423         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
90424         also.
90425         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
90426         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90427         open.
90429 2008-10-09  Jim Meyering  <meyering@redhat.com>
90431         GNUmakefile: use the more name-space-friendly "_version"
90432         * top/GNUmakefile (_dummy): Update.
90433         (_version): Rename from "version".
90435 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90436             Bruno Haible  <bruno@clisp.org>
90438         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
90439         rpl_close.
90440         (_gl_register_fd): New function, extracted from rpl_open.
90441         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
90442         (rpl_open, rpl_opendir): Use _gl_register_fd.
90444 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90446         Fix organization of 'open' replacement.
90447         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
90448         (gl_FUNC_OPEN): Use it.
90449         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
90451 2008-10-08  Bruno Haible  <bruno@clisp.org>
90453         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
90455 2008-10-08  Simon Josefsson  <simon@josefsson.org>
90457         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
90458         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
90459         listen).
90461 2008-10-08  Eric Blake  <ebb9@byu.net>
90463         GNUmakefile: add 'make version' target
90464         * top/GNUmakefile (_curr-ver): Split version update rules...
90465         (version): ...into a target.
90467 2008-10-07  Bruno Haible  <bruno@clisp.org>
90469         Use a more portable replacement expression for -0.0L.
90470         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
90471         instead of -0.0L. Fix m4 quotation.
90473         * tests/test-signbit.c: Include <float.h>.
90474         (minus_zero): New variable.
90475         (test_signbitl): Use minus_zero instead of -zero.
90476         * modules/signbit-tests (Depends-on): Add float.
90478         * tests/test-ceill.c: Include <float.h>.
90479         (zero): Remove variable.
90480         (minus_zero): New variable.
90481         (main): Use minus_zero instead of -zero.
90482         * modules/ceill-tests (Depends-on): Add float.
90484         * tests/test-floorl.c: Include <float.h>.
90485         (zero): Remove variable.
90486         (minus_zero): New variable.
90487         (main): Use minus_zero instead of -zero.
90488         * modules/floorl-tests (Depends-on): Add float.
90490         * tests/test-roundl.c: Include <float.h>.
90491         (zero): Remove variable.
90492         (minus_zero): New variable.
90493         (main): Use minus_zero instead of -zero.
90494         * modules/roundl-tests (Depends-on): Add float.
90496         * tests/test-truncl.c: Include <float.h>.
90497         (zero): Remove variable.
90498         (minus_zero): New variable.
90499         (main): Use minus_zero instead of -zero.
90500         * modules/truncl-tests (Depends-on): Add float.
90502         * tests/test-frexpl.c (zero): Remove variable.
90503         (minus_zero): New variable.
90504         (main): Use minus_zero instead of -zero.
90505         * modules/frexpl-tests (Depends-on): Add float.
90507         * tests/test-isnan.c (zerol): Remove variable.
90508         (minus_zerol): New variable.
90509         (test_long_double): Use minus_zerol instead of -zerol.
90510         * modules/isnan-tests (Depends-on): Add float.
90512         * tests/test-isnanl.h (zero): Remove variable.
90513         (minus_zero): New variable.
90514         (main): Use minus_zero instead of -zero.
90515         * modules/isnanl-nolibm-tests (Depends-on): Add float.
90516         * modules/isnanl-tests (Depends-on): Add float.
90518         * tests/test-ldexpl.c (zero): Remove variable.
90519         (minus_zero): New variable.
90520         (main): Use minus_zero instead of -zero.
90521         * modules/ldexpl-tests (Depends-on): Add float.
90523         * tests/test-snprintf-posix.h (zerol): Remove variable.
90524         (minus_zerol): New variable.
90525         (test_function): Use minus_zerol instead of -zerol.
90526         * modules/snprintf-posix-tests (Depends-on): Add float.
90527         * modules/vsnprintf-posix-tests (Depends-on): Add float.
90529         * tests/test-sprintf-posix.h (zerol): Remove variable.
90530         (minus_zerol): New variable.
90531         (test_function): Use minus_zerol instead of -zerol.
90532         * modules/sprintf-posix-tests (Depends-on): Add float.
90533         * modules/vsprintf-posix-tests (Depends-on): Add float.
90535         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
90536         (minus_zerol): New variable.
90537         (test_function): Use minus_zerol instead of -zerol.
90538         * modules/vasnprintf-posix-tests (Depends-on): Add float.
90540         * tests/test-vasprintf-posix.c (zerol): Remove variable.
90541         (minus_zerol): New variable.
90542         (test_function): Use minus_zerol instead of -zerol.
90543         * modules/vasprintf-posix-tests (Depends-on): Add float.
90545 2008-10-07  Simon Josefsson  <simon@josefsson.org>
90547         * MODULES.html.sh (Support for building documentation): Mention
90548         pmccabe2html.  Sort entries.
90550         Add pmccabe2html module, from gnupdf.
90551         * build-aux/pmccabe.css: New file.
90552         * build-aux/pmccabe2html: New file.
90553         * m4/pmccabe2html.m4: New file.
90554         * modules/pmccabe2html: New file.
90556 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
90558         flock: new module
90559         * MODULES.html.sh: Add to list of modules.
90560         * lib/flock.c: flock implementation for Windows and Unix systems
90561         which have fcntl.
90562         * doc/glibc-functions/flock.texi: Update documentation.
90563         * lib/sys_file.in.h: <sys/file.h> header file.
90564         * m4/flock.m4: M4 macros.
90565         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
90566         * modules/flock: flock module.
90567         * modules/flock-tests: flock tests module.
90568         * modules/sys_file: sys/file.h module.
90569         * tests/test-flock.c: test suite for flock.
90571 2008-10-06  Jim Meyering  <meyering@redhat.com>
90573         bootstrap: check for LT_INIT more portably still ;-)
90574         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
90575         Spotted by Bruno Haible.
90577 2008-10-06  Eric Blake  <ebb9@byu.net>
90579         test-signbit: avoid tripping Irix cc bug on -0.0L
90580         * tests/test-signbit.c (minus_zerol): Delete, and replace with
90581         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
90582         entire testsuite consistent and avoids an Irix 6.2 bug.
90584 2008-10-05  Bruno Haible  <bruno@clisp.org>
90585             Jim Meyering  <jim@meyering.net>
90587         Add an option for ignoring EPIPE during close_stdout.
90588         * lib/closeout.h: Include <stdbool.h>.
90589         (close_stdout_set_ignore_EPIPE): New declaration.
90590         * lib/closeout.c: Include <stdbool.h>.
90591         (ignore_EPIPE): New variable.
90592         (close_stdout_set_ignore_EPIPE): New function.
90593         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
90594         * lib/close-stream.c (close_stream): Mention the possible EPIPE
90595         failure.
90596         * modules/closeout (Depends-on): Add stdbool.
90598 2008-10-05  Bruno Haible  <bruno@clisp.org>
90600         * modules/accept: New file.
90601         * modules/bind: New file.
90602         * modules/connect: New file.
90603         * modules/getpeername: New file.
90604         * modules/getsockname: New file.
90605         * modules/getsockopt: New file.
90606         * modules/listen: New file.
90607         * modules/recv: New file.
90608         * modules/recvfrom: New file.
90609         * modules/send: New file.
90610         * modules/sendto: New file.
90611         * modules/setsockopt: New file.
90612         * modules/socket: New file.
90613         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
90614         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
90615         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
90616         the particular module is requested. Add a link warning when the
90617         particular module is not requested.
90618         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
90619         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
90620         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
90621         the particular module is requested.
90622         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
90623         gl_SYS_SOCKET_H_DEFAULTS): New macros.
90624         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
90625         * modules/sys_socket (Depends-on): Add link-warning.
90626         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
90627         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
90628         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
90629         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
90630         GL_LINK_WARNING.
90631         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
90632         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
90633         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
90634         * doc/posix-functions/getpeername.texi: Mention the new module
90635         'getpeername'.
90636         * doc/posix-functions/getsockname.texi: Mention the new module
90637         'getsockname'.
90638         * doc/posix-functions/getsockopt.texi: Mention the new module
90639         'getsockopt'.
90640         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
90641         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
90642         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
90643         * doc/posix-functions/send.texi: Mention the new module 'send'.
90644         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
90645         * doc/posix-functions/setsockopt.texi: Mention the new module
90646         'setsockopt'.
90647         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
90648         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
90649         listen, connect, accept.
90650         * modules/select-tests (Depends-on): Likewise.
90652 2008-10-05  Bruno Haible  <bruno@clisp.org>
90654         * lib/winsock.c (strerror): Remove unused #undef.
90655         (rpl_close): Remove unused local variable.
90657         * modules/sys_socket (Depends-on); Add errno.
90659 2008-10-05  Bruno Haible  <bruno@clisp.org>
90661         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
90662         (select): Add a link warning when the 'select' module is not used.
90663         * modules/sys_select (Depends-on): Add link-warning.
90664         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
90665         Suggested by Paolo Bonzini.
90667 2008-10-05  Jim Meyering  <meyering@redhat.com>
90669         bootstrap: check for LT_INIT more portably
90670         * build-aux/bootstrap: Avoid using grep -E, since it's not
90671         portable enough.  Suggestion from Bruno Haible.
90673 2008-10-05  Bruno Haible  <bruno@clisp.org>
90675         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
90676         as being fixed by gnulib.
90678 2008-10-05  Bruno Haible  <bruno@clisp.org>
90680         * modules/select-tests: New file, mostly copied from
90681         modules/sys_select-tests.
90682         * tests/test-select.c: New file, mostly copied from
90683         tests/test-sys_select.c.
90684         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
90685         * modules/sys_select-tests (Depends-on): Remove all dependencies.
90686         (Makefile.am): Remove test_sys_select_LDADD.
90688         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
90689         to an undefined symbol, for an error message.
90690         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
90691         (gl_SYS_SELECT_H_DEFAULTS): New macro.
90692         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
90693         winsock-select.c here.
90694         * modules/sys_select (Files): Remove lib/winsock-select.c.
90695         (Depends-on): Remove alloca.
90696         (Makefile.am): Substitute GNULIB_SELECT.
90697         * modules/select: New file.
90698         * doc/posix-functions/select.texi: Update.
90700 2008-10-05  Bruno Haible  <bruno@clisp.org>
90702         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
90703         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
90704         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
90705         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
90706         getdtablesize.
90707         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
90708         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
90710 2008-10-05  Bruno Haible  <bruno@clisp.org>
90712         * modules/getdtablesize-tests: New file.
90713         * tests/test-getdtablesize.c: New file.
90715         New module 'getdtablesize'.
90716         * lib/unistd.in.h (getdtablesize): New declaration.
90717         * lib/getdtablesize.c: New file.
90718         * m4/getdtablesize.m4: New file.
90719         * modules/getdtablesize: New file.
90720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90721         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
90722         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
90723         HAVE_GETDTABLESIZE.
90724         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
90726 2008-10-05  Bruno Haible  <bruno@clisp.org>
90728         * modules/sched (Makefile.am): Fix typo.
90729         Reported by Simon Josefsson.
90731 2008-10-05  Jim Meyering  <meyering@redhat.com>
90733         bootstrap: check for LT_INIT, too
90734         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
90735         are deprecated.  Suggestion from Ralf Wildenhues.
90737 2008-10-05  Bruno Haible  <bruno@clisp.org>
90739         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
90740         overriding them by ours.
90741         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
90743 2008-10-05  Jim Meyering  <meyering@redhat.com>
90745         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
90746         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
90747         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
90749 2008-10-04  Bruno Haible  <bruno@clisp.org>
90751         * modules/dup2 (License): Change to LGPLv2+.
90752         * modules/sleep (License): Likewise.
90753         * modules/perror (License): Likewise.
90754         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
90755         Blake.
90756         * modules/signal (License): Likewise.
90757         * modules/sigprocmask (License): Likewise.
90758         * modules/raise (License): Change to LGPLv2+, with approval by Jim
90759         Meyering.
90761 2008-10-04  Bruno Haible  <bruno@clisp.org>
90763         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
90764         Reported by Rainer Tammer <tammer@tammer.net>.
90766 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
90767             Bruno Haible  <bruno@clisp.org>
90769         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
90770         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
90771         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
90773 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
90775         filevercmp: new module
90776         * lib/filevercmp.h: New function filevercmp comparing version strings.
90777         * lib/filevercmp.c: Implementation of filevercmp function.
90778         * modules/filevercmp: Module metadata.
90779         * tests/test-filevercmp.c: Unit test for new module.
90780         * modules/filevercmp-tests: Unit test metadata.
90781         * MODULES.html.sh: Add filevercmp module.
90783 2008-10-03  Bruno Haible  <bruno@clisp.org>
90785         * lib/c-ctype.h: Add comment.
90786         Reported by Jim Meyering.
90788 2008-10-02  Bruno Haible  <bruno@clisp.org>
90790         * modules/posix_spawn-internal (Depends-on): Add 'open'.
90792 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90794         * build-aux/bootstrap: Allow renaming bootstrap, and change the
90795         name of bootstrap.conf accordingly.
90797 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90799         * build-aux/bootstrap: Install git-merge-changelog configuration
90800         items into .gitconfig if needed.
90802 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90804         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
90805         git repository, and initialize/update it accordingly.
90807 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
90809         * modules/fsync-tests: New file.
90810         * tests/test-fsync.c: New file.
90812         New module 'fsync'.
90813         * lib/fsync.c: New file.
90814         * m4/fsync.m4: New file.
90815         * modules/fsync: New file.
90816         * lib/unistd.in.h (fsync): New declaration.
90817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
90818         GNULIB_FSYNC and HAVE_FSYNC.
90819         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
90820         * MODULES.html.sh (posix_functions): Add fsync.
90821         * doc/posix-functions/fsync.texi: Mention the new module.
90823 2008-10-02  Jim Meyering  <meyering@redhat.com>
90825         fts.c: sync with similar code from coreutils' remove.c
90826         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
90827         Guard also with "#if defined __linux__", since for now at least,
90828         this code is Linux-kernel-specific.
90830 2008-10-02  Jim Meyering  <meyering@redhat.com>
90832         fts: bug fixes
90833         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
90834         Include <sys/vfs.h>, not <sys/statfs.h>.
90836         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
90837         Include <sys/vfs.h>, not <sys/statfs.h>.
90839 2008-10-01  Bruno Haible  <bruno@clisp.org>
90841         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
90842         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
90843         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
90844         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
90845         * doc/posix-functions/posix_spawnp.texi: Likewise.
90846         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
90847         whether posix_spawn actually works.
90848         * m4/pipe.m4 (gl_PIPE): Likewise.
90849         * modules/execute (Files): Add m4/posix_spawn.m4.
90850         * modules/pipe (Files): Add m4/posix_spawn.m4.
90851         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
90853 2008-10-01  Jim Meyering  <meyering@redhat.com>
90855         remove trailing spaces
90856         * NEWS: Likewise.
90857         * lib/poll.c (poll): Likewise.
90858         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
90859         * lib/winsock.c (rpl_close): Likewise.
90860         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
90861         * modules/yield: Likewise.
90862         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
90863         * tests/test-sys_select.c (connect_to_socket): Likewise.
90865         fts.c: adjust a new interface to be more generally useful
90866         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
90867         (fts_build): Adjust caller.
90869 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90871         * modules/cond-tests: New file.
90872         * tests/test-cond.c: New file.
90874 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90875             Bruno Haible  <bruno@clisp.org>
90877         * modules/cond (Dependencies): Add errno, time.
90878         * lib/glthread/cond.h: Include <time.h>.
90879         (gl_cond_define, gl_cond_define_initialized): Use the same definition
90880         across platforms.
90882 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90883             Bruno Haible  <bruno@clisp.org>
90885         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
90887 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90888             Bruno Haible  <bruno@clisp.org>
90890         * modules/tls-tests (Depends-on): Add thread, yield.
90891         (configure.ac): Remove all checks.
90892         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
90893         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90894         gl_thread_self): Remove definitions. Include glthread/thread.h and
90895         glthread/yield.h instead.
90896         (test_tls): Pass an additional NULL argument to gl_thread_join.
90898 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90899             Bruno Haible  <bruno@clisp.org>
90901         * modules/lock-tests (Depends-on): Add thread, yield.
90902         (configure.ac): Remove all checks.
90903         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
90904         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90905         gl_thread_self): Remove definitions. Include glthread/thread.h and
90906         glthread/yield.h instead.
90907         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
90908         additional NULL argument to gl_thread_join.
90910 2008-09-30  Bruno Haible  <bruno@clisp.org>
90912         Fix the Win32 implementation of the 'thread' module.
90913         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
90914         pointer type.
90915         (gl_thread_self): Invoke gl_thread_self_func.
90916         (gl_thread_self_func): New declaration.
90917         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
90918         (do_init_self_key, init_self_key): New functions.
90919         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
90920         Remove some fields.
90921         (running_threads, running_lock): Remove variables.
90922         (get_current_thread_handle): New function.
90923         (gl_thread_self_func, wrapper_func, glthread_create_func,
90924         glthread_join_func, gl_thread_exit_func): Largely rewritten and
90925         simplified.
90927 2008-09-30  Bruno Haible  <bruno@clisp.org>
90929         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
90930         files.
90932 2008-09-30  Jim Meyering  <meyering@redhat.com>
90934         fts.m4: correct the test for statfs.f_type
90935         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
90936         when checking for statfs.f_type.
90938 2008-09-15  Simon Josefsson  <simon@josefsson.org>
90940         tests: avoid some compiler warnings
90941         * tests/test-memchr.c (main): Pass NULL indirectly.
90942         * tests/test-getdate.c (main): Remove unused variable 'ret'.
90944 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
90946         getdate.y: disallow countable dayshifts like "4 yesterday ago"
90947         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
90948         exactly specified dayshifts.
90949         (dayshift): New rule.
90950         (rel): Add dayshift.
90951         (relative_time_table) [tomorrow, yesterday, today, now]:
90952         Use tDAY_SHIFT in place of tDAY_UNIT.
90953         * tests/test-getdate.c: Add tests for now-disallowed countable
90954         dayshifts, e.g., "4 yesterday ago".
90956 2008-09-29  Bruno Haible  <bruno@clisp.org>
90958         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
90959         * tests/test-posix_spawn1.in.sh: Renamed from
90960         tests/test-posix_spawn.in.sh.
90961         * tests/test-posix_spawn2.c: New file.
90962         * tests/test-posix_spawn2.in.sh: New file.
90963         * modules/posix_spawnp-tests (Files): Update.
90964         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
90966 2008-09-29  Bruno Haible  <bruno@clisp.org>
90968         Propagate effects of putenv/setenv/unsetenv to child processes.
90969         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
90970         * lib/pipe.c (create_pipe): Likewise.
90972 2008-09-29  Bruno Haible  <bruno@clisp.org>
90974         Enable use of shell scripts as executables in mingw.
90975         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
90976         run the program as a shell script.
90977         * lib/pipe.c (create_pipe): Likewise.
90978         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
90979         resulting array.
90981 2008-09-29  Eric Blake  <ebb9@byu.net>
90983         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
90985 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
90987         * doc/posix-functions/accept.texi: Update mingw problems.
90988         * doc/posix-functions/bind.texi: Update mingw problems.
90989         * doc/posix-functions/close.texi: Update mingw problems.
90990         * doc/posix-functions/connect.texi: Update mingw problems.
90991         * doc/posix-functions/getpeername.texi: Update mingw problems.
90992         * doc/posix-functions/getsockname.texi: Update mingw problems.
90993         * doc/posix-functions/getsockopt.texi: Update mingw problems.
90994         * doc/posix-functions/ioctl.texi: Update mingw problems.
90995         * doc/posix-functions/listen.texi: Update mingw problems.
90996         * doc/posix-functions/recv.texi: Update mingw problems.
90997         * doc/posix-functions/recvfrom.texi: Update mingw problems.
90998         * doc/posix-functions/select.texi: Update mingw problems.
90999         * doc/posix-functions/send.texi: Update mingw problems.
91000         * doc/posix-functions/sendto.texi: Update mingw problems.
91001         * doc/posix-functions/setsockopt.texi: Update mingw problems.
91002         * doc/posix-functions/socket.texi: Update mingw problems.
91004 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
91005             Bruno Haible  <bruno@clisp.org>
91007         * lib/sys_select.in.h: Include sys/time.h.
91008         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
91009         * modules/sys_select: Depend on sys_time.
91010         * tests/test-sys_select.c: Test that sys/select.h defines struct
91011         timeval fully.
91013 2008-09-29  Bruno Haible  <bruno@clisp.org>
91015         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
91016         * lib/sys_select.in.h: Likewise.
91018 2008-09-29  Bruno Haible  <bruno@clisp.org>
91020         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
91022 2008-09-29  Bruno Haible  <bruno@clisp.org>
91024         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
91025         Set LIBSOCKET instead of augmenting LIBS.
91026         * modules/sockets (Link): New section.
91027         * modules/sockets-tests (test_sockets_LDADD): New variable.
91028         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
91029         * modules/poll-tests (test_poll_LDADD): New variable.
91030         * NEWS: Document the change.
91032 2008-09-29  Bruno Haible  <bruno@clisp.org>
91034         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
91035         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
91036         ARPA_INET_H directly.
91037         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
91039 2008-09-28  Bruno Haible  <bruno@clisp.org>
91041         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
91042         from gl_HEADER_SYS_SOCKET.
91043         (gl_HEADER_SYS_SOCKET): Invoke it.
91044         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
91046 2008-09-28  Bruno Haible  <bruno@clisp.org>
91048         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
91049         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
91050         Needed on OSF/1 4.0.
91052 2008-09-28  Bruno Haible  <bruno@clisp.org>
91054         Override open more carefully.
91055         * lib/open.c (orig_open): New function.
91056         (rpl_open): Use orig_open instead of open.
91057         * lib/fcntl.in.h: Add special invocation convention.
91058         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
91059         (gl_FUNC_OPEN): Invoke it.
91061         Override freopen more carefully.
91062         * lib/freopen.c (orig_freopen): New function.
91063         (rpl_freopen): Use orig_freopen instead of freopen.
91064         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
91065         (gl_FUNC_FREOPEN): Invoke it.
91067         Override fopen more carefully.
91068         * lib/fopen.c (orig_fopen): New function.
91069         (rpl_fopen): Use orig_fopen instead of fopen.
91070         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
91071         (gl_FUNC_FOPEN): Invoke it.
91072         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
91074 2008-09-28  Bruno Haible  <bruno@clisp.org>
91076         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
91077         SIGPIPE.
91079 2008-09-28  Bruno Haible  <bruno@clisp.org>
91081         * tests/test-sigaction.c (handler, main): Disable the check whether
91082         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
91083         glibc systems with LinuxThreads.
91085 2008-09-28  Bruno Haible  <bruno@clisp.org>
91087         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
91089         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
91090         with AIX xlc.
91091         * lib/fcntl.in.h (open): Likewise.
91092         Reported by Rainer Tammer <tammer@tammer.net>.
91094 2008-09-28  Bruno Haible  <bruno@clisp.org>
91096         * modules/posix_spawnp-tests: New file.
91097         * tests/test-posix_spawn.c: New file.
91098         * tests/test-posix_spawn.in.sh: New file.
91100         New module 'posix_spawnp'.
91101         * modules/posix_spawnp: New file.
91102         * lib/spawnp.c: New file, from GNU libc with modifications.
91103         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
91105         New module 'posix_spawn'.
91106         * modules/posix_spawn: New file.
91107         * lib/spawn.c: New file, from GNU libc with modifications.
91108         * doc/posix-functions/posix_spawn.texi: Mention the new module.
91110         New module 'posix_spawnattr_destroy'.
91111         * modules/posix_spawnattr_destroy: New file.
91112         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
91113         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
91114         module.
91116         New module 'posix_spawnattr_setsigmask'.
91117         * modules/posix_spawnattr_setsigmask: New file.
91118         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
91119         modifications.
91120         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
91121         new module.
91123         New module 'posix_spawnattr_getsigmask'.
91124         * modules/posix_spawnattr_getsigmask: New file.
91125         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
91126         modifications.
91127         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
91128         new module.
91130         New module 'posix_spawnattr_setsigdefault'.
91131         * modules/posix_spawnattr_setsigdefault: New file.
91132         * lib/spawnattr_setdefault.c: New file, from GNU libc with
91133         modifications.
91134         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
91135         new module.
91137         New module 'posix_spawnattr_getsigdefault'.
91138         * modules/posix_spawnattr_getsigdefault: New file.
91139         * lib/spawnattr_getdefault.c: New file, from GNU libc with
91140         modifications.
91141         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
91142         new module.
91144         New module 'posix_spawnattr_setschedpolicy'.
91145         * modules/posix_spawnattr_setschedpolicy: New file.
91146         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
91147         modifications.
91148         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
91149         new module.
91151         New module 'posix_spawnattr_getschedpolicy'.
91152         * modules/posix_spawnattr_getschedpolicy: New file.
91153         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
91154         modifications.
91155         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
91156         new module.
91158         New module 'posix_spawnattr_setschedparam'.
91159         * modules/posix_spawnattr_setschedparam: New file.
91160         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
91161         modifications.
91162         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
91163         new module.
91165         New module 'posix_spawnattr_getschedparam'.
91166         * modules/posix_spawnattr_getschedparam: New file.
91167         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
91168         modifications.
91169         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
91170         new module.
91172         New module 'posix_spawnattr_setpgroup'.
91173         * modules/posix_spawnattr_setpgroup: New file.
91174         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
91175         modifications.
91176         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
91177         module.
91179         New module 'posix_spawnattr_getpgroup'.
91180         * modules/posix_spawnattr_getpgroup: New file.
91181         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
91182         modifications.
91183         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
91184         module.
91186         New module 'posix_spawnattr_setflags'.
91187         * modules/posix_spawnattr_setflags: New file.
91188         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
91189         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
91190         module.
91192         New module 'posix_spawnattr_getflags'.
91193         * modules/posix_spawnattr_getflags: New file.
91194         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
91195         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
91196         module.
91198         New module 'posix_spawnattr_init'.
91199         * modules/posix_spawnattr_init: New file.
91200         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
91201         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
91202         module.
91204         New module 'posix_spawn_file_actions_destroy'.
91205         * modules/posix_spawn_file_actions_destroy: New file.
91206         * lib/spawn_faction_destroy.c: New file, from GNU libc with
91207         modifications.
91208         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
91209         the new module.
91211         New module 'posix_spawn_file_actions_addopen'.
91212         * modules/posix_spawn_file_actions_addopen: New file.
91213         * lib/spawn_faction_addopen.c: New file, from GNU libc with
91214         modifications.
91215         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
91216         the new module.
91218         New module 'posix_spawn_file_actions_adddup2'.
91219         * modules/posix_spawn_file_actions_adddup2: New file.
91220         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
91221         modifications.
91222         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
91223         the new module.
91225         New module 'posix_spawn_file_actions_addclose'.
91226         * modules/posix_spawn_file_actions_addclose: New file.
91227         * lib/spawn_faction_addclose.c: New file, from GNU libc with
91228         modifications.
91229         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
91230         the new module.
91232         New module 'posix_spawn_file_actions_init'.
91233         * modules/posix_spawn_file_actions_init: New file.
91234         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
91235         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
91236         new module.
91238         New module 'posix_spawn-internal'.
91239         * modules/posix_spawn-internal: New file.
91240         * lib/spawn_int.h: New file, from GNU libc with modifications.
91241         * lib/spawni.c: New file, from GNU libc with modifications.
91242         * m4/posix_spawn.m4: New file.
91244         New module 'spawn'.
91245         * modules/spawn: New file.
91246         * lib/spawn.in.h: New file, from GNU libc with modifications.
91247         * m4/spawn_h.m4: New file.
91248         * doc/posix-headers/spawn.texi: Mention the new module.
91250 2008-09-28  Bruno Haible  <bruno@clisp.org>
91252         * modules/sched-tests: New file.
91253         * tests/test-sched.c: New file.
91255         New module 'sched'.
91256         * modules/sched: New file.
91257         * lib/sched.in.h: New file.
91258         * m4/sched_h.m4: New file.
91259         * doc/posix-headers/sched.texi: Mention the new module.
91261 2008-09-27  Eric Blake  <ebb9@byu.net>
91263         Fix previous patch, and tweak references to $0.
91264         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
91265         (func_version, func_gnulib_dir): Don't call this program
91266         gnulib-tool.
91267         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
91268         with using $0 in function.
91269         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
91270         (func_fatal_error): Reuse the name the user invoked us with.
91272 2008-09-27  Bruno Haible  <bruno@clisp.org>
91274         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
91275         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
91276         (gl_ICONV_H): Not here.
91277         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
91278         instead of assigning ICONV_H directly.
91280         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
91281         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
91282         WCHAR_H directly.
91284 2008-09-27  Bruno Haible  <bruno@clisp.org>
91286         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
91287         * modules/arpa_inet (Depends-on): Add link-warning.
91288         (Makefile.am): Insert the definition of GL_LINK-WARNING.
91289         * modules/unistd (Makefile.am): Likewise.
91291 2008-09-26  Bruno Haible  <bruno@clisp.org>
91293         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
91294         variables.
91295         (func_version): Essentially copied from gnulib-tool.
91296         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
91297         func_readlink): Copied from gnulib-tool.
91299 2008-09-26  Bruno Haible  <bruno@clisp.org>
91301         * gnulib-tool (func_version): Change directory to $gnulib_dir before
91302         invoking git-version-gen.
91304 2008-09-26  Bruno Haible  <bruno@clisp.org>
91306         * posix-modules: Update to directory names changed on 2008-01-19.
91307         Remove commas in output before splitting into words. No more need to
91308         avoid 'ftruncate' since 2007-02-19.
91310 2008-09-26  Bruno Haible  <bruno@clisp.org>
91312         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
91314 2008-09-26  Bruno Haible  <bruno@clisp.org>
91316         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
91317         * modules/fwriteerror (Depends-on): Add errno.
91319 2008-09-26  Bruno Haible  <bruno@clisp.org>
91321         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
91322         * tests/test-vc-list-files-cvs.sh: Likewise.
91324 2008-09-26  Bruno Haible  <bruno@clisp.org>
91326         * doc/posix-headers/sys_resource.texi: Reorder items.
91328 2008-09-26  Jim Meyering  <meyering@redhat.com>
91330         fts: tweak inode comparison function
91331         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
91332         inode numbers, as documented.
91334         fts: sort dirent entries on inode number before traversing
91335         This avoids a quadratic, seek-related performance penalty when
91336         operating on a directory containing many entries (measurable at 10k;
91337         3.5 hours at 2 million entries with a cold cache) on certain types
91338         of file systems, including ext3 and ext4, but not tmpfs.
91339         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
91340         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
91341         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
91342         (fs_handles_readdir_ordered_dirents_efficiently): New function.
91343         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
91344         (fts_build): Set the stat.st_ino member from D_INO.
91345         If it is likely to be useful, sort dirent entries on inode number.
91347         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
91348         and the struct statfs.f_type member.
91349         * modules/fts (Depends-on): Add d-ino.
91351 2008-09-26  Bruno Haible  <bruno@clisp.org>
91353         * modules/sigpipe-die (Depends-on): Add sigpipe.
91355         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
91356         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
91357         and GNULIB_STDIO_H_SIGPIPE are set.
91358         * lib/stdio-write.c: New file.
91359         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
91360         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91361         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91362         REPLACE_STDIO_WRITE_FUNCS.
91363         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
91364         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91365         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91366         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91367         * modules/stdio (Files): Add lib/stdio-write.c.
91368         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
91369         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91370         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91371         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91372         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
91373         REPLACE_FPRINTF_POSIX.
91374         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
91375         REPLACE_PRINTF_POSIX.
91376         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
91377         REPLACE_VFPRINTF_POSIX.
91378         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
91379         REPLACE_VPRINTF_POSIX.
91380         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
91381         SIGPIPE issue.
91382         * doc/posix-functions/fputc.texi: Likewise.
91383         * doc/posix-functions/fputs.texi: Likewise.
91384         * doc/posix-functions/fwrite.texi: Likewise.
91385         * doc/posix-functions/printf.texi: Likewise.
91386         * doc/posix-functions/putc.texi: Likewise.
91387         * doc/posix-functions/putchar.texi: Likewise.
91388         * doc/posix-functions/puts.texi: Likewise.
91389         * doc/posix-functions/vfprintf.texi: Likewise.
91390         * doc/posix-functions/vprintf.texi: Likewise.
91392         * modules/safe-write (Depends-on): Add write.
91394         * modules/sigpipe-tests: New file.
91395         * tests/test-sigpipe.c: New file.
91396         * tests/test-sigpipe.sh: New file.
91398         * modules/write: New file.
91399         * lib/unistd.in.h: Include <sys/types.h>.
91400         (write): New declaration.
91401         * lib/write.c: New file.
91402         * m4/write.m4: New file.
91403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91404         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
91405         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
91406         GNULIB_WRITE, REPLACE_WRITE.
91407         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
91408         and the SIGPIPE issue.
91410         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
91411         (raise): New declaration.
91412         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
91413         (ext_signal): New function.
91414         (rpl_raise): New function.
91415         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
91416         GNULIB_SIGNAL_H_SIGPIPE.
91417         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
91418         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
91420         * modules/sigpipe: New file.
91421         * m4/sigpipe.m4: New file.
91423 2008-09-25  Derek Price  <derek@ximbiot.com>
91424             Bruno Haible  <bruno@clisp.org>
91426         * gnulib-tool (func_import): Report all license incompatibilities, not
91427         just the first one.
91429 2008-09-25  Bruno Haible  <bruno@clisp.org>
91431         * gnulib-tool (func_import): When computing the edits, consider not
91432         only the Makefile.ams that exist but also those that will be generated.
91434 2008-09-25  Simon Josefsson  <simon@josefsson.org>
91436         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
91437         fixes gnulib-tool --test warning about duplicate dependency.
91439 2008-09-25  Bruno Haible  <bruno@clisp.org>
91441         * gnulib-tool: Don't ask the user to perform edits in the generated
91442         Makefile.ams.
91443         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
91444         apply to the Makefile.am being generated.
91445         (func_emit_tests_Makefile_am): Execute edits that apply to the
91446         Makefile.am being generated.
91447         (func_import): Setup list of Makefile.am edits before emitting the
91448         Makefile.ams, not at the end.
91449         (func_create_testdir): Update.
91450         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91452 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91454         * gnulib-tool (func_import): Store the --tests-base option in the
91455         comment in gnulib-cache.m4.
91457 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
91459         * NEWS: Document increased portability that sys_select now provides.
91461         * lib/sys_select.in.h: Install select wrapper.
91462         * lib/sys_socket.in.h: Use more descriptive name when there is no
91463         select wrapper.
91464         * lib/winsock-select.c: New.
91465         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
91466         Require gl_HEADER_SYS_SOCKET.
91467         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
91468         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
91469         * tests/test-sys_select.c: Add functional tests.
91471 2008-09-24  Eric Blake  <ebb9@byu.net>
91473         open, fopen: close fd leak in last patch
91474         * lib/open.c (rpl_open): Close fd before returning error.
91475         * lib/fopen.c (rpl_fopen): Close fd before returning error.
91476         * doc/posix-functions/open.texi (open): Document that Irix also
91477         has the bug.
91478         * doc/posix-functions/fopen.texi (fopen): Likewise.
91479         Reported by Paolo Bonzini.
91481 2008-09-24  Bruno Haible  <bruno@clisp.org>
91483         Ensure that a filename ending in a slash cannot be used to access a
91484         non-directory.
91485         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
91486         to check whether it's really a directory.
91487         * lib/fopen.c: Include fcntl.h, unistd.h.
91488         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
91489         and fdopen().
91490         * modules/fopen (Depends-on): Add unistd.
91491         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
91492         * tests/test-fopen.c (main): Likewise.
91493         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
91494         * doc/posix-functions/fopen.texi: Likewise.
91495         Reported by Eric Blake.
91497 2008-09-23  Eric Blake  <ebb9@byu.net>
91499         c-stack: avoid compiler optimizations when provoking overflow
91500         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
91501         recursion harder to optimize, to ensure a stack overflow occurs.
91502         * tests/test-c-stack.c (recurse): Likewise.
91503         Borrowed from libsigsegv.
91505         c-stack: work around Irix sigaltstack bug
91506         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
91507         whether sigaltstack uses wrong end of stack_t (copied in part from
91508         libsigsegv).
91509         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
91510         Irix bug, without requiring an over-allocation.
91511         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
91512         bug.
91514         fopen: document mingw bug on directories
91515         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
91516         not allowing a stream visiting a directory, even though reading
91517         from such a stream is not portable.
91519 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91521         * lib/poll.c: Rewrite.
91522         * modules/poll: Depend on alloca.
91524 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91526         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
91527         instead define prototypes for a full set of wrappers.  Ensure
91528         that Cygwin does not use the compatibility code, which is only
91529         for MinGW.
91530         * lib/winsock.c: New.
91531         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
91532         * modules/sys_socket: Add lib/winsock.c.
91534         * modules/poll-tests: Add errno and perror.
91535         * tests/test-poll.c: Use ioctl, not ioctlsocket.
91537 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91539         * tests/test-poll.c: Downgrade minimum needed Winsock version.
91541 2008-09-23  Bruno Haible  <bruno@clisp.org>
91543         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
91544         * doc/glibc-functions/*: Likewise.
91546 2008-09-23  Simon Josefsson  <simon@josefsson.org>
91548         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
91549         success.
91551 2008-09-22  Eric Blake  <ebb9@byu.net>
91552             Bruno Haible  <bruno@clisp.org>
91554         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
91555         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
91556         supply %A but mishandle pseudo-NaN.
91557         Reported by Simon Josefsson.
91559 2008-09-21  Bruno Haible  <bruno@clisp.org>
91561         * tests/test-lock.c (main): Tweak skip message.
91562         * tests/test-tls.c (main): Likewise.
91564 2008-09-21  Bruno Haible  <bruno@clisp.org>
91566         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
91567         whether 'struct sigaction' has sa_sigaction here...
91568         (gl_PREREQ_SIG_HANDLER_H): ... not here.
91569         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
91571 2008-09-21  Bruno Haible  <bruno@clisp.org>
91573         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
91574         section.
91575         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
91576         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
91577         the new section.
91578         (Support for obsolete systems lacking POSIX:2001): New section.
91579         (String handling <string.h>): Move strdup to the new section.
91580         Suggested by Simon Josefsson and Paolo Bonzini.
91582 2008-09-21  Bruno Haible  <bruno@clisp.org>
91584         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
91585         exponents in %e and %g results on 'long double'. Needed for mingw's
91586         improved *printf functions.
91587         * tests/test-vasprintf-posix.c (test_function): Likewise.
91588         * tests/test-snprintf-posix.h (test_function): Likewise.
91589         * tests/test-sprintf-posix.h (test_function): Likewise.
91590         Reported by Eric Blake.
91592 2008-09-21  Bruno Haible  <bruno@clisp.org>
91594         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
91595         * tests/test-sprintf-posix.h (test_function): Likewise.
91597 2008-09-21  Bruno Haible  <bruno@clisp.org>
91599         * modules/getpass (Depends-on): Add strdup-posix.
91601         New module 'strdup-posix'.
91602         * modules/strdup-posix: New file.
91603         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
91604         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
91605         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91606         REPLACE_STRDUP.
91607         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
91608         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
91609         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91610         strdup-posix.
91612         * modules/strdup (Depends-on): Remove malloc-posix.
91614 2008-09-20  Bruno Haible  <bruno@clisp.org>
91616         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
91617         Wildenhues.
91619 2008-09-20  Bruno Haible  <bruno@clisp.org>
91621         Ensure that wint_t gets defined on IRIX 5.3.
91622         * lib/wchar.in.h (wint_t): Define if not defined by the system.
91623         * lib/wctype.in.h (wint_t): Likewise.
91624         (__wctype_wint_t): Remove type.
91625         (isw*): Use wint_t instead of __wctype_wint_t.
91626         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
91627         * modules/wchar (Files): Add m4/wint_t.m4.
91628         (Makefile.am): Substitute HAVE_WINT_T.
91629         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
91630         * tests/test-wctype.c: Check that wint_t is defined.
91631         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
91632         * doc/posix-headers/wctype.texi: Likewise.
91633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
91635 2008-09-18  Bruno Haible  <bruno@clisp.org>
91637         * gnulib-tool (func_exit): Update comment.
91639 2008-09-18  Simon Josefsson  <simon@josefsson.org>
91641         * modules/getaddrinfo (Depends-on): Remove strdup, this module
91642         assumes strdup exists and does not depend on strdup to return
91643         ENOMEM on out of memory conditions.
91645 2008-09-18  Bruno Haible  <bruno@clisp.org>
91647         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
91648         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
91649         digits for the exponent.
91651 2008-09-18  Jim Meyering  <meyering@redhat.com>
91652             Bruno Haible  <bruno@clisp.org>
91654         * lib/vasnprintf.c (decimal_point_char): Define also if
91655         NEED_PRINTF_INFINITE_LONG_DOUBLE.
91657 2008-09-16  Bruno Haible  <bruno@clisp.org>
91658         and Eric Blake  <ebb9@byu.net>
91660         vasnprintf: support Irix 5.3
91661         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
91662         that mishandle long double infinity.
91663         Reported by Tom G. Christensen.
91665 2008-09-16  Bruno Haible  <bruno@clisp.org>
91667         * doc/glibc-functions/scandir.texi: Mention the function is missing on
91668         Solaris 9.
91669         * doc/glibc-functions/alphasort.texi: Likewise.
91670         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
91672 2008-09-16  Jim Meyering  <meyering@redhat.com>
91674         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
91675         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
91676         a umask modification leak out of a subshell.  Otherwise, the
91677         opensolaris /bin/sh would be accepted and thus cause unwarranted
91678         failures in the coreutils test suite.
91680 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
91682         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
91683         to succeed.
91685 2008-09-16  Jim Meyering  <meyering@redhat.com>
91687         avoid spurious test failure when library is built without ACL support
91688         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
91689         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
91690         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
91691         * tests/test-copy-acl.sh: Likewise.
91693 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91695         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
91696         based on character occurrence counts.
91698 2008-09-15  Eric Blake  <ebb9@byu.net>
91700         tests: avoid some compiler warnings
91701         * tests/test-memchr.c (main): Pass NULL indirectly.
91702         * tests/test-closein.c (main): Avoid unused variable.
91704 2008-09-15  Bruno Haible  <bruno@clisp.org>
91706         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
91707         are missing on OpenBSD 4.0 individually.
91708         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91710 2008-09-15  Bruno Haible  <bruno@clisp.org>
91712         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
91713         * doc/posix-functions/strerror.texi: Mention also Cygwin.
91714         * doc/posix-functions/perror.texi: Likewise.
91715         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
91716         is missing.
91717         Reported by Eric Blake.
91719         * lib/errno.in.h: Use replacement values >= 2000.
91720         Reported by Eric Blake.
91722 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91724         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
91725         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
91726         limit.
91727         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
91728         compareseq was aborted.
91730 2008-09-14  Bruno Haible  <bruno@clisp.org>
91732         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
91733         yvec_edit_count.
91734         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
91735         (fstrcmp_bounded): Simplify result computation accordingly.
91737 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91739         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
91740         (fstrcmp): Define in terms of fstrcmp_bounded.
91741         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
91742         lower_bound argument.
91743         Return quickly if the result is certainly < lower_bound.
91744         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
91746 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91748         * lib/diffseq.h (EARLY_ABORT): New macro.
91749         (compareseq): Change return type to bool. Return true when EARLY_ABORT
91750         evaluates to true.
91752 2008-09-14  Bruno Haible  <bruno@clisp.org>
91754         * modules/perror-tests: New file.
91755         * tests/test-perror.sh: New file.
91756         * tests/test-perror.c: New file.
91758         New module 'perror'.
91759         * lib/stdio.in.h (perror): New declaration.
91760         * lib/perror.c: New file.
91761         * m4/perror.m4: New file.
91762         * modules/perror: New file.
91763         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
91764         * doc/posix-functions/perror.texi: Mention the perror module.
91765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
91766         REPLACE_PERROR.
91767         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
91768         REPLACE_PERROR.
91770 2008-09-14  Bruno Haible  <bruno@clisp.org>
91772         * modules/stdio (Makefile.am): Reorder to match the order in
91773         lib/stdio.in.h.
91774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
91776 2008-09-13  Bruno Haible  <bruno@clisp.org>
91778         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
91780 2008-09-13  Bruno Haible  <bruno@clisp.org>
91782         Extend strerror to cover the added errno values.
91783         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
91784         (rpl_strerror): Provide error messages for the added errno values and
91785         for the WSA* values.
91786         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
91787         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
91788         strerror.
91789         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
91790         * modules/strerror (Depends-on): Add errno.
91791         * doc/posix-functions/strerror.texi: Document the change.
91792         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
91793         and EOVERFLOW.
91795 2008-09-13  Bruno Haible  <bruno@clisp.org>
91797         * modules/EOVERFLOW: Remove file.
91798         * m4/eoverflow.m4: Remove file.
91799         * modules/EOVERFLOW-tests: Remove file.
91800         * tests/test-EOVERFLOW.c: Remove file.
91801         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
91802         * modules/ftell (Depends-on): Likewise.
91803         * modules/getdelim (Depends-on): Likewise.
91804         * modules/getugroups (Depends-on): Likewise.
91805         * modules/poll (Depends-on): Likewise.
91806         * modules/snprintf (Depends-on): Likewise.
91807         * modules/sprintf-posix (Depends-on): Likewise.
91808         * modules/vasnprintf (Depends-on): Likewise.
91809         * modules/vasprintf (Depends-on): Likewise.
91810         * modules/vfprintf-posix (Depends-on): Likewise.
91811         * modules/vsnprintf (Depends-on): Likewise.
91812         * modules/vsprintf-posix (Depends-on): Likewise.
91813         * modules/xvasprintf (Depends-on): Likewise.
91814         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
91815         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
91816         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
91817         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
91818         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
91819         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
91820         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
91821         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
91822         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
91823         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
91824         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
91825         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
91826         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
91827         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
91828         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
91829         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
91830         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
91831         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
91832         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
91833         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
91834         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
91835         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
91836         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
91837         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
91838         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
91839         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
91840         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
91841         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
91842         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
91843         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
91844         * MODULES.html.sh: Remove EOVERFLOW.
91845         * NEWS: Mention the change.
91847 2008-09-13  Bruno Haible  <bruno@clisp.org>
91849         * modules/errno-tests: New file.
91850         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
91852         * lib/errno.in.h: New file.
91853         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
91854         * modules/errno: New file.
91855         * doc/posix-headers/errno.texi: Update documentation.
91856         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
91858 2008-09-13  Bruno Haible  <bruno@clisp.org>
91860         * tests/test-poll.c: Use #if for native Windows, rather than testing
91861         __MSVCRT__.
91863 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91864             Bruno Haible  <bruno@clisp.org>
91866         * lib/glob.c: Don't include <pwd.h> on native Windows.
91867         (WINDOWS32): New macro.
91868         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
91870 2008-09-13  Bruno Haible  <bruno@clisp.org>
91872         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
91873         (ETIMEDOUT): Remove macro.
91874         (glthread_cond_timedwait_multithreaded): New declaration.
91875         (glthread_cond_timedwait): Use it.
91876         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
91877         (glthread_cond_timedwait_multithreaded): New function.
91879 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91881         * modules/poll-tests: Do not check for io.h.
91882         * tests/test-poll.c: Check for __MSVCRT__ instead.
91884 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91886         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
91887         * modules/poll-tests: Add inet_pton, stdbool, sockets.
91888         * tests/test-poll.c: Use them.  Use _pipe on Windows.
91890 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91892         * modules/poll-tests: New.
91893         * tests/test-poll.c: New.
91895 2008-09-12  Eric Blake  <ebb9@byu.net>
91897         frexp: test for NetBSD failure on -0.0
91898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
91899         not all, bugs from NetBSD 3.0 have been fixed.
91900         * doc/posix-functions/frexp.texi (frexp): Document bug.
91901         Reported by Thomas Klausner.
91903         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
91904         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
91905         literal -0.0.
91906         Reported by Jonathan C. Patschke <jp@centtech.com>.
91908 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91910         * lib/glthread/cond.h: Use dummy implementation also if
91911         USE_WIN32_THREADS.
91913 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91915         * modules/fnmatch-posix (License): Change to LGPLv2+.
91916         * modules/fnmatch-gnu (License): Likewise.
91918 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91920         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
91922 2008-09-11  Jim Meyering  <meyering@redhat.com>
91924         * users.txt: Add gtk-vnc.
91926 2008-09-08  Simon Josefsson  <simon@josefsson.org>
91928         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
91929         rotate amounts.
91931         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
91932         required for 16-bit and 8-bit rotates.
91933         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
91934         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
91935         UINT8_MAX instead of hard-coded constants.
91936         Suggested by Paul Eggert.
91938 2008-09-07  Bruno Haible  <bruno@clisp.org>
91940         * tests/test-striconveh.c (main): Check behaviour when converting from
91941         UTF-7.
91943         Make striconveh work better with stateful encodings.
91944         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
91945         that iconv does not increment the inptr when returning -1/EINVAL.
91947 2008-09-07  Bruno Haible  <bruno@clisp.org>
91949         * build-aux/config.rpath: Update according to libtool-2.2.6.
91950         * build-aux/config.libpath: Likewise.
91952 2008-09-06  Bruno Haible  <bruno@clisp.org>
91954         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
91955         * lib/freadptr.c (freadptr): Likewise.
91956         * lib/freadseek.c (freadptrinc): Likewise.
91957         Reported by Simon Josefsson.
91959 2008-09-06  Bruno Haible  <bruno@clisp.org>
91961         * modules/freadptr (License): Change to LGPLv2+.
91962         * modules/freadseek (License): Likewise.
91963         Suggested by Eric Blake.
91965         * modules/memchr2 (License): Change to LGPLv2+.
91966         Approved by Eric Blake.
91968 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91969             Bruno Haible  <bruno@clisp.org>
91971         Make gnulib-tool work with native 'sed' on AIX.
91972         * gnulib-tool (sed_noop): New variable.
91973         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
91974         func_add_or_update, func_create_testdir): Use it to initialize sed
91975         script variables.
91976         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
91978 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
91979             Bruno Haible  <bruno@clisp.org>
91981         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
91982         also works after #include directives.
91984 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
91986         getdate.y: reject an out-of-range timezone value
91987         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
91988         the range [-24...+24].  When specified with only one or two digits,
91989         * tests/test-getdate.c: Tests for the fix.
91990         * doc/getdate.texi: Document this change.
91992 2008-09-03  Bruno Haible  <bruno@clisp.org>
91994         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
91996 2008-09-02  Simon Josefsson  <simon@josefsson.org>
91998         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
91999         <bruce.korb@gmail.com> with ideas from Ben Pfaff
92000         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
92001         Blake <ebb9@byu.net>.
92003         * tests/test-bitrotate.c: Add more test vectors.
92005 2008-09-02  Eric Blake  <ebb9@byu.net>
92007         vasnprintf-posix: handle large precision via %.*d
92008         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
92009         when handling it ourselves.
92010         * tests/test-vasnprintf-posix.c (test_function): Add test.
92011         * tests/test-snprintf-posix.h (test_function): Likewise.
92012         * tests/test-sprintf-posix.h (test_function): Likewise.
92013         * tests/test-vasprintf-posix.c (test_function): Likewise.
92014         Reported by Alain Guibert.
92016 2008-09-01  Eric Blake  <ebb9@byu.net>
92018         c-stack: make configure-time check more robust
92019         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
92020         successful sigaction call.
92021         Reported by Tom G. Christensen.
92023 2008-09-01  Bruno Haible  <bruno@clisp.org>
92025         New module 'findprog-lgpl'.
92026         * modules/findprog-lgpl: New file.
92027         * lib/findprog-lgpl.c: New file.
92028         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
92029         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
92030         to decide whether to use strdup or xstrdup, concatenated_filename or
92031         xconcatenated_filename.
92033 2008-09-01  Bruno Haible  <bruno@clisp.org>
92035         Split module 'concat-filename' into 'concat-filename' (LGPL) and
92036         'xconcat-filename' (GPL).
92037         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
92038         (License): Change to LGPLv2+.
92039         * modules/xconcat-filename: New file.
92040         * lib/concat-filename.h (concatenated_filename): Change specification.
92041         (xconcatenated_filename): New declaration.
92042         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
92043         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
92044         memory situations.
92045         * lib/xconcat-filename.c: New file.
92046         * NEWS: Mention the change.
92047         * lib/findprog.c: Include concat-filename.h, not filename.h.
92048         (find_in_path): Use xconcatenated_filename instead of
92049         concatenated_filename.
92050         * lib/javacomp.c: Include concat-filename.h, not filename.h.
92051         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
92052         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
92053         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
92054         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
92055         instead of concatenated_filename.
92056         * lib/javaexec.c: Include concat-filename.h, not filename.h.
92057         (execute_java_class): Use xconcatenated_filename instead of
92058         concatenated_filename.
92059         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
92060         * modules/javacomp (Depends-on): Likewise.
92061         * modules/javaexec (Depends-on): Likewise.
92063 2008-09-01  Bruno Haible  <bruno@clisp.org>
92065         Split module 'filename' into 'filename' and 'concat-filename'.
92066         * modules/filename: Keep only lib/filename.h.
92067         (License): Change to LGPLv2+.
92068         * modules/concat-filename: New file, extracted from modules/filename.
92069         * lib/filename.h (concatenated_filename): Remove declaration.
92070         * lib/concat-filename.h: New file, extracted from lib/filename.h.
92071         * lib/concat-filename.c: Include concat-filename.h.
92072         * NEWS: Mention the change.
92074 2008-09-01  Simon Josefsson  <simon@josefsson.org>
92076         * lib/bitrotate.h (rotl8, rotr8): Add.
92078         * modules/bitrotate (configure.ac): Need
92079         AC_REQUIRE([AC_C_INLINE]).
92080         (Description): Mention stdint.h.  Reported by Bruno Haible
92081         <bruno@clisp.org>.
92083         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
92084         Paolo Bonzini <bonzini@gnu.org>.
92086 2008-08-31  Bruno Haible  <bruno@clisp.org>
92088         Assume Solaris specific bi-arch conventions on Solaris systems.
92089         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
92090         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
92091         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
92092         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
92093         like acl_libdirstem.
92094         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
92095         acl_libdirstem.
92096         * NEWS: Mention the change.
92097         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
92099 2008-08-31  Jim Meyering  <meyering@redhat.com>
92101         * lib/strftime.h: Add comments describing the two added arguments.
92103         remove duplicate #include directives
92104         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
92105         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
92107 2008-08-31  Bruno Haible  <bruno@clisp.org>
92109         New module 'sigpipe-die'.
92110         * modules/sigpipe-die: New file.
92111         * lib/sigpipe-die.h: New file.
92112         * lib/sigpipe-die.c: New file.
92113         * MODULES.html.sh (Signal handling): Add sigpipe-die.
92115 2008-08-31  Bruno Haible  <bruno@clisp.org>
92117         Don't override previously installed signal handlers.
92118         * lib/fatal-signal.c (saved_sigactions): New variable.
92119         (uninstall_handlers): Reset the signal to the saved handler, not
92120         to SIG_DFL (except when ignored).
92121         (install_handlers): Save the previous handlers.
92123 2008-08-30  Bruno Haible  <bruno@clisp.org>
92125         * gnulib-tool (func_reset_sigpipe): New function.
92126         (func_get_automake_snippet, func_modules_transitive_closure,
92127         func_import): Invoke it before a join command that reads from stdin,
92128         to avoid "echo: write error: Broken pipe" error messages on stderr.
92129         Reported by Sam Steingold <sds@gnu.org>.
92131 2008-08-30  Bruno Haible  <bruno@clisp.org>
92133         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
92134         Code copied from m4/open.m4.
92135         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
92136         access and the filename ends in a slash. Code copied from lib/open.c.
92137         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
92138         * tests/test-fopen.c (main): Check against bug with trailing slash.
92140 2008-08-29  Bruno Haible  <bruno@clisp.org>
92142         Avoid some "gcc -pedantic" warnings.
92143         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
92144         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
92145         * lib/dirent.in.h: Likewise.
92146         * lib/fcntl.in.h: Likewise.
92147         * lib/float.in.h: Likewise.
92148         * lib/iconv.in.h: Likewise.
92149         * lib/inttypes.in.h: Likewise.
92150         * lib/locale.in.h: Likewise.
92151         * lib/math.in.h: Likewise.
92152         * lib/netinet_in.in.h: Likewise.
92153         * lib/search.in.h: Likewise.
92154         * lib/signal.in.h: Likewise.
92155         * lib/stdarg.in.h: Likewise.
92156         * lib/stdint.in.h: Likewise.
92157         * lib/stdio.in.h: Likewise.
92158         * lib/stdlib.in.h: Likewise.
92159         * lib/string.in.h: Likewise.
92160         * lib/strings.in.h: Likewise.
92161         * lib/sys_select.in.h: Likewise.
92162         * lib/sys_socket.in.h: Likewise.
92163         * lib/sys_stat.in.h: Likewise.
92164         * lib/sys_time.in.h: Likewise.
92165         * lib/sysexits.in.h: Likewise.
92166         * lib/time.in.h: Likewise.
92167         * lib/unistd.in.h: Likewise.
92168         * lib/wchar.in.h: Likewise.
92169         * lib/wctype.in.h: Likewise.
92170         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
92171         * modules/fchdir (Makefile.am): Likewise.
92172         * modules/fcntl (Makefile.am): Likewise.
92173         * modules/float (Makefile.am): Likewise.
92174         * modules/iconv_open (Makefile.am): Likewise.
92175         * modules/inttypes (Makefile.am): Likewise.
92176         * modules/locale (Makefile.am): Likewise.
92177         * modules/math (Makefile.am): Likewise.
92178         * modules/netinet_in (Makefile.am): Likewise.
92179         * modules/search (Makefile.am): Likewise.
92180         * modules/signal (Makefile.am): Likewise.
92181         * modules/stdarg (Makefile.am): Likewise.
92182         * modules/stdint (Makefile.am): Likewise.
92183         * modules/stdio (Makefile.am): Likewise.
92184         * modules/stdlib (Makefile.am): Likewise.
92185         * modules/string (Makefile.am): Likewise.
92186         * modules/strings (Makefile.am): Likewise.
92187         * modules/sys_select (Makefile.am): Likewise.
92188         * modules/sys_socket (Makefile.am): Likewise.
92189         * modules/sys_stat (Makefile.am): Likewise.
92190         * modules/sys_time (Makefile.am): Likewise.
92191         * modules/sysexits (Makefile.am): Likewise.
92192         * modules/time (Makefile.am): Likewise.
92193         * modules/unistd (Makefile.am): Likewise.
92194         * modules/wchar (Makefile.am): Likewise.
92195         * modules/wctype (Makefile.am): Likewise.
92196         Reported by Reuben Thomas <rrt@sc3d.org>.
92198 2008-08-29  Bruno Haible  <bruno@clisp.org>
92200         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
92201         any more.
92203 2008-08-29  Simon Josefsson  <simon@josefsson.org>
92205         * MODULES.html.sh (Misc): Add bitrotate.
92207         * modules/bitrotate: New file.
92209         * lib/bitrotate.h: New file.
92211         * modules/bitrotate-tests: New file.
92213         * tests/test-bitrotate.c: New file.
92215         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
92216         on the bitrotate module.
92218         * lib/arctwo.c: Use new bitrotate module.
92220 2008-08-29  Jim Meyering  <meyering@redhat.com>
92222         bootstrap: merge changes from coreutils
92223         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
92224         of copied files.  Remove a kludge, now that this is fixed.
92225         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
92226         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
92227         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
92229 2008-08-29  Bruno Haible  <bruno@clisp.org>
92231         * MODULES.html.sh: Remove --cvs-urls option.
92233 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
92235         maint.mk: adjust to file name change
92236         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
92238 2008-08-28  Jim Meyering  <meyering@redhat.com>
92240         * modules/getndelim2 (License): Relicense to LGPLv2+.
92241         Approved by Richard Stallman for the version of 1995, and by
92242         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
92244 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
92246         * lib/getdelim.c (flockfile, funlockfile): Make all of them
92247         dummy if one is not available.  Do not touch them if
92248         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
92249         (getc_maybe_unlocked): New.
92250         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
92252 2008-08-26  Eric Blake  <ebb9@byu.net>
92254         doc/INSTALL: resync from autoconf
92255         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
92256         (INSTALL_PRELUDE): Delete; this is done more efficiently by
92257         moving...
92258         * install.texi [!autoconf]: ...here.  Resync from autoconf.
92259         * INSTALL: Regenerate.
92260         * INSTALL.ISO: New file.
92261         * INSTALL.UTF-8: Likewise.
92263 2008-08-26  Jim Meyering  <meyering@redhat.com>
92265         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
92266         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
92267         these definitions conditional, so that they may be overridden, too.
92269 2008-08-26  Bruno Haible  <bruno@clisp.org>
92271         Generate INSTALL file variants with prettier quotes.
92272         * doc/Makefile (INSTALL_PRELUDE): New macro.
92273         (INSTALL): Use it.
92274         (INSTALL.ISO, INSTALL.UTF-8): New rules.
92276 2008-08-26  Bruno Haible  <bruno@clisp.org>
92278         Run makeinfo in an English locale.
92279         * doc/Makefile (MAKEINFO): New variable.
92281 2008-08-26  Bruno Haible  <bruno@clisp.org>
92283         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
92284         Suggested by Eric Blake.
92286 2008-08-25  Bruno Haible  <bruno@clisp.org>
92288         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
92290 2008-08-25  Eric Blake  <ebb9@byu.net>
92292         c-stack: test that stack overflow can be caught
92293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
92294         that platform allows handling stack overflow; at least OS/2 EMX
92295         has sigaltstack, but crashes before transferring control to
92296         handler on stack overflow.
92297         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
92298         check for HAVE_STACK_OVERFLOW_HANDLING.
92299         Reported by Elbert Pol.
92301 2008-08-25  Bruno Haible  <bruno@clisp.org>
92303         * doc/posix-functions/strftime.texi: Fix description of strftime
92304         module.
92306 2008-08-24  Bruno Haible  <bruno@clisp.org>
92308         * tests/uniwidth/test-uc_width2.c: New file.
92309         * tests/uniwidth/test-uc_width2.sh: New file.
92310         * modules/uniwidth/width-tests (Files): Add the new files.
92311         (TESTS): Add uniwidth/test-uc_width2.sh.
92312         (TESTS_ENVIRONMENT): New variable.
92313         (check_PROGRAMS): Add test-uc_width2.
92314         (test_uc_width2_SOURCES): New variable.
92316         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
92317         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
92318         not 0x00AB.
92319         Reported by Alexander V. Lukyanov <lav@netis.ru>.
92321 2008-08-22  Eric Blake  <ebb9@byu.net>
92323         test-lock, test-tls: mention why a test is skipped
92324         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
92325         skipped.
92326         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
92328         count-one-bits: relax license
92329         * modules/count-one-bits (License): Relicense to LGPLv2+.
92330         Suggested by Ludovic Courtès, approved by Ben Pfaff.
92332 2008-08-22  Andreas Schwab  <schwab@suse.de>
92334         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
92335         Remove spurious space in assignment.
92337 2008-08-21  Simon Josefsson  <simon@josefsson.org>
92339         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
92340         Paul Eggert <eggert@CS.UCLA.EDU>.
92342 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
92344         * modules/gettext: Add m4/threadlib.m4.
92346 2008-08-19  Eric Blake  <ebb9@byu.net>
92348         test-c-stack: fix compilation failure on FreeBSD 5.0
92349         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
92350         headers before <sys/resource.h>.
92351         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
92352         the bug.
92353         Reported by Nelson H. F. Beebe.
92355         strverscmp: migrate from "strverscmp.h" to <string.h>
92356         * modules/string (Makefile.am): Add new hooks.
92357         * modules/strverscmp (Files): Remove strverscmp.h.
92358         (Depends-on): Add string.
92359         (configure.ac): Add indicator.
92360         (Include): Mention new header.
92361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
92362         defaults.
92363         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
92364         results.
92365         * lib/strverscmp.h: Delete.
92366         * lib/string.in.h (strverscmp): Provide declaration, when needed.
92367         * tests/test-strverscmp.c (includes): Adjust client.
92368         * lib/check-version.c (includes): Likewise.
92369         * NEWS: Document the change.
92371         strverscmp: add unit test
92372         * modules/strverscmp-tests: New file.
92373         * tests/test-strverscmp.c: Likewise.
92375 2008-08-19  Simon Josefsson  <simon@josefsson.org>
92377         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
92378         regarding Windows crypto stuff, from Mono.
92380 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
92382         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
92383         if present, for intel RND.  Return error on failures.
92385 2008-08-18  Ben Pfaff  <blp@gnu.org>
92387         gitlog-to-changelog: give better diagnostic for failed pipe-open
92388         * build-aux/gitlog-to-changelog: Improve error message: suggest
92389         that the version of Git may be too old.
92391 2008-08-18  Simon Josefsson  <simon@josefsson.org>
92393         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
92394         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
92396 2008-08-18  Bruno Haible  <bruno@clisp.org>
92398         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
92399         pthread_in_use().
92401 2008-08-18  Bruno Haible  <bruno@clisp.org>
92403         * lib/glthread/threadlib.c: Include <pthread.h>.
92405 2008-08-18  Bruno Haible  <bruno@clisp.org>
92407         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
92408         glthread_recursive_lock_* macros.
92409         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
92410         Fix syntax error.
92412 2008-08-18  Bruno Haible  <bruno@clisp.org>
92414         * lib/glthread/thread.c: Avoid forcing a context switch right after
92415         thread creation.
92417 2008-08-17  Bruno Haible  <bruno@clisp.org>
92419         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
92420         * lib/glthread/thread.h: Provide Win32 specific implementation.
92421         * modules/thread (Files): Add lib/glthread/thread.c.
92422         (Depends-on): Add lock.
92423         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
92425 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92427         New module 'yield'.
92428         * modules/yield: New file.
92429         * lib/glthread/yield.h: New file.
92430         * m4/yield.m4: New file.
92431         * MODULES.html.sh (Multithreading): Add yield.
92433 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92435         New module 'thread'.
92436         * modules/thread: New file.
92437         * lib/glthread/thread.h: New file.
92438         * m4/thread.m4: New file.
92439         * MODULES.html.sh (Multithreading): Add thread.
92441 2008-08-17  Bruno Haible  <bruno@clisp.org>
92443         * lib/glthread/lock.h: Include <stdlib.h> always.
92444         * lib/glthread/tls.h: Likewise.
92445         * lib/glthread/cond.h: Likewise.
92447 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92449         New module 'cond'.
92450         * modules/cond: New file.
92451         * lib/glthread/cond.h: New file.
92452         * lib/glthread/cond.c: New file.
92453         * m4/cond.m4: New file.
92454         * MODULES.html.sh (Multithreading): Add cond.
92456 2008-08-16  Eric Blake  <ebb9@byu.net>
92458         c-stack: fix regression on Irix 5.3 from 2008-06-21
92459         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
92460         sa_sigaction...
92461         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
92462         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
92463         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
92464         * modules/signal (Makefile.am): Use the value.
92465         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
92466         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
92467         * doc/posix-headers/signal.texi (signal.h): Document this
92468         portability issue.
92469         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
92470         Reported by Tom G. Christensen.
92472 2008-08-17  Bruno Haible  <bruno@clisp.org>
92474         New module 'threadlib'.
92475         * modules/threadlib: New file.
92476         * lib/glthread/threadlib.c: New file, extracted from
92477         lib/glthread/lock.c.
92478         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
92479         functions.
92480         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
92481         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
92482         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
92483         macros.
92484         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
92485         (gl_DISABLE_THREADS): Remove macro.
92486         * modules/lock (Files): Remove build-aux/config.rpath.
92487         (Depends-on): Remove havelib. Add threadlib.
92488         (configure.ac-early): Remove section.
92489         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
92490         * modules/tls (Depends-on): Remove lock. Add threadlib.
92491         (Link): New section, copied from threadlib.
92492         * MODULES.html.sh (Multithreading): Add threadlib.
92494 2008-08-14  Bruno Haible  <bruno@clisp.org>
92496         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
92497         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
92498         glthread_rwlock_unlock, glthread_rwlock_destroy,
92499         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
92500         glthread_recursive_lock_destroy): Define as macros always.
92501         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
92502         glthread_lock_lock.
92503         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
92504         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
92505         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
92506         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
92507         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
92508         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
92509         (glthread_recursive_lock_lock_func): Renamed from
92510         glthread_recursive_lock_lock.
92511         (glthread_recursive_lock_unlock_func): Renamed from
92512         glthread_recursive_lock_unlock.
92513         (glthread_recursive_lock_destroy_func): Renamed from
92514         glthread_recursive_lock_destroy.
92516 2008-08-14  Bruno Haible  <bruno@clisp.org>
92518         * lib/glthread/lock.h: Renamed from lib/lock.h.
92519         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
92520         * lib/glthread/tls.h: Renamed from lib/tls.h.
92521         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
92522         * lib/fstrcmp.c: Update includes.
92523         * lib/strsignal.c: Update includes.
92524         * modules/lock (Files, Makefile.am): Update.
92525         (Include): Change to "glthread/lock.h".
92526         * modules/tls (Files, Makefile.am): Update.
92527         (Include): Change to "glthread/tls.h".
92528         * tests/test-lock.c: Update includes.
92529         * tests/test-tls.c: Update includes.
92530         * NEWS: Mention the renamed header files.
92532 2008-08-11  Jim Meyering  <meyering@redhat.com>
92534         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
92536 2008-08-11  Eric Blake  <ebb9@byu.net>
92538         test-c-stack: avoid C99-ism
92539         * tests/test-c-stack.c (main): Fix whitespace, move declaration
92540         before statement.
92541         Reported by Alain Guibert.
92543 2008-08-10  Jim Meyering  <meyering@redhat.com>
92545         ensure that return value of uinttostr et al are not ignored
92546         * lib/inttostr.h (__GNUC_PREREQ): Define.
92547         (__attribute_warn_unused_result__): Define.
92548         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
92550 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
92552         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
92553         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
92555 2008-08-07  Jim Meyering  <meyering@redhat.com>
92557         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
92559         * modules/mkstemp (License): Relicense under LGPLv2+.
92560         * modules/tempname (License): Likewise.
92562 2008-08-06  Bruno Haible  <bruno@clisp.org>
92564         * lib/poll.c (poll): Further micro-optimization.
92566 2008-08-06  Jim Meyering  <meyering@redhat.com>
92568         inet_pton.c: use locale-independent tolower
92569         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
92570         (inet_pton6): Use c_tolower rather than tolower.
92571         * modules/inet_pton (Depends-on): Add c-ctype.
92573 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
92575         * lib/poll.c (poll): Avoid division when timeout is 0, cache
92576         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
92578 2008-08-06  Jim Meyering  <meyering@redhat.com>
92580         * modules/inet_pton (License): Relicense under LGPLv2+.
92582 2008-08-03  Bruno Haible  <bruno@clisp.org>
92584         Additional non-aborting API for lock and tls.
92585         * lib/lock.h: Include <errno.h>.
92586         (glthread_lock_init): New macro/function.
92587         (gl_lock_init): Define as wrapper around glthread_lock_init.
92588         (glthread_lock_lock): New macro/function.
92589         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
92590         (glthread_lock_unlock): New macro/function.
92591         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
92592         (glthread_lock_destroy): New macro/function.
92593         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
92594         (glthread_rwlock_init): New macro/function.
92595         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
92596         (glthread_rwlock_rdlock): New macro/function.
92597         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
92598         (glthread_rwlock_wrlock): New macro/function.
92599         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
92600         (glthread_rwlock_unlock): New macro/function.
92601         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
92602         (glthread_rwlock_destroy): New macro/function.
92603         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
92604         (glthread_recursive_lock_init): New macro/function.
92605         (gl_recursive_lock_init): Define as wrapper around
92606         glthread_recursive_lock_init.
92607         (glthread_recursive_lock_lock): New macro/function.
92608         (gl_recursive_lock_lock): Define as wrapper around
92609         glthread_recursive_lock_lock.
92610         (glthread_recursive_lock_unlock): New macro/function.
92611         (gl_recursive_lock_unlock): Define as wrapper around
92612         glthread_recursive_lock_unlock.
92613         (glthread_recursive_lock_destroy): New macro/function.
92614         (gl_recursive_lock_destroy): Define as wrapper around
92615         glthread_recursive_lock_destroy.
92616         (glthread_once): New macro/function.
92617         (gl_once): Define as wrapper around glthread_once.
92618         Update function declarations.
92619         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
92620         glthread_rwlock_init. Return error code.
92621         (glthread_rwlock_rdlock_multithreaded): Renamed from
92622         glthread_rwlock_rdlock. Return error code.
92623         (glthread_rwlock_wrlock_multithreaded): Renamed from
92624         glthread_rwlock_wrlock. Return error code.
92625         (glthread_rwlock_unlock_multithreaded): Renamed from
92626         glthread_rwlock_unlock. Return error code.
92627         (glthread_rwlock_destroy_multithreaded): Renamed from
92628         glthread_rwlock_destroy. Return error code.
92629         (glthread_recursive_lock_init_multithreaded): Renamed from
92630         glthread_recursive_lock_init. Return error code.
92631         (glthread_recursive_lock_lock_multithreaded): Renamed from
92632         glthread_recursive_lock_lock. Return error code.
92633         (glthread_recursive_lock_unlock_multithreaded): Renamed from
92634         glthread_recursive_lock_unlock. Return error code.
92635         (glthread_recursive_lock_destroy_multithreaded): Renamed from
92636         glthread_recursive_lock_destroy. Return error code.
92637         (glthread_once_call): Make static.
92638         (glthread_once_multithreaded): Renamed from glthread_once.
92639         * lib/tls.h: Include <errno.h>.
92640         (glthread_tls_key_init): New macro/function.
92641         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
92642         (glthread_tls_set): New macro/function.
92643         (gl_tls_set): Define as wrapper around glthread_tls_set.
92644         (glthread_tls_key_destroy): New macro/function.
92645         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
92646         Update function declarations.
92647         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
92648         glthread_tls_get.
92649         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
92651 2008-08-04  Eric Blake  <ebb9@byu.net>
92653         gnumakefile: use space, not TAB, outside of targets
92654         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
92656 2008-08-02  Jim Meyering  <meyering@redhat.com>
92658         getdate.y: avoid locale-dependent date parsing failure
92659         In Turkish locales, getdate would fail to recognize keywords
92660         containing a lowercase "i".  The solution is not to rely on
92661         locale-sensitive case-conversion.
92662         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
92663         (lookup_word): Use c_toupper in place of toupper.
92664         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
92665         Reported by Vefa Bicakci <bicave@superonline.com> in
92666         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
92667         * modules/getdate (Depends-on): Add c-ctype.
92669 2008-08-02  Bruno Haible  <bruno@clisp.org>
92671         * gnulib-tool (func_import): When updating or creating a .gitignore
92672         file, prepend each added line with a slash, and ignore leading slashes
92673         from the existing lines.
92674         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
92676 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92678         Portability fix for GNU make 3.79.1.
92679         * top/GNUmakefile: Avoid 'else COND', which older GNU make
92680         versions do not understand.
92682 2008-08-01  Bruno Haible  <bruno@clisp.org>
92684         Work around bug of HP-UX 10.20 cc with -0.0 literal.
92685         * tests/test-isnanf.h (zero): New variable.
92686         (main): Avoid literal -0.0f.
92687         * tests/test-isnand.h (zero): New variable.
92688         (main): Avoid literal -0.0.
92689         * tests/test-isnanl.h (zero): New variable.
92690         (main): Avoid literal -0.0L.
92691         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
92692         (test_float, test_double, test_long_double): Avoid literals -0.0f,
92693         -0.0, -0.0L.
92694         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
92695         (test_signbitd): Avoid literal -0.0.
92696         (test_signbitl): Avoid literal -0.0L.
92697         * tests/test-ceilf1.c (zero): New variable.
92698         (main): Avoid literal -0.0f.
92699         * tests/test-ceill.c (zero): New variable.
92700         (main): Avoid literal -0.0L.
92701         * tests/test-floorf1.c (zero): New variable.
92702         (main): Avoid literal -0.0f.
92703         * tests/test-floorl.c (zero): New variable.
92704         (main): Avoid literal -0.0L.
92705         * tests/test-roundf1.c (zero): New variable.
92706         (main): Avoid literal -0.0f.
92707         * tests/test-round1.c (zero): New variable.
92708         (main): Avoid literal -0.0.
92709         * tests/test-roundl.c (zero): New variable.
92710         (main): Avoid literal -0.0L.
92711         * tests/test-truncf1.c (zero): New variable.
92712         (main): Avoid literal -0.0f.
92713         * tests/test-trunc1.c (zero): New variable.
92714         (main): Avoid literal -0.0.
92715         * tests/test-truncl.c (zero): New variable.
92716         (main): Avoid literal -0.0L.
92717         * tests/test-frexp.c (zero): New variable.
92718         (main): Avoid literal -0.0.
92719         * tests/test-frexpl.c (zero): New variable.
92720         (main): Avoid literal -0.0L.
92721         * tests/test-ldexpl.c (zero): New variable.
92722         (main): Avoid literal -0.0L.
92723         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92724         (zerod, zerol): New variables.
92725         (test_function): Avoid literals -0.0, -0.0L.
92726         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92727         (zerod, zerol): New variables.
92728         (test_function): Avoid literals -0.0, -0.0L.
92729         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92730         (zerod, zerol): New variables.
92731         (test_function): Avoid literals -0.0, -0.0L.
92732         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92733         (zerod, zerol): New variables.
92734         (test_function): Avoid literals -0.0, -0.0L.
92735         * tests/test-strtod.c (zero): New variable.
92736         (main): Avoid literal -0.0.
92737         Reported by Jonathan C. Patschke <jp@centtech.com>.
92739 2008-07-31  Jim Meyering  <meyering@redhat.com>
92741         sha256.h: correct definition of SHA224_DIGEST_SIZE
92742         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
92743         Reported by Paulie Pena IV <paulie4@gmail.com>.
92744         Define as 224 / 8, rather than as a literal.
92745         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
92746         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
92747         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
92749 2008-07-31  Bruno Haible  <bruno@clisp.org>
92751         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
92752         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
92753         Reported by Jonathan Patschke <jp@centtech.com>.
92755 2008-07-31  Bruno Haible  <bruno@clisp.org>
92757         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
92758         Reported by Paolo Bonzini <bonzini@gnu.org>.
92760 2008-07-30  Eric Blake  <ebb9@byu.net>
92762         test-strtod: allow compilation without -lm
92763         * tests/test-strtod.c (main): Avoid link dependence on fabs.
92764         Reported by Dennis Clarke <blastwave@gmail.com>.
92766 2008-07-28  Jim Meyering  <meyering@redhat.com>
92768         bootstrap: work also when there are no .po files in po/
92769         * build-aux/bootstrap (update_po_files): Complete the change
92770         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
92772 2008-07-27  Jim Meyering  <meyering@redhat.com>
92774         * users.txt: Add zile.
92776 2008-07-26  Ben Pfaff  <blp@gnu.org>
92778         Add missing dependencies on new m4/exponent[fdl].m4 files.
92779         * modules/isnanf-nolibm: Add m4/exponentf.m4.
92780         * modules/isnand-nolibm: Add m4/exponentd.m4.
92781         * modules/isnanl-nolibm: Add m4/exponentl.m4.
92782         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
92783         m4/isnan[fdl].m4, because the macros actually used moved.
92784         Reported by Jim Meyering.
92786 2008-07-14  Ben Pfaff  <blp@gnu.org>
92788         Add isinf module.
92789         * lib/isinf.c: New file.
92790         * lib/math.in.h: Define isinf macro if we have decided to replace
92791         it.
92792         * m4/isinf.m4: New file.
92793         * m4/math_h.m4: Initialize and substitute variables for isinf
92794         module.
92795         * modules/isinf: New file.
92796         * modules/isinf-tests: New file.
92797         * modules/math: Add substitutions for new module.
92798         * tests/test-isinf.c: New file.
92799         * doc/posix-functions/isinf.texi: Mention new module.
92800         * MODULES.html.sh: Mention new module.
92802 2008-07-14  Ben Pfaff  <blp@gnu.org>
92804         Factor out some macros for use by additional modules.
92805         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
92806         exponentf.m4.
92807         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
92808         exponentd.m4.
92809         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
92810         file exponentl.m4.
92811         * m4/exponentf.m4: New file.
92812         * m4/exponentd.m4: New file.
92813         * m4/exponentl.m4: New file.
92814         * modules/isnanf: Use new file m4/exponentf.m4.
92815         * modules/isnand: Use new file m4/exponentd.m4.
92816         * modules/isnanl: Use new file m4/exponentl.m4.
92818 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
92820         mktime.c: normalize tp->tm_isdst value to -1/0/1.
92821         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
92822         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
92823         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
92825         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
92826         readlink on platforms without PATH_MAX.
92828 2008-07-21  Eric Blake  <ebb9@byu.net>
92830         Warn, not fail, on stale version.
92831         * top/GNUmakefile (_curr-ver): Tone down previous patch.
92833         Don't allow installation with stale devel version number.
92834         * top/GNUmakefile (_is-install-target): New macro.
92835         (_curr-ver): Forbid installation with stale version number.
92837 2008-07-20  Bruno Haible  <bruno@clisp.org>
92839         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
92840         TESTS_ENVIRONMENT.
92841         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
92843 2008-07-20  Bruno Haible  <bruno@clisp.org>
92845         * lib/c-stack.h (c_stack_action): Add documentation.
92846         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
92848 2008-07-20  Bruno Haible  <bruno@clisp.org>
92850         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
92851         * modules/readlink (License): Likewise.
92853 2008-07-17  Eric Blake  <ebb9@byu.net>
92855         * modules/c-stack (Link): Fix typo.
92857         Make c-stack use libsigsegv, when available.
92858         * modules/c-stack (Depends-on): Add libsigsegv.
92859         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
92860         needed.
92861         * lib/c-stack.c (SIGSTKSZ): Define fallback.
92862         (segv_handler, overflow_handler, c_stack_action)
92863         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
92864         implementation when libsigsegv is available, but only when using
92865         the library is necessary.
92866         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
92867         comment, explaining why XSI check fails on Linux.
92868         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
92869         * tests/test-c-stack2.sh: Tweak skip message.
92870         * NEWS: Document new link-time requirements.
92872 2008-07-16  Eric Blake  <ebb9@byu.net>
92874         c-stack: Expose false positives when not using libsigsegv.
92875         * modules/c-stack-tests (Files): Expand test.
92876         * tests/test-c-stack.c (main): Add means to conditionally trigger
92877         non-overflow SIGSEGV.
92878         * tests/test-c-stack2.sh: New file.
92880 2008-07-14  Bruno Haible  <bruno@clisp.org>
92882         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
92883         Reported by Eric Blake.
92885 2008-07-14  Sam Steingold  <sds@gnu.org>
92886             Bruno Haible  <bruno@clisp.org>
92888         New module libsigsegv.
92889         * modules/libsigsegv: New file.
92890         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
92891         modifications.
92892         * MODULES.html.sh (Signal handling): New section.
92894 2008-07-14  Bruno Haible  <bruno@clisp.org>
92896         * modules/unictype/ctype-* (Description): Add the word "function".
92897         Improves the resulting doc in MODULES.html.
92899 2008-07-12  Ben Pfaff  <blp@gnu.org>
92901         Add longlong module.
92902         * modules/longlong: New file.
92904 2008-07-12  Bruno Haible  <bruno@clisp.org>
92906         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
92907         to empty.
92909 2008-07-10  Ben Pfaff  <blp@gnu.org>
92911         Add isnan module.
92912         * doc/posix-functions/isnan.texi: Mention new module.
92913         * lib/math.in.h: Define isnan macro if we have decided to replace
92914         it.
92915         * m4/isnan.m4: New file.
92916         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
92917         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
92918         also.
92919         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
92920         redundancy.
92921         * m4/math_h.m4: Initialize and substitute variables for isnan
92922         module.
92923         * modules/isnan: New file.
92924         * modules/isnan-tests: New file.
92925         * modules/math: Add substitutions for new module.
92926         * tests/test-isnan.c: New file.
92927         * MODULES.html.sh: Mention new module.
92929 2008-07-10  Ben Pfaff  <blp@gnu.org>
92931         Add isnanf module.
92932         * lib/isnanf.m4: New file.
92933         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
92934         (gl_HAVE_ISNANF_IN_LIBM): New macro.
92935         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
92936         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
92937         * modules/isnanf: New file.
92938         * modules/isnanf-tests: New file.
92939         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
92940         files.
92941         * tests/test-isnanf-nolibm.c: factored most of its contents into
92942         new file tests/test-isnanf.h.
92943         * tests/test-isnanf.h: New file.
92944         * tests/test-isnanf.c: New file.
92945         * MODULES.html.sh: Mention new module.
92946         * doc/glibc-functions/isnanf.texi: Mention new module.
92948 2008-07-10  Ben Pfaff  <blp@gnu.org>
92950         Add isnand module.
92951         * lib/isnand.h: New file.
92952         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
92953         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
92954         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
92955         functionality also.
92956         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
92957         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
92958         (gl_HAVE_ISNAND_IN_LIBM): New macro.
92959         * modules/isnand: New file.
92960         * modules/isnand-tests: New file.
92961         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
92962         files.
92963         * tests/test-isnand-nolibm.c: factored most of its contents into
92964         new file tests/test-isnand.h.
92965         * tests/test-isnand.h: New file.
92966         * tests/test-isnand.c: New file.
92967         * MODULES.html.sh: Mention new module.
92969 2008-07-10  Ben Pfaff  <blp@gnu.org>
92971         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
92972         * lib/isnand.h: Rename lib/isnand-nolibm.h.
92973         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
92974         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
92975         * modules/isnanf-nolibm: Update references to renamed files.
92976         * modules/isnand-nolibm: Likewise.
92977         * modules/isnanf-nolibm-tests: Likewise.
92978         * modules/isnand-nolibm-tests: Likewise.
92979         * lib/frexp.c: Likewise.
92980         * lib/isfinite.c: Likewise.
92981         * lib/signbitd.c: Likewise.
92982         * lib/signbitf.c: Likewise.
92983         * lib/vasnprintf.c: Likewise.
92984         * tests/test-ceilf1.c: Likewise.
92985         * tests/test-ceilf2.c: Likewise.
92986         * tests/test-floorf1.c: Likewise.
92987         * tests/test-floorf2.c: Likewise.
92988         * tests/test-frexp.c: Likewise.
92989         * tests/test-round1.c: Likewise.
92990         * tests/test-round2.c: Likewise.
92991         * tests/test-roundf1.c: Likewise.
92992         * tests/test-strtod.c: Likewise.
92993         * tests/test-trunc1.c: Likewise.
92994         * tests/test-trunc2.c: Likewise.
92995         * tests/test-truncf1.c: Likewise.
92996         * tests/test-truncf2.c: Likewise.
92997         * NEWS: Mention the renamed header files.
92999 2008-07-11  Jim Meyering  <meyering@redhat.com>
93001         vc-list-files: make the last-resort awk code more portable
93002         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
93003         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
93004         does not support it.
93006 2008-07-10  Eric Blake  <ebb9@byu.net>
93008         Work with tar's bootstrap.
93009         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
93010         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
93011         an m4 comment.
93013 2008-07-09  Jim Meyering  <meyering@redhat.com>
93015         posix-shell.m4: fix typo that made this test malfunction
93016         * m4/posix-shell.m4: Remove capitalization in variable name.
93018 2008-07-08  Bruno Haible  <bruno@clisp.org>
93020         * m4/onceonly.m4: Update comments.
93021         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93023 2008-07-04  Jim Meyering  <meyering@redhat.com>
93025         * users.txt: Add vc-dwim.
93026         (bison, coreutils): Use the gitweb URL.
93028 2008-07-03  Jim Meyering  <meyering@redhat.com>
93030         * users.txt: Add libffcall.  From Sam Steingold.
93032 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
93034         getdate.y: do not ignore TZ with relative day, month or year offset
93035         * lib/getdate.y (get_date): Move the tz-handling block to follow the
93036         relative-date-handling, since otherwise, the latter would clobber the
93037         sole output (an updated Start value) of the tz-handling block.
93038         * tests/test-getdate.c: Tests for the fix
93040 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93042         Recognize 'foo_LIBRARIES += libgnu.a'.
93043         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
93044         makefile snippet has already specified an installation location,
93045         also using '+='.
93047 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
93049         getdate.y: factor out common actions
93050         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
93051         Use them in place of open-coded actions.
93053 2008-07-01  Simon Josefsson  <simon@josefsson.org>
93055         Add self-test for getdate module.
93056         * modules/getdate-tests: New file.
93057         * tests/test-getdate.c: New file.
93059 2008-06-29  Bruno Haible  <bruno@clisp.org>
93061         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
93062         .gitignore.
93063         Reported by Sylvain Beucler <beuc@beuc.net>.
93065 2008-06-29  Bruno Haible  <bruno@clisp.org>
93067         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
93068         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
93070 2008-06-29  Bruno Haible  <bruno@clisp.org>
93072         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
93073         EXTRA_DIST.
93074         Reported by Sylvain Beucler <beuc@beuc.net>.
93076 2008-06-26  Jim Meyering  <meyering@redhat.com>
93078         make several modules depend on the "open" module
93079         This provides slightly increased consistency when opening-for-write
93080         the name of a non-directory spelled with a trailing slash.
93081         * modules/chdir-safer: Likewise.
93082         * modules/chown: Likewise.
93083         * modules/clean-temp: Likewise.
93084         * modules/copy-file: Likewise.
93085         * modules/fchdir: Likewise.
93086         * modules/fcntl-safer: Likewise.
93087         * modules/pipe: Likewise.
93088         * modules/utime: Likewise.
93089         Prompted by Eric Blake and Bruno Haible.
93091 2008-06-24  Andreas Schwab  <schwab@suse.de>
93093         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
93094         literals can be used as initializers for global variables.
93096 2008-06-23  Eric Blake  <ebb9@byu.net>
93098         Make gnulib-cache.m4 easier to diff.
93099         * gnulib-tool (func_import): Allow newlines when reading cached
93100         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
93102 2008-06-23  Bruno Haible  <bruno@clisp.org>
93104         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
93105         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
93106         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
93107         m4/signalblocking.m4.
93108         (gl_PREREQ_SIGACTION): Don't invoke it.
93109         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
93110         gl_PREREQ_SIG_HANDLER_H.
93111         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93112         Don't check for sigaction here.
93114 2008-06-23  Bruno Haible  <bruno@clisp.org>
93116         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
93117         (install_handlers): Don't set the SA_RESETHAND flag.
93119 2008-06-23  Bruno Haible  <bruno@clisp.org>
93121         * m4/sigaction.m4: Comment fixes.
93122         * lib/signal.in.h: Likewise.
93124 2008-06-23  Eric Blake  <ebb9@byu.net>
93126         Fix typo.
93127         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
93129         Avoid SA_ namespace.
93130         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
93131         Reported by Ralf Wildenhues.
93133         Avoid test failure due to SA_RESTORER.
93134         * tests/test-sigaction.c (SA_MASK): New macro.
93135         (main): Avoid failing due to extension flags being set.
93136         Reported by Jim Meyering.
93138         Revert use of sig-handler.h in sigprocmask.c.
93139         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
93140         it requires the existence of struct sigaction.
93141         * lib/sigprocmask.c (handler_t): Restore typedef.
93142         (rpl_signal, old_handlers): Use local type.
93144 2008-06-22  Bruno Haible  <bruno@clisp.org>
93146         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
93147         conditionally.
93148         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93150 2008-06-22  Bruno Haible  <bruno@clisp.org>
93152         * doc/posix-functions/siginterrupt.texi: Move note.
93154         * lib/signal.in.h (SA_RESTART): New macro.
93155         * lib/sigaction.c: Update comment.
93157         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
93159         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
93160         (gl_PREREQ_SIGPROCMASK): Invoke it.
93161         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
93163         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
93165         * lib/sigprocmask.c: Update a comment.
93167 2008-06-21  Eric Blake  <ebb9@byu.net>
93169         Use sigaction module rather than signal().
93170         * modules/c-stack (Depends-on): Add sigaction.
93171         * modules/fatal-signal (Depends-on): Likewise.
93172         * modules/nanosleep (Depends-on): Likewise.
93173         * modules/sigprocmask (Files): Add sig-handler.h.
93174         * modules/sigaction (Files): Likewise.
93175         * lib/sig-handler.h (get_handler): New file, suggested by Paul
93176         Eggert.
93177         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
93178         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
93179         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
93180         (init_fatal_signals): Likewise.
93181         * lib/nanosleep.c (rpl_nanosleep): Likewise.
93182         (siginterrupt): Delete fallback.
93183         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
93184         instead.
93185         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
93186         siginterrupt.
93188         New module sigaction, for mingw.
93189         * modules/sigaction: New module...
93190         * modules/sigaction-tests: ...and its test.
93191         * m4/sigaction.m4: New file.
93192         * lib/sigaction.c: Likewise.
93193         * tests/test-sigaction.c: Likewise.
93194         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
93195         * modules/signal (Makefile.am): Likewise.
93196         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
93197         needed.
93198         * doc/posix-headers/signal.texi (signal.h): Mention provided
93199         types.
93200         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
93201         that sigaction is preferable.
93202         * doc/posix-functions/sigaction.texi (sigaction): Mention new
93203         module.
93204         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93205         sigaction.
93207         Improve robustness of sigprocmask by overriding signal.
93208         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
93209         is in use.
93210         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
93211         (SIGKILL, SIGSTOP): Provide fallbacks.
93212         (rpl_signal): Implement.
93213         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
93214         signal can be called inside handlers.
93216         Fix nanosleep module on mingw.
93217         * modules/nanosleep (Depends-on): Add sys_select.
93218         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
93220         Fix licensing of sigprocmask.
93221         * modules/raise (License): Relicense as LGPL.
93223 2008-06-21  Bruno Haible  <bruno@clisp.org>
93225         * lib/propername.c (proper_name_utf8): Don't use the transliterated
93226         result if it contains question marks.
93227         Reported by Michael Geng <linux@michaelgeng.de>.
93229 2008-06-19  Bruno Haible  <bruno@clisp.org>
93231         Fix CVS-ism.
93232         * doc/gnulib.texi: Include updated-stamp.texi.
93233         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
93234         (updated-stamp.texi): New rule.
93235         (gnulib.info): Depend on it.
93236         * doc/.gitignore: Add updated-stamp.texi.
93237         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
93239 2008-06-19  Bruno Haible  <bruno@clisp.org>
93241         * doc/Makefile (gnulib.info): Update and simplify dependencies.
93242         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
93244 2008-06-19  Eric Blake  <ebb9@byu.net>
93246         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
93247         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
93248         Reported by Stepan Kasal.
93250 2008-06-18  Bruno Haible  <bruno@clisp.org>
93252         * lib/fatal-signal.c (init_fatal_signals): Add comment.
93253         Reported by Eric Blake.
93255 2008-06-18  Eric Blake  <ebb9@byu.net>
93257         Work around cygwin 1.5.25 strsignal bug.
93258         * tests/test-strsignal.c: Allow for const char *.
93259         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
93261 2008-06-18  Simon Josefsson  <simon@josefsson.org>
93263         * users.txt: Update URL to article and add author/date
93264         information.
93266 2008-06-17  Bruno Haible  <bruno@clisp.org>
93268         New macro gl_DISABLE_THREADS.
93269         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
93270         if the user did not pass --enable-threads or --disable-threads option.
93271         (gl_DISABLE_THREADS): New macro.
93272         Reported by Eric Blake <ebb9@byu.net>.
93274 2008-06-17  Bruno Haible  <bruno@clisp.org>
93276         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
93277         when the macro ignores it.
93278         Based on a patch by Eric Blake <ebb9@byu.net>.
93280 2008-06-17  Bruno Haible  <bruno@clisp.org>
93282         * modules/tls (License): Change to LGPLv2+.
93283         Reported by Eric Blake.
93285 2008-06-17  Eric Blake  <ebb9@byu.net>
93287         Simplify c-stack prerequisites.
93288         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
93289         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
93290         no longer requires <ucontext.h> to exist.  Optimize setrlimit
93291         check.
93292         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
93293         <sys/resource.h>.
93295         Move c-stack test into testsuite.
93296         * modules/c-stack-tests: New file.
93297         * lib/c-stack.c [DEBUG]: Move test program...
93298         * tests/test-c-stack.c: ...into this new file.  Skip rather than
93299         fail test if sigaltstack is lacking.
93300         * tests/test-c-stack.sh: New driver file.
93302 2008-06-16  Eric Blake  <ebb9@byu.net>
93304         Use raise module consistently.
93305         * modules/fatal-signal (Depends-on): Add raise.
93306         * modules/sigprocmask (Depends-on): Likewise.
93307         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
93308         * lib/sigprocmask.c (sigprocmask): Likewise.
93309         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93310         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
93312         Fix compliance bug in sigpending.
93313         * lib/sigprocmask.c (sigpending): Return pending array via
93314         parameter, not return value.
93316 2008-06-14  Eric Blake  <ebb9@byu.net>
93318         Improve obstack-printf test code.
93319         * tests/test-obstack-printf.c (test_function): Fix comment, and
93320         simplify usage of obstack_* in macros.  Add a test for coverage.
93321         Reported by Bruno Haible.
93323 2008-06-14  Bruno Haible  <bruno@clisp.org>
93325         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
93326         array size as a constant, not as a const variable.
93327         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
93328         AC_USE_SYSTEM_EXTENSIONS.
93329         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
93330         Test whether the obstack_printf function actually exists.
93331         * modules/obstack-printf (Depends-on): Add extensions.
93332         (Include): Remove obstack.h.
93333         * modules/obstack-printf-posix (Depends-on): Add extensions.
93334         (Include): Remove obstack.h.
93336 2008-06-13  Eric Blake  <ebb9@byu.net>
93338         Add obstack-printf and obstack-printf-posix modules.
93339         * modules/obstack-printf: New file.
93340         * modules/obstack-printf-posix: Likewise.
93341         * MODULES.html.sh (Misc): Mention them.
93342         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
93343         Likewise.
93344         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
93345         Likewise.
93346         * modules/stdio (Makefile.am): Accomodate new modules.
93347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93348         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
93349         Declare.
93350         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
93351         functions.
93352         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
93353         (gl_REPLACE_OBSTACK_PRINTF): New macros
93354         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
93355         * tests/test-obstack-printf.c: New file.
93356         * modules/obstack-printf-tests: Likewise.
93357         * modules/obstack-printf-posix-tests: Likewise.
93359 2008-06-11  Bruno Haible  <bruno@clisp.org>
93361         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
93362         * lib/open.c: Include errno.h.
93363         (open): Fail when attempting to write to a file that has a trailing
93364         slash.
93365         * tests/test-open.c (main): Test against trailing slash bug.
93366         * doc/posix-functions/open.texi: Mention the trailing slash bug.
93368 2008-06-10  Bruno Haible  <bruno@clisp.org>
93370         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
93371         for $? to work inside the trap command, with various /bin/sh-s.
93372         * tests/test-vc-list-files-cvs.sh: Likewise.
93374 2008-06-10  Bruno Haible  <bruno@clisp.org>
93376         * lib/acl-internal.h: Don't include gettext.h here.
93377         * lib/set-mode-acl.c: Include gettext.h here.
93378         * lib/copy-acl.c: Likewise.
93380 2008-06-10  Bruno Haible  <bruno@clisp.org>
93382         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
93383         * lib/wait-process.c (wait_subprocess): Likewise.
93384         * lib/execute.h (execute): Add termsigp argument.
93385         * lib/execute.c (execute): Likewise.
93386         * lib/csharpcomp.c (compile_csharp_using_pnet,
93387         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
93388         * lib/csharpexec.c (execute_csharp_using_pnet,
93389         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
93390         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
93391         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
93392         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
93393         is_jikes_present): Update.
93394         * lib/javaexec.c (execute_java_class): Update.
93395         * lib/javaversion.c (execute_and_read_line): Update.
93396         * NEWS: Document the changes.
93397         Reported by Eric Blake.
93399 2008-06-10  Eric Blake  <ebb9@byu.net>
93401         Add missing include.
93402         * tests/test-strstr.c (includes): Add <signal.h>.
93403         * tests/test-strcasestr.c (includes): Likewise.
93404         * tests/test-memmem.c (includes): Likewise.
93406 2008-06-10  Bruno Haible  <bruno@clisp.org>
93408         * lib/wait-process.c (wait_subprocess): Add an assertion.
93410 2008-06-10  Bruno Haible  <bruno@clisp.org>
93412         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
93414 2008-06-10  Bruno Haible  <bruno@clisp.org>
93416         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
93417         using alarm().
93418         * tests/test-strcasestr.c (main): Likewise.
93419         * tests/test-strstr.c (main): Likewise.
93421 2008-06-09  Bruno Haible  <bruno@clisp.org>
93423         Work around the Solaris 10 ACE ACLs ABI change.
93424         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
93425         declare if ACL_NO_TRIVIAL is present.
93426         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
93427         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
93428         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
93429         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
93430         define if ACL_NO_TRIVIAL is present.
93431         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
93432         and use the current ABI.
93433         (file_has_acl): Use same #if condition as elsewhere.
93434         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
93435         in use, and use the current ABI.
93436         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
93437         Reported by Jim Meyering.
93439 2008-06-09  Eric Blake  <ebb9@byu.net>
93441         Work around environments that (stupidly) ignore SIGALRM.
93442         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
93443         before using alarm().
93444         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93445         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
93446         Reported by Ian Beckwith <ianb@erislabs.net>.
93448         Produce autobuild blurb earlier in log.
93449         * modules/autobuild (configure.ac-early): Move AB_INIT here.
93451 2008-06-09  Jim Meyering  <meyering@redhat.com>
93452         and Ondřej Vašík  <ovasik@redhat.com>
93454         utimens.c: correct kernel bug work-around
93455         Ondřej Vašík found that the invalid return value of 280 indicates
93456         failure, not success, and the kernel bug we're trying to work
93457         around affects not just the utimensat call, but also the fallback
93458         futimens call.
93459         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
93460         not success.
93461         [HAVE_FUTIMENS]: Use the same work-around, here.
93463 2008-06-09  Jim Meyering  <meyering@redhat.com>
93465         add more guards around definition of ACE_-related code
93466         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
93467         ALLOW and ACE_OWNER are also defined.
93469 2008-06-08  Bruno Haible  <bruno@clisp.org>
93471         * lib/acl-internal.h: Add me as co-author.
93472         * lib/file-has-acl.c: Likewise.
93473         * lib/set-mode-acl.c: Likewise.
93474         * lib/copy-acl.c: Likewise.
93476 2008-06-08  Bruno Haible  <bruno@clisp.org>
93478         Add support for AIX ACLs.
93479         * lib/acl-internal.h (acl_nontrivial): New declaration.
93480         * lib/file-has-acl.c (acl_nontrivial): New function.
93481         (file_has_acl): Add implementation using AIX 4 ACL API.
93482         * lib/set-mode-acl.c (qset_acl): Likewise.
93483         * lib/copy-acl.c (qcopy_acl): Likewise.
93485 2008-06-08  Bruno Haible  <bruno@clisp.org>
93487         Add support for HP-UX ACLs.
93488         * lib/acl-internal.h (acl_nontrivial): New declaration.
93489         * lib/file-has-acl.c (acl_nontrivial): New function.
93490         (file_has_acl): Add implementation using HP-UX 11 ACL API.
93491         * lib/set-mode-acl.c (qset_acl): Likewise.
93492         * lib/copy-acl.c (qcopy_acl): Likewise.
93494 2008-06-08  Bruno Haible  <bruno@clisp.org>
93496         Add support for Cygwin ACLs.
93497         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
93498         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
93499         the chmod_or_fchmod call.
93500         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
93502 2008-06-08  Bruno Haible  <bruno@clisp.org>
93504         Fix bug with setuid modes in Solaris 10+ code.
93505         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
93506         succeeded, when the mode contains some special bits.
93508 2008-06-08  Bruno Haible  <bruno@clisp.org>
93510         Add support for Solaris 7..10 ACLs.
93511         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
93512         declarations.
93513         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
93514         functions.
93515         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
93516         * lib/set-mode-acl.c (qset_acl): Likewise.
93517         * lib/copy-acl.c (qcopy_acl): Likewise.
93519 2008-06-08  Bruno Haible  <bruno@clisp.org>
93521         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
93522         declaration.
93523         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
93524         (acl_access_nontrivial): Remove MacOS X case.
93525         (file_has_acl): Use acl_extended_nontrivial.
93526         * lib/copy-acl.c (qcopy_acl): Likewise.
93528 2008-06-08  Bruno Haible  <bruno@clisp.org>
93530         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
93532 2008-06-08  Jim Meyering  <meyering@redhat.com>
93534         * modules/acl (Maintainer): Add Bruno Haible.
93536 2008-06-07  Bruno Haible  <bruno@clisp.org>
93538         Improve support for Tru64 ACLs.
93539         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
93540         ACL on OSF/1.
93542 2008-06-07  Bruno Haible  <bruno@clisp.org>
93544         Add support for MacOS X ACLs.
93545         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
93546         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
93547         * lib/set-mode-acl.c (qset_acl): Likewise.
93548         * lib/copy-acl.c (qcopy_acl): Likewise.
93550 2008-06-07  Bruno Haible  <bruno@clisp.org>
93552         Fix memory leak introduced on 2008-05-22.
93553         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
93554         use.
93556 2008-06-07  Bruno Haible  <bruno@clisp.org>
93558         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
93559         to construct an empty ACL.
93561 2008-06-07  Bruno Haible  <bruno@clisp.org>
93563         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
93564         precisely.
93565         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
93567 2008-06-07  Bruno Haible  <bruno@clisp.org>
93569         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
93570         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
93572 2008-06-07  Bruno Haible  <bruno@clisp.org>
93574         * doc/posix-functions/_setjmp.texi: Explain the use of this function
93575         regardless of POSIX.
93576         * doc/posix-functions/_longjmp.texi: Likewise.
93577         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
93578         SystemV platform in this case.
93580 2008-06-06  Eric Blake  <ebb9@byu.net>
93582         Document abort() bugs.
93583         * doc/posix-functions/abort.texi (abort): Mention anomalies.
93585         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
93586         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
93587         sigsetjmp.
93588         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
93589         siglongjmp, but only as a macro.
93590         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
93591         is obsolete.
93592         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
93594         Tweak documentation to cover cygwin argz bugs.
93595         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
93596         argz bug fix; no code change needed since no cygwin releases
93597         occurred between the last fix and the bug being tested.
93598         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
93599         module and recently fixed cygwin bugs.
93600         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
93601         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
93602         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
93603         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
93604         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
93605         Likewise.
93606         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
93607         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
93608         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
93609         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
93610         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
93611         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
93612         Likewise.
93614         Avoid gcc warning on cygwin.
93615         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
93616         !ACL_NO_TRIVIAL]: Avoid unused variable.
93618 2008-06-05  Eric Blake  <ebb9@byu.net>
93620         Be tolerant of UNKNOWN version in gnulib-tool test dir.
93621         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
93622         git-version-gen fails to come up with a version.
93623         Reported by Simon Josefsson.
93625 2008-06-05  Jim Meyering  <meyering@redhat.com>
93626             Paul Eggert  <eggert@cs.ucla.edu>
93628         utimens.c: work around a probable Linux kernel bug
93629         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
93630         appears to be a kernel bug that causes utimensat to return 280
93631         instead of 0, indicating success.
93633 2008-06-04  Bruno Haible  <bruno@clisp.org>
93635         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
93636         2008-06-01 commit.
93638 2008-06-04  Bruno Haible  <bruno@clisp.org>
93640         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
93641         * lib/file-has-acl.c (acl_access_nontrivial): New function.
93642         (file_has_acl): Use it. Save errno afterwards.
93643         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
93645 2008-06-03  Bruno Haible  <bruno@clisp.org>
93647         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
93648         draft code. Simplify #ifs.
93649         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
93650         Put Solaris code after POSIX-draft code. Fix comments regarding
93651         Solaris 10, HP-UX. Mention Cygwin.
93652         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
93654 2008-06-03  Eric Blake  <ebb9@byu.net>
93656         Provide fallback for older kernels.
93657         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
93658         Provide runtime fallback if kernel lacks support.
93659         Reported by Mike Frysinger.
93661 2008-06-02  Bruno Haible  <bruno@clisp.org>
93663         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
93664         it exists.
93666 2008-06-02  Bruno Haible  <bruno@clisp.org>
93668         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
93669         * lib/copy-acl.c (qcopy_acl): Update comment.
93671 2008-06-02  Bruno Haible  <bruno@clisp.org>
93673         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
93674         like ACL APIs.
93676 2008-06-02  Bruno Haible  <bruno@clisp.org>
93678         * tests/test-file-has-acl.sh: Use different code for Cygwin.
93679         * tests/test-set-mode-acl.sh: Likewise.
93680         * tests/test-copy-acl.sh: Likewise.
93681         * tests/test-copy-file.sh: Likewise.
93683 2008-06-02  Bruno Haible  <bruno@clisp.org>
93685         * tests/test-file-has-acl.sh: Remove unused code.
93687 2008-06-01  Bruno Haible  <bruno@clisp.org>
93689         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
93690         (copy_acl): Just a wrapper around qcopy_acl that emits the error
93691         messages.
93692         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
93694 2008-06-01  Bruno Haible  <bruno@clisp.org>
93696         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
93697         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
93698         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
93699         APIs.
93700         * modules/acl-tests (configure.ac): Remove tests now contained in
93701         m4/acl.m4.
93703 2008-06-02  Jim Meyering  <meyering@redhat.com>
93705         announce-gen: use a better key-server host name
93706         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
93707         it may be more consistently reliable.  Suggested by Werner Koch
93708         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
93710 2008-06-01  Bruno Haible  <bruno@clisp.org>
93712         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
93713         Reported by Voroskoi Andras <voroskoi@gmail.com>.
93715 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
93717         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
93719 2008-06-01  Bruno Haible  <bruno@clisp.org>
93721         New ACL tests.
93722         * tests/test-file-has-acl.sh: New file.
93723         * tests/test-file-has-acl.c: New file.
93724         * tests/test-set-mode-acl.sh: New file.
93725         * tests/test-set-mode-acl.c: New file.
93726         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
93727         * tests/test-copy-acl.c: New file.
93728         * modules/acl-tests: New file, based on modules/copy-file-tests.
93729         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
93730         (Depends-on): Add acl-tests.
93731         (configure.ac): Remove checks.
93732         (Makefile.am): Don't create test-sameacls program here any more.
93734 2008-06-01  Bruno Haible  <bruno@clisp.org>
93736         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
93737         * tests/test-sameacls.c: Include progname.h.
93738         (main): Invoke set_program_name. Portability fixes for MacOS X,
93739         Solaris, HP-UX.
93741 2008-06-01  Bruno Haible  <bruno@clisp.org>
93743         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
93744         function.
93745         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
93747 2008-06-01  Bruno Haible  <bruno@clisp.org>
93749         * modules/rpmatch (Depends-on): Add strdup.
93751 2008-06-01  Bruno Haible  <bruno@clisp.org>
93753         * lib/pipe.c: Include unistd-safer.h.
93754         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
93755         * modules/pipe (Depends-on): Add unistd-safer.
93757 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93759         * modules/autobuild (configure.ac): Call AB_INIT.
93761 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93763         * tests/test-getaddrinfo.c: Don't print debug messages by default.
93764         Suggested by Bruno Haible <bruno@clisp.org>.
93766 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93768         * tests/test-base64.c: Cast size_t to unsigned long when invoking
93769         printf.  Use %lu instead of %d.  Reported by Bruno Haible
93770         <bruno@clisp.org>.
93772 2008-05-29  Eric Blake  <ebb9@byu.net>
93774         Prefer new POSIX 200x interfaces over futimesat.
93775         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
93776         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
93777         when available.
93778         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
93780 2008-05-28  Bruno Haible  <bruno@clisp.org>
93782         * modules/stpcpy (License): Change to LGPLv2+.
93783         Requested by David Lutterkort <dlutter@redhat.com>.
93785 2008-05-27  Bruno Haible  <bruno@clisp.org>
93787         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
93788         current mingw.
93789         Reported by Jose E. Marchesi <jemarch@gnu.org>.
93791 2008-05-27  Bruno Haible  <bruno@clisp.org>
93793         * modules/iconv_open (Link): New section, from module 'iconv'.
93794         * modules/striconv (Link): Likewise.
93795         * modules/striconveh (Link): Likewise.
93796         * modules/xstriconv (Link): Likewise.
93797         * modules/unicodeio (Link): Likewise.
93798         * modules/propername (Link): Likewise.
93799         Reported by Jim Meyering.
93801 2008-05-26  Jim Meyering  <meyering@redhat.com>
93803         sha256: do not artificially restrict buffer length to be < 2^32
93804         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
93805         uint32_t to size_t.
93806         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
93807         to match.
93809         avoid unaligned access errors, e.g., on sparc
93810         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
93811         direct access through a possibly-unaligned uint64* pointer.
93812         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
93813         direct access through a possibly-unaligned uint32* pointer.
93814         Prompted by this patch from Tom "spot" Callaway:
93815         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
93817         sha512.c: fix typo in comment
93818         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
93820 2008-05-25  Bruno Haible  <bruno@clisp.org>
93822         * lib/set-mode-acl.c: Renamed from lib/acl.c.
93823         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
93824         (Makefile.am): Update lib_SOURCES.
93826 2008-05-25  Bruno Haible  <bruno@clisp.org>
93828         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
93830 2008-05-25  Jim Meyering  <meyering@redhat.com>
93832         useless-if-before-free: freed expr may have white-space differences
93833         * build-aux/useless-if-before-free: Recognize cases in which the
93834         freed expression differs from the tested one in embedded white
93835         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
93836         $1 was used, so we can't make any regexp shy.  Improved tests now
93837         detect this.
93839         useless-if-before-free: accept white space in the expression.
93840         * build-aux/useless-if-before-free: For now, any white space
93841         in the expression must be identical in the free argument.
93843         useless-if-before-free: efficiency tweak
93844         * build-aux/useless-if-before-free: Make the expression-matching
93845         regexp "shy".
93846         Make the *outer* regexp shy, not the expr-matching one.
93848         update code-in-comment to accept cast of free arg
93849         * build-aux/useless-if-before-free: Update regexp.
93851 2008-05-25  Bruno Haible  <bruno@clisp.org>
93853         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
93854         * modules/copy-file-tests (Files, Makefile.am): Update.
93855         * tests/test-copy-file.c (func_test_copy): Update.
93857 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
93859         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
93861 2008-05-23  Bruno Haible  <bruno@clisp.org>
93863         Improve support for ACLs on OSF/1.
93864         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
93865         Remove fallback for unknown flavors of ACLs.
93867 2008-05-22  Bruno Haible  <bruno@clisp.org>
93869         Add support for ACLs on OSF/1.
93870         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
93871         replacements.
93872         (acl_free_text): New macro fallback.
93873         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
93874         acl_free.
93875         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
93876         acl_free_text function. Require AC_C_INLINE.
93878 2008-05-22  Bruno Haible  <bruno@clisp.org>
93880         Make copy_acl work on MacOS X 10.5.
93881         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
93882         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
93883         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
93884         If MODE_INSIDE_ACL, don't assume that every system has the same text
93885         representation for ACLs as FreeBSD.
93886         * lib/copy-acl.c (copy_acl): Add support for platforms with
93887         !MODE_INSIDE_ACL.
93888         * lib/file-has-acl.c (file_has_acl): Likewise.
93889         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
93890         FreeBSD, MacOS X, or IRIX, respectively.
93892 2008-05-22  Bruno Haible  <bruno@clisp.org>
93894         * lib/acl.h: Don't include <sys/acl.h>.
93895         (GETACLCNT): Move fallback to lib/acl-internal.h.
93896         * lib/acl-internal.h: Include <sys/acl.h> here.
93897         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
93899 2008-05-22  Bruno Haible  <bruno@clisp.org>
93901         Split off copy_acl function to separate file.
93902         * lib/copy-acl.c: New file, extracted from lib/acl.c.
93903         * lib/acl.c (copy_acl): Moved function to separate file.
93904         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
93905         * modules/acl (Files): Add lib/copy-acl.c.
93906         (Makefiles.am): Augment lib_SOURCES.
93908 2008-05-22  Bruno Haible  <bruno@clisp.org>
93910         * modules/copy-file-tests: New file.
93911         * tests/test-copy-file.sh: New file.
93912         * tests/test-copy-file.c: New file.
93913         * tests/test-copy-file-sameacls.c: New file.
93915 2008-05-22  Eric Blake  <ebb9@byu.net>
93917         Avoid gcc warning.
93918         * tests/test-memcmp.c (main): Pass NULL indirectly.
93920 2008-05-21  Bruno Haible  <bruno@clisp.org>
93922         Add reference doc about ACLs.
93923         * doc/acl-resources.txt: New file.
93924         * doc/acl-cygwin.txt: New file.
93926 2008-05-21  Bruno Haible  <bruno@clisp.org>
93928         Avoid one more warning from gcc.
93929         * lib/vasnprintf.c (IF_LINT): Update comments.
93930         (VASNPRINTF): Use it also for the 'prefix' array initializer.
93932 2008-05-21  Jim Meyering  <meyering@redhat.com>
93934         avoid a warning from gcc
93935         * lib/vasnprintf.c (IF_LINT): Define.
93936         (scale10_round_decimal_long_double):
93937         Use it to avoid a "may be used uninitialized" warning.
93938         (scale10_round_decimal_double): Likewise.
93940 2008-05-21  Simon Josefsson  <simon@josefsson.org>
93942         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
93943         declared.
93945 2008-05-20  Bruno Haible  <bruno@clisp.org>
93947         * tests/test-memcmp.c (main): Test also the sign of the result. Test
93948         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
93950 2008-05-20  Simon Josefsson  <simon@josefsson.org>
93952         * modules/memcmp-tests: New file.
93953         * tests/test-memcmp.c: New file.
93955 2008-05-19  Bruno Haible  <bruno@clisp.org>
93957         * modules/propername (Notice, configure.ac): Put quoted "..." into
93958         --keyword option.
93959         * lib/propername.h: Update comments accordingly.
93960         Reported by Eric Blake.
93962 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
93964         * modules/getpass-gnu (Depends-on): Add fseeko.
93966 2008-05-19  Simon Josefsson  <simon@josefsson.org>
93968         * modules/base64-tests: New file.
93970 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
93972         * lib/base64.c (base64_decode_ctx): If a decode context structure
93973         was passed in use it to ignore newlines.  If a context structure
93974         was _not_ passed in, continue to treat newlines as garbage (this
93975         is the historical behavior).  Formerly base64_decode.
93976         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93977         takes a decode context structure.
93978         * lib/base64.h (base64_decode): Macro for four-argument calls.
93979         (base64_decode_alloc): Likewise.
93980         * lib/base64.c (base64_decode_ctx): If a decode context structure
93981         was passed in use it to ignore newlines.  If a context structure
93982         was _not_ passed in, continue to treat newlines as garbage (this
93983         is the historical behavior).  Formerly base64_decode.
93984         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93985         takes a decode context structure.
93986         * lib/base64.h (base64_decode): Macro for four-argument calls.
93987         (base64_decode_alloc): Likewise.
93989 2008-05-19  Jim Meyering  <meyering@redhat.com>
93991         avoid a warning from gcc
93992         * lib/trim.c (IF_LINT): Define.
93993         (trim2): Use it to avoid a "may be used uninitialized" warning.
93995         Fix doc typo.
93996         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
93998 2008-05-19  Bruno Haible  <bruno@clisp.org>
94000         * doc/glibc-functions/getpass.texi: Document limits of other
94001         implementations.
94003 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94004             Bruno Haible <bruno@clisp.org>
94006         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
94008 2008-05-18  Bruno Haible  <bruno@clisp.org>
94010         * modules/propername: New file, from GNU gettext.
94011         * lib/propername.h: New file, from GNU gettext.
94012         * lib/propername.c: New file, from GNU gettext.
94013         * MODULES.html.sh (Internationalization functions): Add propername.
94015 2008-05-16  Jim Meyering  <meyering@redhat.com>
94016             Bruno Haible  <bruno@clisp.org>
94018         Avoid some warnings from "gcc -Wshadow".
94019         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
94021 2008-05-15  Eric Blake  <ebb9@byu.net>
94023         Extend previous patch to cygwin 1.7.0.
94024         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
94025         fast implementation in cygwin >= 1.7.0.
94026         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94029 2008-05-15  Bruno Haible  <bruno@clisp.org>
94031         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
94032         implementation in glibc >= 2.9.
94033         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94036 2008-05-15  Bruno Haible  <bruno@clisp.org>
94038         * MODULES.html.sh (Internationalization functions): Remove linebreak.
94039         (Unicode string functions): Add unilbrk/*.
94040         Reported by Karl Berry.
94042 2008-05-15  Eric Blake  <ebb9@byu.net>
94044         Fix violation of <stdbool.h> replacement in regex.
94045         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
94046         * lib/regexec.c (re_search_internal): Likewise.
94047         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
94049 2008-05-15  Jim Meyering  <meyering@redhat.com>
94051         avoid distracting test output when git or cvs is not found
94052         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
94053         * tests/test-vc-list-files-git.sh: Likewise.
94055 2008-05-15  Eric Blake  <ebb9@byu.net>
94057         Glibc finally accepted the memmem speedup code, bugzilla #5514.
94058         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
94059         glibc version.
94060         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
94061         * doc/posix-functions/strstr.texi (strstr): Likewise.
94062         * lib/str-two-way.h (MAX): Sychronize with glibc.
94064 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
94066         * lib/regcomp.c (optimize_utf8): Add a note on why we test
94067         opr.ctx_type.
94068         (calc_first): Initialize constraint field.
94069         (duplicate_node_closure): Use it instead of special casing ANCHORS.
94070         Fix grammar.
94071         (duplicate_node): Merge constraint field for all node types.
94072         (calc_eclosure_iter): Look at constraint field for all node types.
94073         * lib/regex_internal.c (create_cd_newstate): Don't look at
94074         opr.ctx_type.
94076 2008-05-14  Bruno Haible  <bruno@clisp.org>
94078         Help GCC to do better code generation.
94079         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
94080         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
94081         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
94082         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
94083         Declare with attribute 'malloc' if supported.
94085 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
94087         use "echo STR|wc -c" rather than unportable "expr length STR"
94088         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
94089         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
94091 2008-05-14  Jim Meyering  <meyering@redhat.com>
94093         use dd ibs=$n count=1 ... rather than less-portable head -c$n
94094         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
94095         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
94096         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
94097         via Collin Lasse.
94099 2008-05-14  Eric Blake  <ebb9@byu.net>
94101         Avoid quadratic growth in gl_LIBSOURCES.
94102         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
94103         Suggested by Bruno Haible.
94105         Test xmemdup0.
94106         * modules/xmemdup0-tests: New file.
94107         * tests/test-xmemdup0.c: Likewise.
94109 2008-05-13  Eric Blake  <ebb9@byu.net>
94111         Split xmemdup0 into its own module.
94112         * modules/xmemdup0: New file.
94113         * lib/xmemdup0.h: Likewise.
94114         * lib/xmemdup0.c: Likewise.
94115         * MODULES.html.sh (Memory management functions): Add xmemdup0.
94116         * lib/xalloc.h (xmemdup0): Remove.
94117         * lib/xmalloc.c (xmemdup0): Likewise.
94119 2008-05-13  Eric Blake  <ebb9@byu.net>
94120             Bruno Haible  <bruno@clisp.org>
94122         Reduce number of forks required during autoconf.
94123         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
94124         and gl_LIBSOURCES_DIR.
94125         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
94126         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
94127         m4_syscmd per file.
94128         <m4_foreach_w>: Move...
94129         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
94131 2008-05-13  Eric Blake  <ebb9@byu.net>
94133         * gnulib-tool: Fix various comment typos.
94135 2008-05-12  Bruno Haible  <bruno@clisp.org>
94137         Tailor the linebreaking algorithm.
94138         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
94140 2008-05-12  Bruno Haible  <bruno@clisp.org>
94142         Update to Unicode 5.0.0.
94143         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94144         LBP_JV, LBP_JT. Redistribute values.
94145         (unilbrk_table): Change size.
94146         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
94147         Unicode TR#14 rev. 22.
94148         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94149         LBP_JV, LBP_JT. Redistribute values.
94150         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
94151         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
94152         Update.
94153         * lib/unilbrk/lbrkprop1.h: Regenerated.
94154         * lib/unilbrk/lbrkprop2.h: Regenerated.
94155         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
94156         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
94157         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
94158         Likewise.
94159         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
94160         Likewise.
94161         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
94162         result.
94163         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
94164         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
94165         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
94166         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
94167         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
94168         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
94170 2008-05-11  Bruno Haible  <bruno@clisp.org>
94172         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
94174 2008-05-11  Bruno Haible  <bruno@clisp.org>
94176         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
94177         * modules/unilbrk/gen-lbrk: New file.
94179 2008-05-11  Bruno Haible  <bruno@clisp.org>
94181         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
94182         * m4/sha512.m4 (gl_SHA512): Likewise.
94184 2008-05-11  Jim Meyering  <meyering@redhat.com>
94186         New modules: crypto/sha256, crypto/sha512 (from coreutils)
94187         * modules/crypto/sha256: New file.
94188         * modules/crypto/sha512: Likewise.
94189         * lib/sha256.c: Likewise.
94190         * lib/sha256.h: Likewise.
94191         * lib/sha512.c: Likewise.
94192         * lib/sha512.h: Likewise.
94193         * lib/u64.h: Likewise.
94194         * m4/sha256.m4: Likewise.
94195         * m4/sha512.m4: Likewise.
94196         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
94198 2008-05-10  Bruno Haible  <bruno@clisp.org>
94200         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
94201         (Input/Output <stdio.h>): Add xprintf.
94202         (Signal handling <signal.h>): Add strsignal.
94203         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
94204         (Core language properties): Add func.
94205         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
94206         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
94207         strings.
94208         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
94209         (Input/output): New section.
94210         (File system functions): Add openat-die, stat-macros.
94211         (Networking functions): Add sockets.
94212         (Unicode string functions): Add unictype/*.
94213         (Support for building libraries and executables): Add gperf.
94214         (Support for building documentation): Add agpl-3.0.
94215         (Misc): Add nocrash.
94217 2008-05-10  Bruno Haible  <bruno@clisp.org>
94219         * modules/unictype/gen-ctype: New file.
94221 2008-05-10  Jim Meyering  <meyering@redhat.com>
94223         Make chdir-safer.c more efficient on a system with no symlinks.
94224         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
94225         also if ELOOP is zero.  Suggested by Bruno Haible.
94227         Make chdir-safer.c slightly safer.
94228         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
94229         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
94231         Avoid compile failure on systems without ELOOP (like mingw).
94232         * lib/chdir-safer.c (ELOOP): Define if not already defined.
94233         Reported by Bruno Haible.
94235 2008-05-10  Bruno Haible  <bruno@clisp.org>
94237         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
94238         (is_utf8_encoding): Use a case-insensitive comparison.
94239         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
94240         streq.
94242 2008-05-10  Bruno Haible  <bruno@clisp.org>
94244         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
94245         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
94246         * lib/unilbrk/ulc-common.h (iconv_string_length,
94247         iconv_string_keeping_offsets): Remove declarations.
94248         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
94249         Don't include <iconv.h>, streq.h, xsize.h.
94250         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
94251         conversion.
94252         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
94253         <iconv.h>, streq.h, xsize.h.
94254         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
94255         conversion.
94256         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
94257         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
94258         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
94259         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
94261 2008-05-10  Bruno Haible  <bruno@clisp.org>
94263         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
94264         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
94266         * modules/unilbrk/u32-width-linebreaks-tests: New file.
94267         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
94269         * modules/unilbrk/u16-width-linebreaks-tests: New file.
94270         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
94272         * modules/unilbrk/u8-width-linebreaks-tests: New file.
94273         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
94275         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
94276         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
94278         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
94279         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
94281         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
94282         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
94284         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
94285         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
94287 2008-05-10  Bruno Haible  <bruno@clisp.org>
94289         Split up 'linebreak' module.
94290         * lib/unilbrk.h: New file, based on lib/linebreak.h.
94291         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
94292         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
94293         modifications.
94294         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
94295         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
94296         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
94297         lib/linebreak.c.
94298         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
94299         lib/linebreak.c.
94300         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
94301         lib/linebreak.c.
94302         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
94303         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
94304         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
94305         lib/linebreak.c.
94306         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
94307         lib/linebreak.c.
94308         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
94309         lib/linebreak.c.
94310         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
94311         lib/linebreak.c.
94312         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
94313         lib/linebreak.c.
94314         * modules/unilbrk/base: New file.
94315         * modules/unilbrk/tables: New file.
94316         * modules/unilbrk/u8-possible-linebreaks: New file.
94317         * modules/unilbrk/u16-possible-linebreaks: New file.
94318         * modules/unilbrk/u32-possible-linebreaks: New file.
94319         * modules/unilbrk/ulc-common: New file.
94320         * modules/unilbrk/ulc-possible-linebreaks: New file.
94321         * modules/unilbrk/u8-width-linebreaks: New file.
94322         * modules/unilbrk/u16-width-linebreaks: New file.
94323         * modules/unilbrk/u32-width-linebreaks: New file.
94324         * modules/unilbrk/ulc-width-linebreaks: New file.
94325         * lib/linebreak.h: Remove file.
94326         * lib/linebreak.c: Remove file.
94327         * m4/linebreak.m4: Remove file.
94328         * modules/linebreak: Remove file.
94329         * NEWS: Mention the changes.
94331 2008-05-09  Eric Blake  <ebb9@byu.net>
94333         Add xmemdup0.
94334         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
94335         implementation.
94336         * lib/xmalloc.c (xmemdup0): New C implementation.
94338 2008-05-08  Bruno Haible  <bruno@clisp.org>
94340         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
94342 2008-05-07  Eric Blake  <ebb9@byu.net>
94344         Support cross-compilation of <wctype.h>.
94345         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
94346         AC_CACHE_CHECK.
94348 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
94350         * build-aux/vc-list-files: Add support for bzr.
94352 2008-05-03  Jim Meyering  <meyering@redhat.com>
94354         avoid failed assertion with tight malloc
94355         * tests/test-getndelim2.c: Correct an off-by-one assertion.
94357 2008-05-03  Simon Josefsson  <simon@josefsson.org>
94359         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
94360         are needed from arpa/inet.h.
94361         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
94362         Reported by Bruno Haible.
94364 2008-05-02  Jim Meyering  <meyering@redhat.com>
94366         avoid compilation error on FreeBSD 6
94367         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
94369 2008-05-01  Jim Meyering  <meyering@redhat.com>
94371         useless-if-before-free: correct --help's exit status description
94372         * build-aux/useless-if-before-free (usage): Like grep, exit 0
94373         for one or more matches, etc.  Reported by Bruno Haible.
94375         vc-list-files: make the stand-alone gnulib test work
94376         * modules/vc-list-files-tests (configure.ac):
94377         Define and AC_SUBST abs_aux_dir.
94378         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
94379         $(abs_top_srcdir) to each script and having each of them
94380         duplicate the work of setting PATH, set PATH here, using
94381         the new variable, abs_aux_dir instead.
94382         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
94383         * tests/test-vc-list-files-git.sh: Likewise.
94384         Reported by Bruno Haible.
94386 2008-05-01  Bruno Haible  <bruno@clisp.org>
94388         * lib/getndelim2.c (getndelim2): Fix newsize computation during
94389         reallocation. Rename 'done' to 'found_delimiter'.
94391 2008-05-01  Jim Meyering  <meyering@redhat.com>
94393         vc-list-files: accommodate /bin/sh like the one from Solaris 10
94394         * build-aux/vc-list-files: Use `...`, not $(...).
94396 2008-04-30  Jim Meyering  <meyering@redhat.com>
94398         add tests for vc-list-files
94399         * modules/vc-list-files-tests: New module.
94400         * tests/test-vc-list-files-cvs.sh: New file.
94401         * tests/test-vc-list-files-git.sh: New file.
94403         avoid a warning from gcc
94404         * lib/getndelim2.c (IF_LINT): Define.
94405         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
94407         vc-list-files: work properly with build-aux/cvsu, too
94408         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
94409         to all cvs-based clauses.
94411         vc-list-files: work properly in the CVS+awk case, too
94412         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
94414         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
94415         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
94416         take more than one file argument, so .  Add quotes, just in case $dir
94417         ever contains a shell meta-character.  Prompted by Soren Hansen in
94418         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
94420 2008-04-29  Eric Blake  <ebb9@byu.net>
94422         Optimize getndelim2 to use block operations when possible.
94423         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
94424         freadseek, and memchr2.
94425         * lib/getndelim2.c (getndelim2): Use them for block reads.
94427 2008-04-29  Bruno Haible  <bruno@clisp.org>
94429         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
94430         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94431         * modules/inet_ntop (Depends-on): Add extensions.
94432         * modules/inet_pton (Depends-on): Likewise.
94433         Reported by Simon Josefsson.
94435 2008-04-29  Jim Meyering  <meyering@redhat.com>
94437         When the is more than one match in a block, match all of them.
94438         * build-aux/useless-if-before-free: Iterate through each block
94439         until there are no more matches.
94441         Fix broken useless-if-before-free script.
94442         * build-aux/useless-if-before-free: Fix typo: missing "?" after
94443         the expression to match cast of argument to free-like function.
94445 2008-04-29  Eric Blake  <ebb9@byu.net>
94447         Use new header.
94448         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
94450 2008-04-29  Jim Meyering  <meyering@redhat.com>
94452         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
94453         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
94454         by gnulib to exist and to declare e.g., inet_ntop.
94455         Don't include "inet_ntop.h", now removed.
94457         * m4/arpa_inet_h.m4: Remove trailing blanks.
94459 2008-04-29  Eric Blake  <ebb9@byu.net>
94461         Silence valgrind on safe reads beyond potential array bounds.
94462         * lib/rawmemchr.valgrind: New file.
94463         * lib/strchrnul.valgrind: Likewise.
94464         * modules/rawmemchr (Files): Distribute new file.
94465         * modules/strchrnul (Files): Likewise.
94466         Suggested by Bruno Haible.
94468 2008-04-29  Bruno Haible  <bruno@clisp.org>
94470         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
94471         (inet_ntop, inet_pton): Change portability warning's wording.
94472         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
94473         Invoke gl_CHECK_NEXT_HEADERS.
94474         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
94475         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
94476         set ARPA_INET_H.
94477         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94478         * modules/arpa_inet (Description): No longer only for systems that
94479         lack it.
94480         (Depends-on): Add include_next.
94481         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
94482         HAVE_ARPA_INET_H.
94484 2008-04-29  Jim Meyering  <meyering@redhat.com>
94486         * modules/mkdir (License): Re-license as LGPLv2+.
94488 2008-04-29  Bruno Haible  <bruno@clisp.org>
94490         * modules/rawmemchr (Maintainer): Set to Eric.
94491         * modules/strchrnul (Maintainer): Likewise.
94493 2008-04-29  Simon Josefsson  <simon@josefsson.org>
94495         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
94496         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
94498         * modules/arpa_inet (arpa/inet.h): Use them.
94500 2008-04-28  Eric Blake  <ebb9@byu.net>
94502         Test getndelim2.
94503         * modules/getndelim2-tests: New file.
94504         * tests/test-getndelim2.c: Likewise.
94505         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
94506         stream.
94507         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
94509         * MODULES.html.sh: Document new module.
94511 2008-04-20  Bruno Haible  <bruno@clisp.org>
94513         * lib/c-stack.c (die): Use raise.
94514         * modules/c-stack (Depends-on): Add raise.
94516 2008-04-28  Bruno Haible  <bruno@clisp.org>
94518         Expect rpmatch to be declared.
94519         * lib/yesno.c (rpmatch): Remove declaration.
94521         Declare rpmatch.
94522         * lib/stdlib.in.h (rpmatch): New declaration.
94523         * lib/rpmatch.c: Include <stdlib.h> first.
94524         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
94525         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
94526         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
94527         HAVE_RPMATCH.
94528         * modules/rpmatch (Depends-on): Add stdlib, extensions.
94529         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
94530         (Include): Set to <stdlib.h>.
94531         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
94532         HAVE_RPMATCH.
94533         * NEWS: Document the change.
94535 2008-04-28  Bruno Haible  <bruno@clisp.org>
94537         Change rpmatch to use nl_langinfo when appropriate.
94538         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
94539         (N_): New macro.
94540         (localized_pattern): New function/macro.
94541         (try): Remove match, nomatch arguments. Copy the pattern into safe
94542         memory before caching it.
94543         (rpmatch): Use localized_pattern. Add translator comments.
94544         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
94545         Suggested by Eric Blake.
94546         * modules/rpmatch (Depends-on): Add stdbool.
94548 2008-04-28  Eric Blake  <ebb9@byu.net>
94550         Add rawmemchr module, matching glibc.
94551         * modules/string (Makefile.am): New indicator.
94552         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
94553         * lib/string.in.h (rawmemchr): Declare when appropriate.
94554         * modules/rawmemchr: New file.
94555         * m4/rawmemchr.m4: Likewise.
94556         * lib/rawmemchr.c: Likewise.
94557         * modules/rawmemchr-tests: Likewise.
94558         * tests/test-rawmemchr.c: Likewise.
94559         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
94560         module.
94561         * modules/strchrnul (Depends-on): Add rawmemchr.
94562         * lib/strchrnul.c (strchrnul): Optimize a corner case.
94564         Whitespace cleanup.
94565         * tests/test-strchrnul.c: Reindent.
94566         * lib/strchrnul.c: Likewise.
94568         Optimize and test strchrnul.
94569         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
94570         * modules/strchrnul-tests: New file.
94571         * tests/test-strchrnul.c: Likewise.
94573         Remove intprops dependency.
94574         * modules/memchr (Depends-on): Remove intprops.
94575         * modules/memrchr (Depends-on): Likewise.
94576         * modules/memchr2 (Depends-on): Likewise.
94577         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
94578         * lib/memrchr.c (__memrchr): Likewise.
94579         * lib/memrchr2.c (memchr2): Likewise.
94580         Reported by Simon Josefsson.
94582 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94584         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
94585         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94587 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94589         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
94591         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
94593         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
94595         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
94596         declarations.
94597         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
94599         * m4/inet_pton.m4: Don't check for header files.
94601         * m4/inet_ntop.m4: Don't check for header files.
94603 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94605         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
94606         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
94607         trigger for cygwin).
94608         Reported by Bruno Haible  <bruno@clisp.org>.
94610 2008-04-28  Bruno Haible  <bruno@clisp.org>
94612         * doc/posix-functions/strdup.texi: Mention mingw problem.
94614 2008-04-27  Bruno Haible  <bruno@clisp.org>
94616         * modules/stat-time-tests (Depends-on): Add sleep.
94617         * tests/test-stat-time.c (force_unlink): New function.
94618         (cleanup): Use it.
94619         (test_mtime): Remove the ctime related tests.
94620         (test_ctime): New function, containing the ctime related tests.
94621         (main): Call test_ctime, except on native Windows platforms.
94623 2008-04-27  Bruno Haible  <bruno@clisp.org>
94625         * lib/rpmatch.c (rpmatch): Add some comments.
94626         Reported by James Youngman <jay@gnu.org>.
94628 2008-04-27  Bruno Haible  <bruno@clisp.org>
94630         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
94631         quiet NaNs.
94633 2008-04-27  Bruno Haible  <bruno@clisp.org>
94635         Make test-yesno.sh work on mingw.
94636         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
94637         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
94638         (main): Set stdin to binary mode.
94639         * modules/yesno-tests (Depends-on): Add binary-io.
94641 2008-04-27  Bruno Haible  <bruno@clisp.org>
94643         Fix 'isfinite' on x86, x86_64, ia64 platforms.
94644         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
94645         argument that lie outside the IEEE 854 domain.
94646         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
94647         (gl_ISFINITE): Use it.
94648         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
94650 2008-04-27  Bruno Haible  <bruno@clisp.org>
94652         Allow local renaming in config.h.
94653         * lib/memrchr.c (memrchr): Don't undefine outside libc.
94655 2008-04-27  Bruno Haible  <bruno@clisp.org>
94657         * lib/memchr.c (__memchr): Change type of 'i'.
94658         * lib/memchr2.c (memchr2): Likewise.
94660 2008-04-26  Eric Blake  <ebb9@byu.net>
94661         and Bruno Haible  <bruno@clisp.org>
94663         Optimize and test memrchr.
94664         * modules/memrchr (Depends-on): Add intprops.
94665         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
94666         * modules/memrchr-tests: New file.
94667         * tests/test-memrchr.c: New file.
94669 2008-04-26  Bruno Haible  <bruno@clisp.org>
94671         Add tentative support for DragonFly BSD.
94672         * lib/stdio-impl.h: Add macros for DragonFly BSD.
94673         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
94674         fp.
94675         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94676         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
94677         * lib/fpurge.c (fpurge): Likewise.
94678         * lib/freadable.c (freaadable): Likewise.
94679         * lib/freadahead.c (freadahead): Likewise.
94680         * lib/freading.c (freading): Likewise.
94681         * lib/freadptr.c (freadptr): Likewise.
94682         * lib/freadseek.c (freadptrinc): Likewise.
94683         * lib/fseeko.c (fseeko): Likewise.
94684         * lib/fseterr.c (fseterr): Likewise.
94685         * lib/fwritable.c (fwritable): Likewise.
94686         * lib/fwriting.c (fwriting): Likewise.
94688 2008-04-26  Bruno Haible  <bruno@clisp.org>
94690         * lib/stdio-impl.h: New file.
94691         * lib/fbufmode.c: Include stdio-impl.h.
94692         (fbufmode): Use fp_, remove redundant #defines.
94693         * lib/fflush.c: Include stdio-impl.h.
94694         (clear_ungetc_buffer): Remove redundant #defines.
94695         * lib/fpurge.c: Include stdio-impl.h.
94696         (fpurge): Remove redundant #defines.
94697         * lib/freadable.c: Include stdio-impl.h.
94698         (freadable): Remove redundant #defines.
94699         * lib/freadahead.c: Include stdio-impl.h.
94700         (freadahead): Remove redundant #defines.
94701         * lib/freading.c: Include stdio-impl.h.
94702         (freading): Remove redundant #defines.
94703         * lib/freadptr.c: Include stdio-impl.h.
94704         (freadptr): Remove redundant #defines.
94705         * lib/freadseek.c: Include stdio-impl.h.
94706         (freadptrinc): Remove redundant #defines.
94707         * lib/fseeko.c: Include stdio-impl.h.
94708         (rpl_fseeko): Remove redundant #defines.
94709         * lib/fseterr.c: Include stdio-impl.h.
94710         (fseterr): Remove redundant #defines.
94711         * lib/fwritable.c: Include stdio-impl.h.
94712         (fwritable: Remove redundant #defines.
94713         * lib/fwriting.c: Include stdio-impl.h.
94714         (fwriting): Remove redundant #defines.
94715         * modules/fbufmode (Files): Add lib/stdio-impl.h.
94716         * modules/fflush (Files): Likewise.
94717         * modules/fpurge (Files): Likewise.
94718         * modules/freadable (Files): Likewise.
94719         * modules/freadahead (Files): Likewise.
94720         * modules/freading (Files): Likewise.
94721         * modules/freadptr (Files): Likewise.
94722         * modules/freadseek (Files): Likewise.
94723         * modules/fseeko (Files): Likewise.
94724         * modules/fseterr (Files): Likewise.
94725         * modules/fwritable (Files): Likewise.
94726         * modules/fwriting (Files): Likewise.
94728 2008-04-26  Bruno Haible  <bruno@clisp.org>
94730         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94731         restore_seek_optimization, update_fpos_cache): New functions, extracted
94732         from rpl_fflush.
94733         (rpl_fflush): Use them.
94734         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
94735         (gl_REPLACE_FFLUSH): Use it.
94737 2008-04-26  Bruno Haible  <bruno@clisp.org>
94739         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
94740         on Solaris.
94741         * tests/test-xstrtoimax.sh: Likewise.
94742         * tests/test-xstrtoumax.sh: Likewise.
94743         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94745 2008-04-26  Bruno Haible  <bruno@clisp.org>
94747         * modules/memchr-tests: New file.
94748         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
94750 2008-04-26  Eric Blake  <ebb9@byu.net>
94751             Bruno Haible  <bruno@clisp.org>
94753         * lib/memchr.c: Include intprops.h.
94754         (__memchr): Optimize parallel detection of matching bytes. Rename local
94755         variables. Add explanatory comments.
94757 2008-04-26  Bruno Haible  <bruno@clisp.org>
94759         Fix module 'memchr', broken since 2000-10-28.
94760         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
94762 2008-04-26  Bruno Haible  <bruno@clisp.org>
94764         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
94765         comments.
94767 2008-04-25  Eric Blake  <ebb9@byu.net>
94769         Use native fstatat on cygwin 1.7.0.
94770         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
94771         first.
94773 2008-04-23  Eric Blake  <ebb9@byu.net>
94775         Improve memchr2 performance.
94776         * lib/memchr2.c (memchr2): Further optimize parallel detection of
94777         NUL bytes.
94778         * modules/memchr2 (Depends-on): Use intprops.h.
94780 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94782         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
94783         an inline function instead of a CPP macro.  Patch by Ben Pfaff
94784         <blp@cs.stanford.edu>.
94786 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94788         * lib/arpa_inet.in.h: New file.
94790         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
94791         (Makefile.am): Sed in substitute header file.
94793         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
94794         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
94796         * modules/inet_ntop (configure.ac): Use
94797         gl_ARPA_INET_MODULE_INDICATOR.
94799         * modules/inet_pton (configure.ac): Use
94800         gl_ARPA_INET_MODULE_INDICATOR.
94802 2008-04-22  Jim Meyering  <meyering@redhat.com>
94804         * modules/verify (License): Re-license as LGPLv2+.
94806 2008-04-22  Simon Josefsson  <simon@josefsson.org>
94808         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
94809         parameter to void* as per POSIX standard (MinGW uses char*).
94811 2008-04-21  Bruno Haible  <bruno@clisp.org>
94813         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
94814         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
94815         Define to replacements if REPLACE_ISWCNTRL is 1.
94816         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
94817         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
94818         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
94819         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
94820         what it fixes.
94821         * doc/posix-functions/iswalpha.texi: Likewise.
94822         * doc/posix-functions/iswblank.texi: Likewise.
94823         * doc/posix-functions/iswcntrl.texi: Likewise.
94824         * doc/posix-functions/iswdigit.texi: Likewise.
94825         * doc/posix-functions/iswgraph.texi: Likewise.
94826         * doc/posix-functions/iswlower.texi: Likewise.
94827         * doc/posix-functions/iswprint.texi: Likewise.
94828         * doc/posix-functions/iswpunct.texi: Likewise.
94829         * doc/posix-functions/iswspace.texi: Likewise.
94830         * doc/posix-functions/iswupper.texi: Likewise.
94831         * doc/posix-functions/iswxdigit.texi: Likewise.
94832         Reported by Alain Guibert.
94834 2008-04-21  Bruno Haible  <bruno@clisp.org>
94836         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
94837         Patch by Alain Guibert.
94839 2008-04-21  Bruno Haible  <bruno@clisp.org>
94841         Fix test failures on mingw.
94842         * tests/test-xstrtol.c (print_no_progname): New function.
94843         (main): Install it in error_print_progname hook.
94844         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
94845         * tests/test-xstrtoimax.sh: Likewise.
94846         * tests/test-xstrtoumax.sh: Likewise.
94848 2008-04-21  Bruno Haible  <bruno@clisp.org>
94850         Fix test failure on mingw.
94851         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
94853 2008-04-21  Bruno Haible  <bruno@clisp.org>
94855         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
94856         Actually assign a value.
94858 2008-04-20  Bruno Haible  <bruno@clisp.org>
94860         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
94861         take 2.
94862         * lib/canonicalize.c (canonicalize_file_name): Elide if the
94863         'canonicalize-lgpl' module is also used.
94864         * lib/canonicalize-lgpl.c: Undo last change.
94865         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
94867 2008-04-20  Bruno Haible  <bruno@clisp.org>
94869         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
94870         config.h. Provide _mkdir based fallback for mingw.
94871         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
94872         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
94873         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
94874         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
94875         rather than defining mkdir in config.h.
94876         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
94877         (gl_SYS_STAT_H_DEFAULTS): New macro.
94878         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
94879         HAVE_IO_H any more.
94880         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
94881         HAVE_DECL_MKDIR and HAVE_IO_H.
94883 2008-04-20  Bruno Haible  <bruno@clisp.org>
94885         * lib/isapipe.c: Port to native Windows platforms.
94887 2008-04-20  Bruno Haible  <bruno@clisp.org>
94889         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
94891 2008-04-21  Eric Blake  <ebb9@byu.net>
94893         Work around preprocessors that don't handle UINTMAX_MAX.
94894         * lib/memchr2.c (memchr2): Avoid embedded #if.
94895         Reported by Alain Guibert, fix suggested by Bruno Haible.
94897 2008-04-21  Simon Josefsson  <simon@josefsson.org>
94899         * doc/posix-functions/strftime.texi (strftime): Explain better
94900         Windows incompatibility.  Suggested by Micah Cowan
94901         <micah@cowan.name>.
94903 2008-04-20  Bruno Haible  <bruno@clisp.org>
94905         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
94906         unistr/u8-mblen.
94908 2008-04-20  Bruno Haible  <bruno@clisp.org>
94910         Fix test failure on platforms with non-GNU iconv.
94911         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
94912         (U_TO_U8): Use it, rather than u16_to_u8.
94913         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
94914         units at the end of the input string.
94915         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
94917 2008-04-20  Bruno Haible  <bruno@clisp.org>
94919         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
94920         when the resulting length is 0.
94921         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
94923 2008-04-20  Bruno Haible  <bruno@clisp.org>
94925         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
94926         works.
94927         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
94929 2008-04-20  Bruno Haible  <bruno@clisp.org>
94931         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
94932         * modules/tsearch-tests (configure.ac): Test for initstate function.
94934 2008-04-20  Bruno Haible  <bruno@clisp.org>
94936         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
94937         for nlink_t if missing.
94938         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
94940 2008-04-19  Bruno Haible  <bruno@clisp.org>
94942         Work around snprintf bug on Linux libc5.
94943         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
94944         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
94945         gl_SNPRINTF_SIZE1.
94946         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94947         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
94948         that test failed.
94949         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
94950         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
94951         * modules/snprintf (Files): Add m4/printf.m4.
94952         * modules/vsnprintf (Files): Likewise.
94953         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
94954         * doc/posix-functions/vsnprintf.texi: Likewise.
94956 2008-04-19  Bruno Haible  <bruno@clisp.org>
94958         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
94959         from 0.0058 to less than 10^-7.
94961 2008-04-19  Bruno Haible  <bruno@clisp.org>
94963         Fix rounding when a precision is given.
94964         * lib/vasnprintf.c (is_borderline): New function.
94965         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
94966         9...9x.
94967         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
94968         %e, %g.
94969         * tests/test-vasprintf-posix.c (test_function): Likewise.
94970         * tests/test-snprintf-posix.h (test_function): Likewise.
94971         * tests/test-sprintf-posix.h (test_function): Likewise.
94972         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
94973         * tests/test-printf-posix.h (test_function): Likewise.
94974         * tests/test-printf-posix.output: Update.
94975         Reported by John Darrington <john@darrington.wattle.id.au> via
94976         Ben Pfaff <blp@cs.stanford.edu>.
94978 2008-04-18  Simon Josefsson  <simon@josefsson.org>
94980         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
94981         Suggested by Bruno Haible <bruno@clisp.org>.
94983 2008-04-17  Bruno Haible  <bruno@clisp.org>
94985         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
94986         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
94987         implementation.
94988         Patch by Bruce Merry <bmerry@gmail.com>.
94990 2008-04-17  Simon Josefsson  <simon@josefsson.org>
94992         * doc/posix-functions/strftime.texi (strftime): Mention that %e
94993         doesn't work under Windows.
94995 2008-04-16  Bruno Haible  <bruno@clisp.org>
94997         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
94998         New macros.
94999         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
95000         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
95001         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
95002         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
95003         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
95004         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
95005         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
95006         macros.
95007         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
95008         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
95009         Northern Sotho, Uighur.
95011 2008-04-16  Bruno Haible  <bruno@clisp.org>
95013         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
95014         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
95015         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
95016         Reported by Daniel Bergström <daniel@octocode.com>.
95018 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
95019             Bruno Haible  <bruno@clisp.org>
95021         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
95022         function.
95023         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
95024         New functions, mostly extracted from gl_locale_name_default.
95025         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
95027 2008-04-16  Eric Blake  <ebb9@byu.net>
95029         Adjust strtod detection to catch glibc 2.7 bug.
95030         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
95031         Reported by John Gatewood Ham.
95033 2008-04-16  Bruno Haible  <bruno@clisp.org>
95035         Add tentative support for Linux libc5.
95036         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
95037         * lib/fpurge.c (fpurge): Likewise.
95038         * lib/freadable.c (freadable): Likewise.
95039         * lib/freadahead.c (freadahead): Likewise.
95040         * lib/freading.c (freading): Likewise.
95041         * lib/freadptr.c (freadptr): Likewise.
95042         * lib/freadseek.c (freadptrinc): Likewise.
95043         * lib/fseeko.c (rpl_fseeko): Likewise.
95044         * lib/fseterr.c (fseterr): Likewise.
95045         * lib/fwritable.c (fwritable): Likewise.
95046         * lib/fwriting.c (fwriting): Likewise.
95047         Reported by Alain Guibert <alguibert+bts@free.fr>.
95049 2008-04-15  Bruno Haible  <bruno@clisp.org>
95051         * modules/mathl (configure.ac): Define module indicator.
95053 2008-04-15  Bruno Haible  <bruno@clisp.org>
95055         * lib/logl.c (logl): Remove unused variables.
95057 2008-04-15  Bruno Haible  <bruno@clisp.org>
95059         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
95060         fails.
95062 2008-04-15  Bruno Haible  <bruno@clisp.org>
95064         * lib/trim.c (trim2): Fix argument of isspace() macro.
95066 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
95068         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
95069         to 0.
95070         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
95072 2008-04-14  Bruno Haible  <bruno@clisp.org>
95074         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
95075         AC_LANG_PROGRAM argument.
95076         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
95077         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
95078         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
95079         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
95080         * m4/math_h.m4 (gl_MATH_H): Likewise.
95081         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
95082         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95083         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
95084         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
95085         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95086         * m4/regex.m4 (gl_REGEX): Likewise.
95087         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
95088         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
95089         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95090         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
95091         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95092         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95093         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
95094         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
95096 2008-04-14  Jim Meyering  <meyering@redhat.com>
95098         test-strtod: fix typos: s/abs/fabs/
95099         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
95101 2008-04-13  Bruno Haible  <bruno@clisp.org>
95103         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
95104         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
95105         module is also used and while not building the reloc-wrapper.
95107 2008-04-13  Bruno Haible  <bruno@clisp.org>
95109         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
95111 2008-04-13  Bruno Haible  <bruno@clisp.org>
95113         Fix AIX compilation failure introduced on 2008-04-02.
95114         * tests/test-frexp.c (exp): Undefine before redefining.
95115         * tests/test-frexpl.c (exp): Likewise.
95117 2008-04-13  Bruno Haible  <bruno@clisp.org>
95119         Work around a HP-UX stdio bug.
95120         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
95121         * tests/test-ftello.c (main): Likewise.
95122         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
95123         * doc/posix-functions/ftello.texi: Likewise.
95125 2008-04-13  Bruno Haible  <bruno@clisp.org>
95127         Make test-signbit pass on HP-UX/hppa.
95128         * tests/test-signbit.c (minus_zerol): New variable.
95129         (test_signbitl): Use it.
95131 2008-04-13  Bruno Haible  <bruno@clisp.org>
95133         Make truncl work on OSF/1 4.0.
95134         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
95135         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95136         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95137         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
95138         HAVE_DECL_TRUNCL.
95139         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
95140         HAVE_DECL_TRUNCL.
95141         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
95143 2008-04-13  Bruno Haible  <bruno@clisp.org>
95145         * lib/unictype.h: Remove trailing comma from enumeration definitions.
95147 2008-04-13  Bruno Haible  <bruno@clisp.org>
95149         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
95150         expression, so as to avoid HP-UX 11 cc compiler bug.
95152 2008-04-13  Bruno Haible  <bruno@clisp.org>
95154         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
95156 2008-04-13  Bruno Haible  <bruno@clisp.org>
95158         * lib/git-merge-changelog.c: Remove empty declaration outside of
95159         functions.
95161 2008-04-13  Bruno Haible  <bruno@clisp.org>
95163         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
95165 2008-04-13  Bruno Haible  <bruno@clisp.org>
95167         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
95168         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
95169         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
95170         also if it exists but lacks definitions of the SHUT_* macros.
95171         * modules/sys_socket (Description): Update.
95172         Reported by Elbert Pol <e.pol@chello.nl>.
95174 2008-04-13  Bruno Haible  <bruno@clisp.org>
95176         * lib/localcharset.c (OS2): Don't redefine if already defined.
95177         Reported by Elbert Pol <e.pol@chello.nl>.
95179 2008-04-13  Bruno Haible  <bruno@clisp.org>
95181         * lib/binary-io.h [__EMX__]: Include <io.h>.
95182         Reported by Elbert Pol <e.pol@chello.nl>.
95184 2008-04-12  Bruno Haible  <bruno@clisp.org>
95186         * lib/fpucw.h: Enable the definitions also for x86_64.
95187         Needed for NetBSD/x86_64.
95188         Reported by Thomas Klausner <tk@giga.or.at>.
95190 2008-04-12  Bruno Haible  <bruno@clisp.org>
95192         * tests/test-strtod.c: Include isnand.h.
95193         (main): Use isnand instead of isnan.
95194         Reported by Jim Meyering.
95196 2008-04-12  Bruno Haible  <bruno@clisp.org>
95198         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
95199         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95201 2008-04-12  Jim Meyering  <meyering@redhat.com>
95203         * m4/math_h.m4 (gl_MATH_H): Fix typos.
95205 2008-04-12  Bruno Haible  <bruno@clisp.org>
95207         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
95208         Reported by Elbert Pol <e.pol@chello.nl>.
95210 2008-04-12  Eric Blake  <ebb9@byu.net>
95212         Work around Solaris 10 math.h bug.
95213         * m4/math_h.m4 (gl_MATH_H): Check for bug.
95214         (gl_MATH_H_DEFAULTS): Set up default.
95215         * modules/math (Makefile.am): Replace new indicators.
95216         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
95217         * tests/test-math.c (main): Test this.
95218         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
95219         * doc/posix-headers/math.texi (math.h): Mention bug.
95220         Reported by Nelson H. F. Beebe and Jim Meyering.
95222 2008-04-11  Bruno Haible  <bruno@clisp.org>
95224         Adapt to future versions of Apple GCC.
95225         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
95226         Reported by Peter O'Gorman <peter@pogma.com>.
95228 2008-04-11  Bruno Haible  <bruno@clisp.org>
95230         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
95232 2008-04-11  Bruno Haible  <bruno@clisp.org>
95234         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
95236         * modules/getaddrinfo-tests (Makefile.am): Define
95237         test_getaddrinfo_LDADD.
95239 2008-04-11  Bruno Haible  <bruno@clisp.org>
95241         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
95242         (init): Fix syntax error.
95243         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
95244         is declared.
95246 2008-04-11  Bruno Haible  <bruno@clisp.org>
95248         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
95249         * modules/glob (Depends-on): Add stdbool.
95251 2008-04-11  Bruno Haible  <bruno@clisp.org>
95253         * lib/trim.c: Include <string.h>.
95255 2008-04-11  Eric Blake  <ebb9@byu.net>
95257         Avoid compile failure on OS/2.
95258         * lib/regex_internal.h (internal_function): Disable optimization
95259         on OS/2 (__EMX__), where it caused compiler error.
95260         Reported by Elbert Pol.
95262 2008-04-11  Bruno Haible  <bruno@clisp.org>
95264         Flush the standard error stream before aborting. Needed on mingw.
95265         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
95266         * tests/test-array_list.c (ASSERT): Likewise.
95267         * tests/test-array_oset.c (ASSERT): Likewise.
95268         * tests/test-avltree_list.c (ASSERT): Likewise.
95269         * tests/test-avltree_oset.c (ASSERT): Likewise.
95270         * tests/test-avltreehash_list.c (ASSERT): Likewise.
95271         * tests/test-binary-io.c (ASSERT): Likewise.
95272         * tests/test-byteswap.c (ASSERT): Likewise.
95273         * tests/test-c-ctype.c (ASSERT): Likewise.
95274         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
95275         * tests/test-c-strcasestr.c (ASSERT): Likewise.
95276         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
95277         * tests/test-c-strstr.c (ASSERT): Likewise.
95278         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
95279         * tests/test-canonicalize.c (ASSERT): Likewise.
95280         * tests/test-carray_list.c (ASSERT): Likewise.
95281         * tests/test-ceilf1.c (ASSERT): Likewise.
95282         * tests/test-ceilf2.c (ASSERT): Likewise.
95283         * tests/test-ceill.c (ASSERT): Likewise.
95284         * tests/test-count-one-bits.c (ASSERT): Likewise.
95285         * tests/test-fbufmode.c (ASSERT): Likewise.
95286         * tests/test-fflush2.c (ASSERT): Likewise.
95287         * tests/test-floorf1.c (ASSERT): Likewise.
95288         * tests/test-floorf2.c (ASSERT): Likewise.
95289         * tests/test-floorl.c (ASSERT): Likewise.
95290         * tests/test-fopen.c (ASSERT): Likewise.
95291         * tests/test-fpending.c (ASSERT): Likewise.
95292         * tests/test-fprintf-posix.c (ASSERT): Likewise.
95293         * tests/test-fpurge.c (ASSERT): Likewise.
95294         * tests/test-freadable.c (ASSERT): Likewise.
95295         * tests/test-freadahead.c (ASSERT): Likewise.
95296         * tests/test-freading.c (ASSERT): Likewise.
95297         * tests/test-freadptr.c (ASSERT): Likewise.
95298         * tests/test-freadptr2.c (ASSERT): Likewise.
95299         * tests/test-freadseek.c (ASSERT): Likewise.
95300         * tests/test-freopen.c (ASSERT): Likewise.
95301         * tests/test-frexp.c (ASSERT): Likewise.
95302         * tests/test-frexpl.c (ASSERT): Likewise.
95303         * tests/test-fseek.c (ASSERT): Likewise.
95304         * tests/test-fseeko.c (ASSERT): Likewise.
95305         * tests/test-fstrcmp.c (ASSERT): Likewise.
95306         * tests/test-ftell.c (ASSERT): Likewise.
95307         * tests/test-ftello.c (ASSERT): Likewise.
95308         * tests/test-func.c (ASSERT): Likewise.
95309         * tests/test-fwritable.c (ASSERT): Likewise.
95310         * tests/test-fwriting.c (ASSERT): Likewise.
95311         * tests/test-getdelim.c (ASSERT): Likewise.
95312         * tests/test-getline.c (ASSERT): Likewise.
95313         * tests/test-i-ring.c (ASSERT): Likewise.
95314         * tests/test-iconv-utf.c (ASSERT): Likewise.
95315         * tests/test-iconv.c (ASSERT): Likewise.
95316         * tests/test-isfinite.c (ASSERT): Likewise.
95317         * tests/test-isnand.c (ASSERT): Likewise.
95318         * tests/test-isnanf.c (ASSERT): Likewise.
95319         * tests/test-isnanl.h (ASSERT): Likewise.
95320         * tests/test-ldexpl.c (ASSERT): Likewise.
95321         * tests/test-linked_list.c (ASSERT): Likewise.
95322         * tests/test-linkedhash_list.c (ASSERT): Likewise.
95323         * tests/test-localename.c (ASSERT): Likewise.
95324         * tests/test-lseek.c (ASSERT): Likewise.
95325         * tests/test-mbscasecmp.c (ASSERT): Likewise.
95326         * tests/test-mbscasestr1.c (ASSERT): Likewise.
95327         * tests/test-mbscasestr2.c (ASSERT): Likewise.
95328         * tests/test-mbscasestr3.c (ASSERT): Likewise.
95329         * tests/test-mbscasestr4.c (ASSERT): Likewise.
95330         * tests/test-mbschr.c (ASSERT): Likewise.
95331         * tests/test-mbscspn.c (ASSERT): Likewise.
95332         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
95333         * tests/test-mbspbrk.c (ASSERT): Likewise.
95334         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
95335         * tests/test-mbsrchr.c (ASSERT): Likewise.
95336         * tests/test-mbsspn.c (ASSERT): Likewise.
95337         * tests/test-mbsstr1.c (ASSERT): Likewise.
95338         * tests/test-mbsstr2.c (ASSERT): Likewise.
95339         * tests/test-mbsstr3.c (ASSERT): Likewise.
95340         * tests/test-memchr2.c (ASSERT): Likewise.
95341         * tests/test-memmem.c (ASSERT): Likewise.
95342         * tests/test-open.c (ASSERT): Likewise.
95343         * tests/test-printf-frexp.c (ASSERT): Likewise.
95344         * tests/test-printf-frexpl.c (ASSERT): Likewise.
95345         * tests/test-printf-posix.c (ASSERT): Likewise.
95346         * tests/test-quotearg.c (ASSERT): Likewise.
95347         * tests/test-rbtree_list.c (ASSERT): Likewise.
95348         * tests/test-rbtree_oset.c (ASSERT): Likewise.
95349         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
95350         * tests/test-round1.c (ASSERT): Likewise.
95351         * tests/test-roundf1.c (ASSERT): Likewise.
95352         * tests/test-roundl.c (ASSERT): Likewise.
95353         * tests/test-signbit.c (ASSERT): Likewise.
95354         * tests/test-sleep.c (ASSERT): Likewise.
95355         * tests/test-snprintf-posix.c (ASSERT): Likewise.
95356         * tests/test-snprintf.c (ASSERT): Likewise.
95357         * tests/test-sprintf-posix.c (ASSERT): Likewise.
95358         * tests/test-stat-time.c (ASSERT): Likewise.
95359         * tests/test-strcasestr.c (ASSERT): Likewise.
95360         * tests/test-strerror.c (ASSERT): Likewise.
95361         * tests/test-striconv.c (ASSERT): Likewise.
95362         * tests/test-striconveh.c (ASSERT): Likewise.
95363         * tests/test-striconveha.c (ASSERT): Likewise.
95364         * tests/test-strsignal.c (ASSERT): Likewise.
95365         * tests/test-strstr.c (ASSERT): Likewise.
95366         * tests/test-strtod.c (ASSERT): Likewise.
95367         * tests/test-trunc1.c (ASSERT): Likewise.
95368         * tests/test-trunc2.c (ASSERT): Likewise.
95369         * tests/test-truncf1.c (ASSERT): Likewise.
95370         * tests/test-truncf2.c (ASSERT): Likewise.
95371         * tests/test-truncl.c (ASSERT): Likewise.
95372         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
95373         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
95374         * tests/test-vasnprintf.c (ASSERT): Likewise.
95375         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
95376         * tests/test-vasprintf.c (ASSERT): Likewise.
95377         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
95378         * tests/test-vprintf-posix.c (ASSERT): Likewise.
95379         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
95380         * tests/test-vsnprintf.c (ASSERT): Likewise.
95381         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
95382         * tests/test-wcwidth.c (ASSERT): Likewise.
95383         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
95384         * tests/test-xprintf-posix.c (ASSERT): Likewise.
95385         * tests/test-xvasprintf.c (ASSERT): Likewise.
95386         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
95387         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
95388         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
95389         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
95390         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
95391         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
95392         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
95393         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
95394         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
95395         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
95396         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
95397         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
95398         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
95399         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
95400         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
95401         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
95402         * tests/unictype/test-block_list.c (ASSERT): Likewise.
95403         * tests/unictype/test-block_of.c (ASSERT): Likewise.
95404         * tests/unictype/test-block_test.c (ASSERT): Likewise.
95405         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
95406         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
95407         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
95408         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
95409         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
95410         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
95411         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
95412         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
95413         * tests/unictype/test-combining.c (ASSERT): Likewise.
95414         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
95415         * tests/unictype/test-digit.c (ASSERT): Likewise.
95416         * tests/unictype/test-mirror.c (ASSERT): Likewise.
95417         * tests/unictype/test-numeric.c (ASSERT): Likewise.
95418         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
95419         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
95420         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
95421         * tests/unictype/test-scripts.c (ASSERT): Likewise.
95422         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
95423         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
95424         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
95425         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
95426         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
95427         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
95428         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
95429         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
95430         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
95431         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
95432         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
95433         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
95434         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
95435         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
95436         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
95437         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
95438         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
95439         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
95440         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
95441         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
95442         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
95443         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
95444         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
95445         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
95446         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
95447         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
95448         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
95449         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
95450         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
95451         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
95452         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
95453         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
95454         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
95455         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
95456         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
95457         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
95458         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
95459         Reported by Eric Blake.
95461 2008-04-11  Bruno Haible  <bruno@clisp.org>
95463         * lib/wchar.in.h: Tweak comment.
95465 2008-04-11  Bruno Haible  <bruno@clisp.org>
95467         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
95468         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
95469         gl_COMMON.
95470         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
95472 2008-04-11  Bruno Haible  <bruno@clisp.org>
95474         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
95476 2008-04-11  Simon Josefsson  <simon@josefsson.org>
95478         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
95479         of attempting to use non-existing /dev/*random.  Based on patch
95480         from Adam Strzelecki <ono@java.pl> in
95481         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
95483 2008-04-08  Bruno Haible  <bruno@clisp.org>
95485         Add tentative support for emx+gcc.
95486         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
95487         * lib/fpurge.c (fpurge): Likewise.
95488         * lib/freadable.c (freadable): Likewise.
95489         * lib/freadahead.c (freadahead): Likewise.
95490         * lib/freading.c (freading): Likewise.
95491         * lib/freadptr.c (freadptr): Likewise.
95492         * lib/freadseek.c (freadptrinc): Likewise.
95493         * lib/fseeko.c (rpl_fseeko): Likewise.
95494         * lib/fseterr.c (fseterr): Likewise.
95495         * lib/fwritable.c (fwritable): Likewise.
95496         * lib/fwriting.c (fwriting): Likewise.
95497         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
95499 2008-04-09  Eric Blake  <ebb9@byu.net>
95501         Avoid some autoconf warnings.
95502         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
95503         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
95504         * m4/afs.m4 (gl_AFS): Likewise.
95505         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
95506         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
95507         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95508         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
95509         (gl_INTEGER_TYPE_SUFFIX): Likewise.
95510         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
95511         (AC_CHECK_DECLS_ONCE): Likewise.
95512         Rename file...
95513         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
95514         gnulib-tool requires autoconf 2.59 or better.
95515         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
95517 2008-04-08  Eric Blake  <ebb9@byu.net>
95519         Use 'git describe --match' if present (added in git 1.5.5).
95520         * build-aux/git-version-gen: Limit result to tags that match 'v*'
95521         if possible.
95523 2008-04-08  Bruno Haible  <bruno@clisp.org>
95525         Add tentative support for OpenServer.
95526         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
95527         _ptr, _cnt.
95528         * lib/fpurge.c (fpurge): Likewise.
95529         * lib/freadable.c (freadable): Likewise.
95530         * lib/freadahead.c (freadahead): Likewise.
95531         * lib/freading.c (freading): Likewise.
95532         * lib/freadptr.c (freadptr): Likewise.
95533         * lib/freadseek.c (freadptrinc): Likewise.
95534         * lib/fseeko.c (rpl_fseeko): Likewise.
95535         * lib/fseterr.c (fseterr): Likewise.
95536         * lib/fwritable.c (fwritable): Likewise.
95537         * lib/fwriting.c (fwriting): Likewise.
95538         Reported by Roger Cornelius <rac@tenzing.org> and
95539         Brian K. White <brian@aljex.com>.
95541 2008-04-06  Jim Meyering  <meyering@redhat.com>
95543         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
95545 2008-04-06  Bruno Haible  <bruno@clisp.org>
95547         Avoid possible error with non-ASCII bytes in UTF-8 locales.
95548         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
95549         * tests/test-printf-posix.sh: Likewise.
95550         * tests/test-vfprintf-posix.sh: Likewise.
95551         * tests/test-vprintf-posix.sh: Likewise.
95552         * tests/test-xprintf-posix.sh: Likewise.
95554 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95556         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
95557         hide error from 'ls', needed on OS/2.
95558         Report by Elbert Pol <elbert.pol@gmail.com>.
95560 2008-04-04  Eric Blake  <ebb9@byu.net>
95562         Make test-fseeko.c failures meaningful.
95563         * tests/test-fseeko.c: Print line number on failure.
95564         * tests/test-fseek.c: Likewise.
95565         Reported by Nelson H. F. Beebe.
95567         Improve strtod bug detection check.
95568         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
95569         required for Solaris 10.
95570         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
95572 2008-04-04  Bruno Haible  <bruno@clisp.org>
95574         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
95575         by m4/setenv.m4.
95577 2008-04-03  Eric Blake  <ebb9@byu.net>
95579         Ensure sane .version contents.
95580         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
95581         version string.
95582         * build-aux/git-version-gen: Improve documentation.
95584         Make GNU make output nicer.
95585         * top/GNUmakefile [!_have-Makefile]: Add dependency on
95586         MAKECMDGOALS to enforce message for all command line targets.  Set
95587         srcdir for use in maint.mk.
95589         Another maintainer tweak.
95590         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
95591         a target that regenerates version.
95593 2008-04-03  Jim Meyering  <meyering@redhat.com>
95595         vc-list-files: don't cause coreutils "make po-check" failure
95596         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
95598 2008-04-03  Eric Blake  <ebb9@byu.net>
95600         Allow VPATH usage of vc-list-files.
95601         * build-aux/vc-list-files (scriptversion): Add timestamp.
95602         (options): Add --help, --version, -C.
95603         (CVS): Support installed cvsu.
95605 2008-04-02  Bruno Haible  <bruno@clisp.org>
95607         Avoid some "statement with no effect" warnings from gcc.
95608         * tests/test-wctype.c (main): Explicitly ignore unused values.
95609         Reported by Jim Meyering.
95611 2008-04-02  Jim Meyering  <meyering@redhat.com>
95613         Avoid some warnings from "gcc -Wshadow".
95614         * tests/test-frexp.c (exp): Define to a different identifier.
95615         * tests/test-frexpl.c (exp): Likewise.
95617 2008-04-03  Jim Meyering  <meyering@redhat.com>
95619         bootstrap: remove dangling *.[ch] symlinks from lib
95620         * build-aux/bootstrap [dangling symlink removal]: Move find's
95621         -depth option to precede all others, to avoid a warning.
95622         Remove *.[ch] files too, and from "$source_base" (usually lib/).
95624 2008-04-02  Bruno Haible  <bruno@clisp.org>
95626         Avoid some warnings from "gcc -Wshadow".
95627         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
95628         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
95629         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
95630         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
95631         Reported by Jim Meyering.
95633 2008-04-01  Bruno Haible  <bruno@clisp.org>
95635         Fix test to work on IRIX 6.5 with cc.
95636         * tests/test-math.c (numeric_equal): New function.
95637         (main): Use it.
95639 2008-04-01  Bruno Haible  <bruno@clisp.org>
95641         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
95643 2008-04-01  Bruno Haible  <bruno@clisp.org>
95645         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
95646         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95647         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
95648         (Depends-on): Remove math.
95650         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
95651         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95652         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
95653         (Depends-on): Remove math.
95655         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
95656         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95657         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
95658         (Depends-on): Remove math.
95659         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
95660         (Depends-on): Remove math.
95662         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
95663         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95664         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
95665         (Depends-on): Remove math.
95666         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
95667         (Depends-on): Remove math.
95669         * tests/test-round1.c: Include nan.h.
95670         (main): Use NaNd instead of NAN.
95671         * modules/round-tests (Files): Add tests/nan.h.
95673         * tests/test-trunc1.c: Include nan.h.
95674         (main): Use NaNd instead of NAN.
95675         * modules/trunc-tests (Files): Add tests/nan.h.
95677         * tests/test-roundf1.c: Include nan.h.
95678         (main): Use NaNf instead of NAN.
95679         * modules/roundf-tests (Files): Add tests/nan.h.
95681         * tests/test-truncf1.c: Include nan.h.
95682         (main): Use NaNf instead of NAN.
95683         * modules/truncf-tests (Files): Add tests/nan.h.
95685         * tests/test-ceilf1.c: Include nan.h.
95686         (main): Use NaNf instead of NAN.
95687         * modules/ceilf-tests (Files): Add tests/nan.h.
95689         * tests/test-floorf1.c: Include nan.h.
95690         (main): Use NaNf instead of NAN.
95691         * modules/floorf-tests (Files): Add tests/nan.h.
95693         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
95694         (main): Use NaNf instead of NAN.
95695         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
95697         * tests/test-isnand.c: Include nan.h instead of <math.h>.
95698         (main): Use NaNd instead of NAN.
95699         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
95701         * tests/test-frexp.c: Include nan.h.
95702         (main): Use NaNd instead of NAN.
95703         * modules/frexp-tests (Files): Add tests/nan.h.
95705         * lib/isnan.c: Don't include <math.h>.
95706         (FUNC): Don't use NAN macro.
95707         * modules/isnand-nolibm (Depends-on): Remove math.
95708         * modules/isnanf-nolibm (Depends-on): Remove math.
95709         * modules/isnanl (Depends-on): Remove math.
95710         * modules/isnanl-nolibm (Depends-on): Remove math.
95712         * tests/nan.h: New file.
95714 2008-04-01  Eric Blake  <ebb9@byu.net>
95716         Fix typos.
95717         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
95718         values to be the right type.
95720         For now, cater to gnulib strtod inaccuracies.
95721         * tests/test-strtod.c (main): Allow 1-ulp error on expected
95722         fractional results.  While not as nice from a QoI perspective, it
95723         is a quicker patch than correctly implementing decimal to binary
95724         rounding.
95726 2008-03-31  Eric Blake  <ebb9@byu.net>
95728         Guarantee a definition of NAN.
95729         * lib/math.in.h (NAN): Define if missing.
95730         * tests/test-math.c (main): Test it.
95731         * doc/posix-headers/math.texi (math.h): Document this.
95732         * lib/isnan.c (rpl_isnand): Use it.
95733         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
95734         * tests/test-floorf1.c (NaN): Likewise.
95735         * tests/test-frexp.c (NaN): Likewise.
95736         * tests/test-isnand.c (NaN): Likewise.
95737         * tests/test-isnanf.c (NaN): Likewise.
95738         * tests/test-round1.c (NaN): Likewise.
95739         * tests/test-roundf1.c (NaN): Likewise.
95740         * tests/test-snprintf-posix.h (NaN): Likewise.
95741         * tests/test-sprintf-posix.h (NaN): Likewise.
95742         * tests/test-trunc1.c (NaN): Likewise.
95743         * tests/test-truncf1.c (NaN): Likewise.
95744         * tests/test-vasnprintf-posix.c (NaN): Likewise.
95745         * tests/test-vasprintf-posix.c (NaN): Likewise.
95746         * modules/isnand-nolibm (Depends-on): Add math.
95747         * modules/isnanf-nolibm (Depends-on): Likewise.
95748         * modules/isnanl (Depends-on): Likewise.
95749         * modules/isnanl-nolibm (Depends-on): Likewise.
95750         * modules/snprintf-posix-tests (Depends-on): Likewise.
95751         * modules/sprintf-posix-tests (Depends-on): Likewise.
95752         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
95753         * modules/vsprintf-posix-tests (Depends-on): Likewise.
95754         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
95755         * modules/vasprintf-posix-tests (Depends-on): Likewise.
95757 2008-03-31  Bruno Haible  <bruno@clisp.org>
95759         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
95760         * doc/posix-functions/strtod.texi: Likewise.
95762 2008-03-31  Bruno Haible  <bruno@clisp.org>
95764         * tests/test-strtod.c (main): Don't use C99 syntax.
95766 2008-03-31  Bruno Haible  <bruno@clisp.org>
95768         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
95769         Reported by Eric Blake.
95771 2008-03-31  Jim Meyering  <meyering@redhat.com>
95773         Don't compare actual signbit return values.
95774         * tests/test-strtod.c (main): Rather, compare only their
95775         zero/non-zero nature.
95777 2008-03-31  Eric Blake  <ebb9@byu.net>
95779         More strtod documentation.
95780         * doc/posix-functions/strtod.texi (strtod): Interpret more test
95781         failures as distinct bugs.
95783 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
95785         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
95786         Problem reported by Erik Benada in
95787         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
95789 2008-03-30  Bruno Haible  <bruno@clisp.org>
95791         * tests/test-strtod.c: Add comments about which assertion fails on which
95792         platform.
95793         * doc/posix-functions/strtod.texi: Add info about many more platforms.
95795 2008-03-30  Eric Blake  <ebb9@byu.net>
95797         Test signbit behavior on zeros.
95798         * tests/test-signbit.c (test_signbitf): Add tests for zero.
95799         (test_signbitd, test_signbitl): Likewise.
95801         More strtod touchups.
95802         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
95803         sign of negative underflow, for now.  Use .5, not .1.
95804         * doc/posix-functions/strtod.texi (strtod): Mention these
95805         limitations.
95806         Reported by Jim Meyering.
95808 2008-03-30  Bruno Haible  <bruno@clisp.org>
95810         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
95811         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
95813 2008-03-30  Bruno Haible  <bruno@clisp.org>
95815         Avoid failure when attempting to return empty iconv results on some
95816         platforms.
95817         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
95818         allocation, don't report ENOMEM when the resulting string is empty.
95820 2008-03-30  Bruno Haible  <bruno@clisp.org>
95822         Fix buffer overrun.
95823         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
95824         Don't consider the width for tmp_length. Check count against tmp_length
95825         before doing the padding. Ensure enough allocation during padding.
95827 2008-03-30  Eric Blake  <ebb9@byu.net>
95829         strtod touchups.
95830         * lib/strtod.c (strtod): Avoid compiler warnings.
95831         Reported by Jim Meyering.
95833 2008-03-30  Bruno Haible  <bruno@clisp.org>
95835         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
95836         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
95837         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
95838         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
95839         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
95840         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
95841         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
95842         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
95844         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
95845         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
95846         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
95847         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
95848         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
95849         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
95850         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
95851         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
95853         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
95854         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
95855         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
95856         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
95857         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
95858         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
95859         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
95860         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
95862         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
95863         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
95865         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
95866         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
95868         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
95869         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
95871         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
95872         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
95873         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
95875         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
95876         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
95877         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
95879         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
95880         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
95881         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
95883         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
95884         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
95885         * modules/vasprintf (Depends-on): Add EOVERFLOW.
95887         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
95888         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
95889         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
95890         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
95891         (Depends-on): Add EOVERFLOW.
95892         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
95893         (Depends-on): Add EOVERFLOW.
95894         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95895         (Depends-on): Add EOVERFLOW.
95896         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95897         (Depends-on): Add EOVERFLOW.
95898         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95899         (Depends-on): Add EOVERFLOW.
95900         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95901         (Depends-on): Add EOVERFLOW.
95902         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95903         (Depends-on): Add EOVERFLOW.
95904         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95905         (Depends-on): Add EOVERFLOW.
95907         * lib/sprintf.c (EOVERFLOW): Remove fallback.
95908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
95909         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
95911         * lib/snprintf.c (EOVERFLOW): Remove fallback.
95912         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
95913         * modules/snprintf (Depends-on): Add EOVERFLOW.
95915         * lib/poll.c (EOVERFLOW): Remove fallback.
95916         * modules/poll (Depends-on): Add EOVERFLOW.
95918         * lib/getugroups.c (EOVERFLOW): Remove fallback.
95919         * modules/getugroups (Depends-on): Add EOVERFLOW.
95921         * lib/getdelim.c (EOVERFLOW): Remove fallback.
95922         * modules/getdelim (Depends-on): Add EOVERFLOW.
95924         * lib/ftell.c (EOVERFLOW): Remove fallback.
95925         * modules/ftell (Depends-on): Add EOVERFLOW.
95927         * lib/fprintf.c (EOVERFLOW): Remove fallback.
95928         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
95929         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
95931         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
95933         * modules/EOVERFLOW-tests: New file.
95934         * tests/test-EOVERFLOW.c: New file.
95936         * modules/EOVERFLOW: New file.
95937         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
95939 2008-03-30  Bruno Haible  <bruno@clisp.org>
95941         Fix bug introduced on 2007-06-10.
95942         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
95943         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
95945 2008-03-30  Bruno Haible  <bruno@clisp.org>
95947         Improve freadseek's efficiency after ungetc.
95948         * lib/freadseek.c: Include freadahead.h.
95949         (freadptrinc): New function, extracted from freadseek.
95950         (freadseek): Use it in a loop. Use freadahead to determine the number
95951         of loop iterations.
95952         * modules/freadseek (Depends-on): Add freadahead.
95953         (configure.ac): Require AC_C_INLINE.
95955 2008-03-30  Bruno Haible  <bruno@clisp.org>
95957         * lib/freadseek.c (freadseek): Don't ignore the return value of
95958         freadptr.
95960 2008-03-29  Eric Blake  <ebb9@byu.net>
95962         Add hex float support.
95963         * modules/strtod (Depends-on): Add c-ctype.
95964         (Link): Mention POW_LIB.
95965         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
95966         whitespace between 'e' and exponent.
95967         * tests/test-strtod.c (main): Enable hex float tests.
95968         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
95969         now provides.
95971         Document various strtod bugs, with some fixes.
95972         * doc/posix-functions/strtod.texi (strtod): Document bugs with
95973         "-0x", "inf", "nan", and hex constants.
95974         * doc/posix-functions/atof.texi (atof): Likewise.
95975         * modules/stdlib (Makefile.am): Support strtod.
95976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
95977         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
95978         detect additional strtod bugs.
95979         * lib/stdlib.in.h (rpl_strtod): Add declarations.
95980         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
95981         bool where appropriate.  Parse 'inf' and 'nan'.
95982         * tests/test-strtod.c: New file.
95983         * modules/strtod (Depends-on): Add stdbool, stdlib.
95984         (configure.ac): Turn on module indicator.
95985         * modules/strtod-tests: New module.
95987 2008-03-29  Eric Blake  <ebb9@byu.net>
95989         Fix ftell on mingw.
95990         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
95991         * modules/ftell-tests (Depends-on): Add binary-io.
95992         * modules/ftello-tests (Depends-on): Likewise.
95993         * tests/test-ftell.c (main): Enhance test to cover behavior after
95994         ungetc.  Enforce binary mode.
95995         * tests/test-ftello.c (main): Likewise.
95997         Pass test-freadseek on cygwin.
95998         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
95999         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
96000         ungetc buffer.
96002         * tests/test-fflush2.c (main): Fix typo.
96004 2008-03-29  Bruno Haible  <bruno@clisp.org>
96006         * tests/test-fflush2.c (main): Temporarily disable the contents of
96007         this test.
96008         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
96009         Reported by Eric Blake.
96011 2008-03-28  Simon Josefsson  <simon@josefsson.org>
96013         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
96014         (GC_SHA224_DIGEST_SIZE): Add.
96016         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
96017         (gc_hash_digest_length): Likewise.
96018         (gc_hash_buffer): Likewise.
96020 2008-03-25  Bruno Haible  <bruno@clisp.org>
96022         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
96023         detail which gettext release to use.
96024         Reported by Simon Josefsson.
96026 2008-03-26  Jim Meyering  <meyering@redhat.com>
96028         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
96029         * modules/gnumakefile (clean-GNUmakefile): Also, use
96030         test ... && ... || : syntax rather than if-then ... fi.
96032         gnumakefile: Don't double-quote-expand $(VPATH) value.
96033         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
96035 2008-03-24  Eric Blake  <ebb9@byu.net>
96037         Alter GNUmakefile to install into top directory.
96038         * modules/maintainer-makefile: Split, and add dependency...
96039         * modules/gnumakefile: to this new module.
96040         * build-aux/GNUmakefile: Move...
96041         * top/GNUmakefile: ...here.
96042         * build-aux/maint.mk: Move...
96043         * top/maint.mk: ...here.
96044         * MODULES.html.sh (Support for maintaining...): Document new
96045         module.
96047 2008-03-23  Bruno Haible  <bruno@clisp.org>
96049         * gnulib-tool: New options --vc-files, --no-vc-files.
96050         (func_usage): Document them.
96051         (vc_files): New variable.
96052         (func_import): Consider vc_files.
96053         (func_create_testdir): Set vc_files to empty.
96054         Suggested by Jim Meyering and Karl Berry.
96056 2008-03-23  Bruno Haible  <bruno@clisp.org>
96058         Fix regex compilation error on HP-UX 11.
96059         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
96060         * modules/regex (Files): Add m4/mbstate_t.m4.
96061         Reported by Ton Voon <ton.voon@altinity.com>.
96063 2008-03-23  Bruno Haible  <bruno@clisp.org>
96065         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
96067 2008-03-23  Eric Blake  <ebb9@byu.net>
96068             Bruno Haible  <bruno@clisp.org>
96070         Install files from top/ in the destination directory.
96071         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
96072         augmentation also for the files from top/.
96073         (func_import, func_create_testdir): Rewrite file names:
96074         top/filename -> filename.
96076 2008-03-23  Bruno Haible  <bruno@clisp.org>
96078         Tweak "gnulib --version" output.
96079         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
96081 2008-03-23  Bruno Haible  <bruno@clisp.org>
96083         Tweak "gnulib --version" output.
96084         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
96085         rather than contents of ChangeLog, when possible.
96087 2008-03-21  Eric Blake  <ebb9@byu.net>
96089         More --version tweaks.
96090         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
96091         date of last ChangeLog entry.
96093 2008-03-21  Jim Meyering  <meyering@redhat.com>
96095         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
96097 2008-03-20  Eric Blake  <ebb9@byu.net>
96099         VPATH fix.
96100         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
96102 2008-03-20  Simon Josefsson  <simon@josefsson.org>
96104         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
96105         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
96107 2008-03-20  Eric Blake  <ebb9@byu.net>
96109         Sync GNUmakefile with coreutils.
96110         * build-aux/GNUmakefile (have-Makefile): Rename...
96111         (_have-Makefile): ...to this, for namespace consideration.
96112         (GNUmakefile.cfg): Include, if present.
96113         (_autoreconf): Define a default.
96114         (_is-dist-target): New rule for rebuilds to pick up intra-release
96115         version.
96116         (maint-cfg.mk): Rename...
96117         (cfg.mk): ...to this.
96119 2008-03-18  Jim Meyering  <meyering@redhat.com>
96121         New script and module: mktempd
96122         * MODULES.html.sh (maint+release support): Add mktempd.
96123         * build-aux/mktempd: New file.
96124         * modules/mktempd: New file.
96126 2008-03-15  Jim Meyering  <meyering@redhat.com>
96128         Undo last change.
96129         * lib/sha1.c, lib/md5.c: 63 != ~63.
96130         Reported by Andreas Schwab.
96132         sha1.c, md5.c: Hoist a redundant expression.
96133         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
96134         "ctx->buflen" only once, before calling *_process_block.
96135         * lib/md5.c (md5_process_bytes): Likewise.
96137 2008-03-14  Eric Blake  <ebb9@byu.net>
96139         Bump copyright year in files generated by gnulib-tool.
96140         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
96141         gnulib-tool, rather than hard-coding it.
96143         Fix 'gnulib-tool --version' output to work with git.
96144         * gnulib-tool (func_gnulib_dir): New function, extracted from...
96145         (startup): ...here.
96146         (func_version): Use it to invoke git-version-gen, rather than
96147         relying on CVS keyword expansion.  Modernize wording.
96148         (cvsdatestamp, last_checkin_date, version): Kill unused
96149         variables.
96151 2008-03-12  Jim Meyering  <meyering@redhat.com>
96153         Recognize optional cast of the argument to free.
96154         * build-aux/useless-if-before-free: Update regexps.
96156         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
96158 2008-03-11  Bruno Haible  <bruno@clisp.org>
96160         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
96161         by a single package.
96162         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
96163         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
96164         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
96165         Reported by Sam Steingold <sds@gnu.org>.
96167 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96169         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
96170         repositories.
96172 2008-03-11  Bruno Haible  <bruno@clisp.org>
96174         Avoid conflicts between local macro definitions.
96175         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
96176         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
96178 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
96179             Bruno Haible  <bruno@clisp.org>
96181         Make va_copy work with some version of xlc on AIX 5.1.
96182         * lib/stdarg.in.h: New file.
96183         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
96184         On AIX, use a <stdarg.h> file substitute.
96185         * modules/stdarg (Files): Add lib/stdarg.in.h.
96186         (Depends-on): Add include_next.
96187         (Makefile.am): Build a stdarg.h substitute if requested.
96188         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
96190 2008-03-10  Bruno Haible  <bruno@clisp.org>
96192         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
96193         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96194         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96196 2008-03-10  Bruno Haible  <bruno@clisp.org>
96198         * modules/stdlib (Depends-on): Add include_next, remove
96199         absolute-header.
96201 2008-03-09  Bruno Haible  <bruno@clisp.org>
96203         * lib/freadahead.h (freadahead): Document more precisely.
96204         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
96205         the sum of both buffer sizes.
96206         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
96207         * NEWS: Document the change.
96209 2008-03-09  Bruno Haible  <bruno@clisp.org>
96211         Extend freadptr to return also the buffer size.
96212         * lib/freadptr.h (freadptr): Add sizep argument.
96213         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
96214         (freadptr): Add sizep argument. Determine buffer size like freadahead
96215         does.
96216         * tests/test-freadptr.c: Don't include freadahead.h.
96217         (main): Adapt for new calling convention of freadptr.
96218         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
96219         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
96220         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
96221         tests/test-freadptr2.sh.
96222         (Depends): Remove freadahead.
96223         (TESTS): Add test-freadptr2.sh.
96224         (check_PROGRAMS): Add test-freadptr2.
96226 2008-03-09  Bruno Haible  <bruno@clisp.org>
96228         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
96229         Report and solution by Simon Josefsson.
96231 2008-03-06  Bruno Haible  <bruno@clisp.org>
96233         Make fflush after ungetc work on BSD platforms.
96234         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
96235         * tests/test-fflush2.c: New file.
96236         * tests/test-fflush2.sh: New file.
96237         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
96238         tests/test-fflush2.c.
96239         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
96240         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
96242 2008-03-06  Eric Blake  <ebb9@byu.net>
96244         Likewise for ftello.
96245         * modules/ftello (Dependencies): Add extensions.
96246         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
96248 2008-03-06  Bruno Haible  <bruno@clisp.org>
96250         * modules/fseeko (Dependencies): Add extensions.
96251         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
96252         Needed on glibc systems.
96254 2008-03-06  Bruno Haible  <bruno@clisp.org>
96256         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
96257         email address.
96258         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96260 2008-03-06  Bruno Haible  <bruno@clisp.org>
96262         * users.txt: Add libgnupdf.
96264 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
96266         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
96267         (Header File Substitutes, Function Substitutes,
96268         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
96269         (Build robot for gnulib): Fix typo.
96271 2008-03-06  Bruno Haible  <bruno@clisp.org>
96273         * doc/gnulib-tool.texi (VCS Issues): Small updates.
96274         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96276 2008-03-06  Bruno Haible  <bruno@clisp.org>
96278         * doc/func.texi: New file, extracted from doc/gnulib.texi.
96279         * doc/gnulib.texi: Include it.
96281 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96283         * modules/func (License): Change license to unlimited; there was
96284         no LGPL parts in the module anyway.
96286 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96288         * modules/__func__: Renamed to modules/func.
96289         * modules/__func__-tests: Renamed to modules/func-tests.
96290         * tests/test-__func__.c: Renamed to tests/test-func.c.
96291         * m4/__func__.m4: Renamed to m4/func.m4.
96292         * doc/gnulib.texi (__func__): Section renamed to func.
96293         Suggested by Eric Blake <ebb9@byu.net>.
96295 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96297         * doc/gnulib.texi (__func__): Use C99 terminology when talking
96298         about __func__.  Make example self-contained.  Suggested by Eric
96299         Blake <ebb9@byu.net>.
96301         * tests/test-__func__.c (main): Avoid extraneous () around __func.
96302         Suggested by Eric Blake <ebb9@byu.net>.
96304 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96306         * modules/__func__: New file.
96307         * modules/__func__-tests: New file.
96308         * tests/test-__func__.c: New file.
96309         * m4/__func__.m4: New file.
96310         * doc/gnulib.texi (__func__): Document __func__ module.
96312 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96314         * modules/byteswap (License): Re-license as LGPLv2+.
96316 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96318         * doc/Makefile: Add pdf target.
96320 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96322         * modules/inline (License): Use 'unlimited', since there are only
96323         *.m4 files in this module.
96325 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96326             Bruno Haible  <bruno@clisp.org>
96328         Add support for HP C 7.1 on OpenVMS 8.3.
96329         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
96331 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96333         Update VMS specifics.
96334         * lib/getopt.c [VMS]: Remove include of unixlib.h.
96336 2008-03-02  Jim Meyering  <meyering@redhat.com>
96338         Remove the last dependency on the "free" module.
96339         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
96340         Reported by Bob Proulx.
96342         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
96344         Remove useless "if" tests before free.  Deprecate "free" module.
96345         * doc/posix-functions/free.texi: Mention that this
96346         module is no longer useful.
96347         * modules/free (Notice): Say this module is obsolete.
96348         * modules/readutmp (Depends-on): Remove free.
96349         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
96350         * lib/putenv.c (putenv): Likewise.
96351         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
96352         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
96353         * tests/test-c-strcasestr.c (main): Likewise.
96354         * tests/test-c-strstr.c (main): Likewise.
96355         * tests/test-mbscasestr1.c (main): Likewise.
96356         * tests/test-mbscasestr2.c (main): Likewise.
96357         * tests/test-mbsstr1.c (main): Likewise.
96358         * tests/test-mbsstr2.c (main): Likewise.
96359         * tests/test-memmem.c (main): Likewise.
96360         * tests/test-strcasestr.c (main): Likewise.
96361         * tests/test-striconv.c (main): Likewise.
96362         * tests/test-striconveh.c (main): Likewise.
96363         * tests/test-striconveha.c (main): Likewise.
96364         * tests/test-strstr.c (main): Likewise.
96366         * build-aux/git-version-gen: Adjust a comment and the Usage string.
96368         bootstrap: sync from coreutils again
96369         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
96371 2008-03-01  Jim Meyering  <meyering@redhat.com>
96373         bootstrap: sync from coreutils
96374         * build-aux/bootstrap (update_po_files): Copy a .po file into place
96375         also when the target doesn't exist.
96377 2008-03-01  Eric Blake  <ebb9@byu.net>
96379         Fix bugs in last patch.
96380         * lib/memchr2.c (memchr2): Fix typo.
96381         * tests/test-memchr2.c: Test previous bug, and don't use GNU
96382         extension.
96383         Reported by Bruce Korb.
96385         New module 'memchr2'.
96386         * modules/memchr2: New file.
96387         * modules/memchr2-tests: Likewise.
96388         * lib/memchr2.h: Likewise.
96389         * lib/memchr2.c: Likewise, based on memchr.c.
96390         * tests/test-memchr2.c: New test.
96391         * MODULES.html.sh (String handling): Add memchr2.
96393 2008-02-29  Bruno Haible  <bruno@clisp.org>
96395         * modules/freadseek-tests: New file.
96396         * tests/test-freadseek.sh: New file.
96397         * tests/test-freadseek.c: New file.
96399         New module 'freadseek'.
96400         * modules/freadseek: New file.
96401         * lib/freadseek.h: New file.
96402         * lib/freadseek.c: New file.
96403         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
96405 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
96407         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
96408         wydawca.
96410         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
96411         program_invocation_name and program_invocation_short_name are
96412         present.
96414 2008-02-28  Bruno Haible  <bruno@clisp.org>
96416         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
96417         * tests/test-freadptr.sh: Also test non-seekable stdin.
96419 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
96421         * build-aux/bootstrap (source_base, m4_base)
96422         (doc_base, tests_base): New variables.
96423         (gnulib_tool_options): Do not hardcode base directories, use
96424         the above variables instead.
96426 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
96428         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
96430 2008-02-28  Bruno Haible  <bruno@clisp.org>
96432         * modules/freadptr-tests: New file.
96433         * tests/test-freadptr.sh: New file.
96434         * tests/test-freadptr.c: New file.
96436         New module 'freadptr'.
96437         * modules/freadptr: New file.
96438         * lib/freadptr.h: New file.
96439         * lib/freadptr.c: New file.
96440         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
96442 2008-02-26  Karl Berry  <karl@freefriends.org>
96444         Sync from Libtool:
96445         * libltdl/argz.c (argz_add, argz_count): New functions.
96446         * libltdl/argz.in.h: Declare them.
96447         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
96449 2008-02-22  Bruno Haible  <bruno@clisp.org>
96451         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
96452         is a pointer type.  Needed for HP-UX 10.
96453         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
96454         * doc/posix-functions/gmtime_r.texi: Likewise.
96455         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96457 2008-02-24  Bruno Haible  <bruno@clisp.org>
96459         * modules/environ-tests: New file.
96460         * tests/test-environ.c: New file.
96462         New module 'environ'.
96463         * modules/environ: New file.
96464         * lib/unistd.in.h (environ): New declaration.
96465         * m4/environ.m4: New file.
96466         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
96467         after use.
96468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
96469         HAVE_DECL_ENVIRON.
96470         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
96471         HAVE_DECL_ENVIRON.
96472         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
96473         wrong claim that 'environ' is missing on some systems.
96474         * modules/execute (Depends-on): Add environ.
96475         * lib/execute.c (environ): Remove fallback declaration.
96476         * modules/pipe (Depends-on): Add environ.
96477         * lib/pipe.c (environ): Remove fallback declaration.
96478         * modules/setenv (Depends-on): Add environ.
96479         * lib/setenv.c (environ): Remove fallback declaration.
96480         * modules/unsetenv (Depends-on): Add environ.
96481         * lib/unsetenv.c (environ): Remove fallback declaration.
96482         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
96483         m4/environ.m4.
96484         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
96485         (gl_PREREQ_UNSETENV): Likewise.
96487 2008-02-24  Bruno Haible  <bruno@clisp.org>
96489         * doc/posix-functions/environ.texi: Document the MacOS X problem.
96491 2008-02-20  Bob Proulx  <bob@proulx.com>
96493         Enable use of older two part flavor 'git describe'.
96494         * build-aux/git-version-gen: If using the older two part flavor of
96495         git version then recreate the third part now present in the
96496         newer three part flavor of git describe.
96498 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
96500         * lib/fts.c (fts_build): Typo correction to comment.
96502 2008-02-17  Bruno Haible  <bruno@clisp.org>
96504         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
96505         generating no-op conflicts.
96507 2008-02-17  Bruno Haible  <bruno@clisp.org>
96509         Speed up by 10%.
96510         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
96511         result_entries, rather than an index-based loop.
96513 2008-02-17  Bruno Haible  <bruno@clisp.org>
96515         Speed up by 25%.
96516         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
96517         'hashcode_cached'.
96518         (entry_create): New function.
96519         (entry_hashcode): Use the cached hashcode if possible.
96520         (read_changelog_file, try_split_merged_entry): Use entry_create.
96522 2008-02-17  Bruno Haible  <bruno@clisp.org>
96524         Speed up from O(n^2) to O(n) for long ChangeLog files.
96525         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
96526         (read_changelog_file): Change implementation of entries_reversed list
96527         to rbtreehash.
96528         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
96530 2008-02-17  Bruno Haible  <bruno@clisp.org>
96532         New option --split-merged-entry.
96533         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
96534         (find_paragraph_end, try_split_merged_entry): New functions.
96535         (long_options): Add option --split-merged-entry.
96536         (usage): Document option --split-merged-entry.
96537         (main): Implement option --split-merged-entry.
96538         Reported by Eric Blake.
96540 2008-02-17  Bruno Haible  <bruno@clisp.org>
96542         * lib/git-merge-changelog.c: Include c-strstr.h.
96543         (main): Support the "git pull --rebase" situation.
96544         * modules/git-merge-changelog (Depends-on): Add c-strstr.
96545         Reported by Eric Blake.
96547 2008-02-16  Eric Blake  <ebb9@byu.net>
96549         Avoid doubling \ in common case of "c-maybe" quoting style.
96550         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
96551         eliding outer quotes.
96552         * lib/quotearg.h: Document this.
96553         * tests/test-quotearg.c (result_strings, inputs, results_g)
96554         (flag_results, locale_results): Test it by adding a new string to
96555         each test group.
96556         (compare_strings): Test new string.
96558 2008-02-13  Eric Blake  <ebb9@byu.net>
96560         Avoid trigraph quoting in default output.
96561         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
96562         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
96563         unless explicitly requested.
96564         * tests/test-quotearg.c (flag_results, main): Add additional tests.
96566 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
96568         Don't rely on signed integer overflowing to negative value.
96569         * lib/getugroups.c (getugroups): Include <limits.h>.
96570         Instead, compare against INT_MAX, and increment only if the test passes.
96572 2008-02-13  Jim Meyering  <meyering@redhat.com>
96573         and Eric Blake  <ebb9@byu.net>
96575         Avoid shadowing warning and compile errors on Linux.
96576         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
96577         forwarding macros on Linux.
96578         (dcgettext): Define a stub, for Linux.
96579         (results_g, main): Avoid warnings.
96581 2008-02-12  Eric Blake  <ebb9@byu.net>
96583         Silence warning in last patch.
96584         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
96586         Quotearg part 4: add tests, fix c-maybe colon quoting.
96587         * lib/quotearg.h: Improve documentation.
96588         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
96589         escapes when adding outer quotes.  When quoting trigraphs, use
96590         valid C notation.  When quoting NUL, omit extra characters if next
96591         character is not digit.  Alter prototype.
96592         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
96593         callers.
96594         * modules/quotearg-tests: New module.
96595         * tests/test-quotearg.c: New test.
96597 2008-02-07  Eric Blake  <ebb9@byu.net>
96599         Quotearg part 3: add flag to control outer quote elision.
96600         * lib/quotearg.h (c_maybe_quoting_style): New style.
96601         (enum quoting_flags): Better documentation of flags.
96602         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
96603         c-maybe style.
96604         (quotearg_buffer_restyled): Handle new flag to elide outer
96605         quotes.
96607         Quotearg part 2: add flag that can control NUL elision.
96608         * lib/quotearg.h (set_quoting_flags): New prototype.
96609         * lib/quotearg.c (struct quoting_options): Add flag field.
96610         (set_quoting_flags): New function.
96611         (quotearg_buffer_restyled): Add flags parameter.
96612         (quotearg_alloc_mem): Set the flag if length cannot be returned.
96613         (quotearg_n_options): Set the flag, since length cannot be
96614         returned.
96615         (quoting_options_from_style): Default flags correctly.
96617         Quotearg part 1: more wrappers, restore quotearg_char state.
96618         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
96619         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
96620         (quotearg_colon_mem): New wrappers.
96621         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
96622         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
96623         functions.
96624         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
96625         (quotearg_colon_mem): New functions.
96627 2008-02-11  Bruno Haible  <bruno@clisp.org>
96629         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
96630         library in the current directory: it does not work with parallel make.
96631         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96633 2008-02-11  Bruno Haible  <bruno@clisp.org>
96635         * .gitattributes: New file.
96637 2008-02-11  Jim Meyering  <meyering@redhat.com>
96639         useless-if-before-free: Fix reversed exit values.
96640         * build-aux/useless-if-before-free: Use correct values
96641         for EXIT_MATCH and EXIT_NO_MATCH.
96643         * build-aux/useless-if-before-free: Close stdout carefully.
96645 2008-02-10  Bruno Haible  <bruno@clisp.org>
96647         New module 'git-merge-changelog'.
96648         * modules/git-merge-changelog: New file.
96649         * lib/git-merge-changelog.c: New file.
96651 2008-02-10  Jim Meyering  <meyering@redhat.com>
96653         useless-if-before-free: New option: --list (-l).
96655         useless-if-before-free: Don't exit immediately upon open failure.
96656         * build-aux/useless-if-before-free: Exit 2 for errors.
96657         Upon failure to open a file, don't exit immediately.
96658         Rather, just warn and continue with any remaining files.
96660 2008-02-10  Bruno Haible  <bruno@clisp.org>
96662         New abstract list operation 'node_set_value'.
96663         * lib/gl_list.h (gl_list_node_set_value): New function.
96664         (struct gl_list_implementation): New field node_set_value.
96665         * lib/gl_list.c (gl_list_node_set_value): New function.
96666         * lib/gl_array_list.c (gl_array_node_set_value): New function.
96667         (gl_array_list_implementation): Update.
96668         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
96669         (gl_carray_list_implementation): Update.
96670         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
96671         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96672         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96673         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
96674         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96675         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96676         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96677         Update.
96678         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
96679         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
96680         (gl_sublist_list_implementation): Update.
96682 2008-02-10  Bruno Haible  <bruno@clisp.org>
96684         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
96685         Needed when ELEMENT is #defined to 'some_type *'.
96687 2008-02-10  Jim Meyering  <meyering@redhat.com>
96689         New script and module: useless-if-before-free
96690         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
96691         * build-aux/useless-if-before-free: New file.
96692         * modules/useless-if-before-free: New file.
96694         * build-aux/gitlog-to-changelog: Use committer date, not author date.
96696         xstrtol_error: Fix typo.
96697         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
96698         s/exit_failure/exit_status/.
96700 2008-02-09  Jim Meyering  <meyering@redhat.com>
96702         New script and module: gitlog-to-changelog
96703         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
96704         * modules/gitlog-to-changelog: New file.
96705         * build-aux/gitlog-to-changelog: New file.
96707 2008-02-08  Jim Meyering  <meyering@redhat.com>
96709         Avoid two "parameter unused" warnings.
96710         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
96711         Mark "st" as used.
96713         Use "git COMMAND", not "git-COMMAND".
96714         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
96715         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
96716         * build-aux/git-version-gen: Use "git status", not "git-status".
96718 2008-02-07  Bruno Haible  <bruno@clisp.org>
96720         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
96721         Avoids a crash on Windows Vista.
96722         Reported by Adam Strzelecki <ono@java.pl> via
96723         Simon Josefsson <simon@josefsson.org>.
96725 2008-02-06  Bruno Haible  <bruno@clisp.org>
96727         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
96728         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
96729         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
96730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
96731         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
96732         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
96733         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
96734         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
96735         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
96736         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
96737         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
96738         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
96739         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
96740         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96741         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
96742         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
96743         left-adjust flag.
96744         * tests/test-snprintf-posix.h (test_function): Likewise.
96745         * tests/test-sprintf-posix.h (test_function): Likewise.
96746         * tests/test-vasprintf-posix.c (test_function): Likewise.
96747         * doc/posix-functions/fprintf.texi: Update.
96748         * doc/posix-functions/printf.texi: Update.
96749         * doc/posix-functions/snprintf.texi: Update.
96750         * doc/posix-functions/sprintf.texi: Update.
96751         * doc/posix-functions/vfprintf.texi: Update.
96752         * doc/posix-functions/vprintf.texi: Update.
96753         * doc/posix-functions/vsnprintf.texi: Update.
96754         * doc/posix-functions/vsprintf.texi: Update.
96755         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96757 2008-02-06  Bruno Haible  <bruno@clisp.org>
96759         Fix bug introduced on 2008-01-26.
96760         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
96762 2008-02-06  Bruno Haible  <bruno@clisp.org>
96764         Fix bug introduced on 2007-06-10.
96765         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
96766         !NEED_PRINTF_FLAG_ZERO.
96768 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
96770         getloadavg: use libperfstat on AIX5
96771         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
96773 2008-02-03  Bruno Haible  <bruno@clisp.org>
96775         * lib/diffseq.h: Add comments about required #includes.
96776         Reported by Michael Biggs <gnulib@doubleplum.net>.
96778 2008-02-01  Bruno Haible  <bruno@clisp.org>
96780         * users.txt: Add gnuit.
96782 2008-01-31  Bruno Haible  <bruno@clisp.org>
96784         * lib/md4.c (set_uint32): Mark as inline.
96785         * lib/md5.c (set_uint32): Likewise.
96786         * lib/sha1.c (set_uint32): Likewise.
96787         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
96788         * m4/md5.m4 (gl_MD5): Likewise.
96789         * m4/sha1.m4 (gl_SHA1): Likewise.
96791 2008-01-31  Jim Meyering  <meyering@redhat.com>
96793         Use "sizeof VAR", rather than a literal "4".
96794         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
96795         * lib/md4.c (md4_read_ctx): Likewise.
96796         * lib/sha1.c (sha1_read_ctx): Likewise.
96798 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96800         * tests/test-sha1.c: New file, based on test-md5.c.
96802         * modules/crypto/sha1-tests: New file.
96804 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96806         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
96808 2008-01-31  Jim Meyering  <meyering@redhat.com>
96810         Prefer "sizeof v" over the equivalent "4".
96811         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
96812         * lib/md5.c (set_uint32): Likewise.
96813         * lib/sha1.c (set_uint32): Likewise.
96815 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96817         * lib/sha1.c (set_uint32): Mark function as static.
96819 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96821         md2: clarify comments to say that alignment is not required.
96822         * lib/md2.h: Remove warning about alignment in comment.
96823         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
96824         never been required.
96826 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96828         md4: adapt alignment constraint fix from sha1.
96829         * lib/md4.c (set_uint32): New function, from sha1.c
96830         (md4_read_ctx): Use it.
96831         (md4_finish_ctx): Doc fix.
96832         * lib/md4.h: Doc fix.
96834 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96836         md5: adapt alignment constraint fix from sha1.
96837         * lib/md5.c (set_uint32): New function, from sha1.c
96838         (md5_read_ctx): Use it.
96839         (md5_finish_ctx): Doc fix.
96840         * lib/md5.h: Doc fix.
96842 2008-01-30  Peter Palfrader  <weasel@debian.org>
96844         sha1: remove the result buffer alignment constraint
96845         * lib/sha1.c (set_uint32): New function.
96846         (sha1_read_ctx): Rewrite to remove the result buffer alignment
96847         constraint.
96848         (sha1_finish_ctx): Remove comment warning about alignment constraint.
96849         * lib/sha1.h: Likewise.
96851 2008-01-30  Andreas Schwab  <schwab@suse.de>
96852             Bruno Haible  <bruno@clisp.org>
96854         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
96855         correct definition of LDBL_MIN_EXP.
96857 2008-01-30  Karl Berry  <karl@gnu.org>
96859         * config/srclist-update: try to preserve x bit on updates.
96860         * config/srclistvars.sh: update for karl.
96862 2008-01-29  Jim Meyering  <meyering@redhat.com>
96864         vasnprintf.c: Avoid warning about unused label
96865         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
96866         "overflow" label definition and associated code with the
96867         same cpp condition that guards the sole use of that label.
96869 2008-01-26  Bruno Haible  <bruno@clisp.org>
96871         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
96872         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
96873         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
96874         * lib/isnanl-nolibm.h (isnanl): Likewise.
96875         Reported by Paul Eggert <eggert@cs.ucla.edu>.
96877 2008-01-26  Bruno Haible  <bruno@clisp.org>
96879         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
96880         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
96882 2008-01-26  Bruno Haible  <bruno@clisp.org>
96884         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
96885         GCC >= 4.0 built-in.
96886         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
96888 2008-01-26  Bruno Haible  <bruno@clisp.org>
96890         Rename isnan, applicable to 'double' only, to isnand.
96891         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
96892         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
96893         (configure.ac): Update.
96894         (Include): Replace "isnan.h" with "isnand.h".
96895         * m4/isnand.m4: Renamed from m4/isnan.m4.
96896         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
96897         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
96898         instead of isnan.c.
96899         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
96900         instead of HAVE_ISNAN_IN_LIBC.
96901         (isnand): Renamed from isnan.
96902         * lib/isnand.c: New file.
96903         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
96904         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
96905         (Makefile.am): Update.
96906         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
96907         Include isnand.h instead of isnan.h.
96908         (main): Test isnand instead of isnan.
96909         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
96910         isnan-nolibm.
96911         * modules/frexp (Depends-on): Likewise.
96912         * modules/frexp-tests (Depends-on): Likewise.
96913         * modules/frexp-nolibm (Depends-on): Likewise.
96914         * modules/frexp-nolibm-tests (Depends-on): Likewise.
96915         * modules/isfinite (Depends-on): Likewise.
96916         * modules/round-tests (Depends-on): Likewise.
96917         * modules/signbit (Depends-on): Likewise.
96918         * modules/signbit-tests (Depends-on): Likewise.
96919         * modules/snprintf-posix (Depends-on): Likewise.
96920         * modules/sprintf-posix (Depends-on): Likewise.
96921         * modules/trunc-tests (Depends-on): Likewise.
96922         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
96923         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
96924         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
96925         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
96926         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
96927         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
96928         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
96929         * modules/vasnprintf-posix (Depends-on): Likewise.
96930         * modules/vasprintf-posix (Depends-on): Likewise.
96931         * modules/vfprintf-posix (Depends-on): Likewise.
96932         * modules/vsnprintf-posix (Depends-on): Likewise.
96933         * modules/vsprintf-posix (Depends-on): Likewise.
96934         * lib/frexp.c: Include isnand.h instead of isnan.h.
96935         (ISNAN): Set to isnand instead of isnan.
96936         * lib/isfinite.c: Include isnand.h instead of isnan.h.
96937         (gl_isfinited): Use isnand instead of isnan.
96938         * lib/signbitd.c: Include isnand.h instead of isnan.h.
96939         (gl_signbitd): Use isnand instead of isnan.
96940         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
96941         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
96942         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
96943         (main): Use isnand instead of isnan.
96944         * tests/test-round1.c: Include isnand.h.
96945         (main): Use isnand instead of isnan.
96946         * tests/test-round2.c: Include isnand.h instead of isnan.h.
96947         (ISNAN): Set to isnand instead of isnan.
96948         * tests/test-trunc1.c: Include isnand.h.
96949         (main): Use isnand instead of isnan.
96950         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
96951         (equal): Use isnand instead of isnan.
96952         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
96953         isnand-nolibm.
96954         * NEWS: Mention the change.
96956 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
96957             Bruno Haible  <bruno@clisp.org>
96959         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
96960         the GCC builtins for signbits are present and set
96961         REPLACE_SIGNBIT_USING_GCC if so.
96962         * lib/math.in.h (signbit): Define using GCC builtins if
96963         REPLACE_SIGNBIT_USING_GCC is set.
96964         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
96965         REPLACE_SIGNBIT_USING_GCC.
96966         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
96968 2008-01-25  Jim Meyering  <meyering@redhat.com>
96970         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
96971         * lib/poll.c: Include <config.h>, not "config.h".
96972         * tests/test-getaddrinfo.c: Likewise.
96974 2008-01-25  Simon Josefsson  <simon@josefsson.org>
96976         * modules/sockets-tests: New file.
96978 2008-01-24  Simon Josefsson  <simon@josefsson.org>
96980         * modules/sockets: New module, can be used to call WSA_Startup and
96981         WSA_Cleanup when needed.
96983         * lib/sockets.h, lib/sockets.c: New files.
96985         * m4/sockets.m4: New file.
96987         * tests/test-sockets.c: New file.
96989 2008-01-19  Bruno Haible  <bruno@clisp.org>
96991         * doc/posix-headers: Renamed from doc/headers.
96992         * doc/posix-functions: Renamed from doc/functions.
96993         * doc/gnulib.texi: Update.
96995 2008-01-19  Bruno Haible  <bruno@clisp.org>
96997         * doc/glibc-functions/strcasestr.texi: Include contents of
96998         doc/functions/strcasestr.texi, fixing the list of platforms.
96999         * doc/functions/strcasestr.texi: Remove file.
97001 2008-01-19  Bruno Haible  <bruno@clisp.org>
97003         * doc/glibc-functions/memmem.texi: Include contents of
97004         doc/functions/memmem.texi.
97005         * doc/functions/memmem.texi: Remove file.
97007 2008-01-18  Bruno Haible  <bruno@clisp.org>
97009         * doc/glibc-functions/*.texi: New files.
97010         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
97011         to use the new files.
97013 2008-01-17  Bruno Haible  <bruno@clisp.org>
97015         * tests/test-gethostname.c (main): Fix printf statement.
97017 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97019         * modules/gethostname-tests: New file.
97021         * tests/test-gethostname.c: New file.
97023 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97025         * lib/gethostname.c: Include string.h unconditionally, strncpy is
97026         used by the UNAME case.  Reported by Bruno Haible
97027         <bruno@clisp.org>.
97029 2008-01-17  Eric Blake  <ebb9@byu.net>
97031         Convert c-strcasestr to be more efficient.
97032         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
97033         (Depends-on): Add c-strcase, remove malloca, strnlen.
97034         * tests/test-c-strcasestr.c (main): Enhance test.
97035         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
97037 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
97039         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
97040         Use it in creating po/Makevars.
97042 2008-01-15  Simon Josefsson  <simon@josefsson.org>
97044         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
97045         Applications that requires it should initialize libgcrypt
97046         manually.
97048 2008-01-16  Simon Josefsson  <simon@josefsson.org>
97050         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
97052 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
97054         Fix problem with getdate on mingw32 reported by Simon Josefsson
97055         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
97056         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
97057         tzname", when deciding whether to declare tzname.
97058         * lib/strftime.c (tzname): Likewise.
97060 2008-01-15  Bruno Haible  <bruno@clisp.org>
97062         Work around a MacOS X 10.5 bug in frexpl().
97063         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
97064         * doc/functions/frexpl.texi: Document the bug.
97065         Reported by Elias Pipping <pipping@gentoo.org>.
97067 2008-01-14  Eric Blake  <ebb9@byu.net>
97069         Touch up previous patch.
97070         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
97071         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
97073         Convert strcasestr module to use Two-Way algorithm.
97074         * modules/strcasestr-simple: New module, based on the old
97075         strcasestr, but with Two-Way rather than KMP.
97076         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
97077         * lib/string.in.h (rpl_strcasestr): Declare.
97078         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
97079         performance.
97080         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
97081         * modules/string (Makefile.am): Support strcasestr.
97082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
97083         * modules/strcasestr-tests (Depends-on): Check for alarm.
97084         * tests/test-strcasestr.c: Augment test.
97085         * lib/str-two-way.h: Clean up stray macro.
97086         * NEWS: Document new module.
97087         * MODULES.html.sh (string handling): Likewise.
97088         * doc/functions/strcasestr.texi: New file.
97089         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
97090         here, since it is not a POSIX function.
97092 2008-01-14  Colin Watson  <cjwatson@debian.org>
97093             Bruno Haible  <bruno@clisp.org>
97095         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
97096         works fine; if not, set REPLACE_STRSIGNAL.
97097         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
97098         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97099         REPLACE_STRSIGNAL.
97100         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
97101         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
97102         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
97104 2008-01-14  Bruno Haible  <bruno@clisp.org>
97106         * modules/strsignal (Include): Change to <string.h>.
97108 2008-01-14  Colin Watson  <cjwatson@debian.org>
97110         * modules/argp (Notice): Add a notice recommending to change
97111         XGETTEXT_OPTIONS.
97112         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
97114 2008-01-13  Colin Watson  <cjwatson@debian.org>
97116         * modules/strsignal-tests: New file.
97117         * tests/test-strsignal.c: New file.
97119         * lib/strsignal.c: New file, from glibc with modifications.
97120         * lib/siglist.h: New file, from glibc with modifications.
97121         * lib/string.in.h (strsignal): New declaration.
97122         * m4/strsignal.m4: New file.
97123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97124         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
97125         * modules/strsignal: New file.
97126         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
97127         HAVE_DECL_STRSIGNAL.
97129 2008-01-13  Bruno Haible  <bruno@clisp.org>
97131         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
97132         locale encoding is not ASCII. Needed for OpenBSD 4.0.
97133         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
97134         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
97136 2008-01-13  Bruno Haible  <bruno@clisp.org>
97138         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
97139         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
97140         * lib/argp.h (__attribute__): Likewise.
97141         * lib/c-stack.c (__attribute__): Likewise.
97142         * lib/error.h (__attribute__): Likewise.
97143         * lib/fts.c (__attribute__): Likewise.
97144         * lib/openat.h (__attribute__): Likewise.
97145         * lib/stdio.in.h (__attribute__): Likewise.
97146         * lib/string.in.h (__attribute__): Likewise.
97147         * lib/utimens.c (__attribute__): Likewise.
97148         * lib/vasnprintf.h (__attribute__): Likewise.
97149         * lib/xalloc.h (__attribute__): Likewise.
97150         * lib/xprintf.h (__attribute__): Likewise.
97151         * lib/xstrtol.h (__attribute__): Likewise.
97152         * lib/xvasprintf.h (__attribute__): Likewise.
97154 2008-01-12  Bruno Haible  <bruno@clisp.org>
97156         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
97157         * doc/glibc-headers/a.out.texi: New file.
97158         * doc/glibc-headers/aliases.texi: New file.
97159         * doc/glibc-headers/alloca.texi: New file.
97160         * doc/glibc-headers/ar.texi: New file.
97161         * doc/glibc-headers/argp.texi: New file.
97162         * doc/glibc-headers/argz.texi: New file.
97163         * doc/glibc-headers/byteswap.texi: New file.
97164         * doc/glibc-headers/crypt.texi: New file.
97165         * doc/glibc-headers/endian.texi: New file.
97166         * doc/glibc-headers/envz.texi: New file.
97167         * doc/glibc-headers/err.texi: New file.
97168         * doc/glibc-headers/error.texi: New file.
97169         * doc/glibc-headers/execinfo.texi: New file.
97170         * doc/glibc-headers/fpu_control.texi: New file.
97171         * doc/glibc-headers/fstab.texi: New file.
97172         * doc/glibc-headers/fts.texi: New file.
97173         * doc/glibc-headers/getopt.texi: New file.
97174         * doc/glibc-headers/ieee754.texi: New file.
97175         * doc/glibc-headers/ifaddrs.texi: New file.
97176         * doc/glibc-headers/libintl.texi: New file.
97177         * doc/glibc-headers/mcheck.texi: New file.
97178         * doc/glibc-headers/mntent.texi: New file.
97179         * doc/glibc-headers/obstack.texi: New file.
97180         * doc/glibc-headers/paths.texi: New file.
97181         * doc/glibc-headers/printf.texi: New file.
97182         * doc/glibc-headers/pty.texi: New file.
97183         * doc/glibc-headers/resolv.texi: New file.
97184         * doc/glibc-headers/shadow.texi: New file.
97185         * doc/glibc-headers/sysexits.texi: New file.
97186         * doc/glibc-headers/ttyent.texi: New file.
97188 2008-01-12  Jim Meyering  <meyering@redhat.com>
97190         announce-gen: emit Gnulib's git-based version string.
97191         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
97192         New option --gnulib-version=V, where V is expected to be
97193         the output of running git describe in the gnulib directory.
97194         (get_tool_versions): Request feedback on xdelta.  I suspect it's
97195         not useful, and plan to stop publishing an xdelta file with each
97196         coreutils release.
97198         * build-aux/announce-gen: Also check for lzma-compressed files.
97200 2008-01-11  Bruno Haible  <bruno@clisp.org>
97202         * tests/test-memmem.c (main): Increase maximum allowed time.
97203         * tests/test-strstr.c (main): Likewise.
97205 2008-01-11  Bruno Haible  <bruno@clisp.org>
97207         * doc/functions/memmem.texi: Add more precisions about platforms.
97208         * doc/functions/strstr.texi: Likewise.
97210 2008-01-10  Eric Blake  <ebb9@byu.net>
97212         * m4/strstr.m4: Delete cruft from copy-n-paste.
97213         Reported by Bruno Haible.
97215 2008-01-10  Bruno Haible  <bruno@clisp.org>
97217         Make c-strstr rely on strstr.
97218         * lib/c-strstr.c: Don't include str-kmp.h.
97219         (c_strstr): Define in terms of strstr.
97220         * modules/c-strstr (Files): Remove lib/str-kmp.h.
97221         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
97223 2008-01-10  Bruno Haible  <bruno@clisp.org>
97225         * doc/gnulib.texi (String Functions in C Locale): New section.
97226         * doc/c-ctype.texi: New file.
97227         * doc/c-strcase.texi: New file.
97228         * doc/c-strcaseeq.texi: New file.
97229         * doc/c-strcasestr.texi: New file.
97230         * doc/c-strstr.texi: New file.
97231         * doc/c-strtod.texi: New file.
97232         * doc/c-strtold.texi: New file.
97234 2008-01-10  Eric Blake  <ebb9@byu.net>
97236         * lib/relocatable.h: Fix a comment.
97238 2008-01-10  Eric Blake  <ebb9@byu.net>
97240         Share two-way algorithm.
97241         * lib/str-two-way.h: New file, merged from...
97242         * lib/memmem.c: ...here...
97243         * lib/strstr.c: ...and here.
97244         * modules/memmem (Files): Use it.
97245         * modules/strstr (Files): Likewise.
97247         Avoid quadratic strstr implementations.
97248         * lib/strstr.c: New file.
97249         * m4/strstr.m4: Likewise.
97250         * modules/strstr: Likewise.
97251         * modules/strstr-tests: Likewise.
97252         * tests/test-strstr.c: Likewise.
97253         * lib/string.in.h (rpl_strstr): Declare.
97254         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
97255         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
97256         * modules/string (Makefile.am): Likewise.
97257         * MODULES.html.sh (string handling): Mention new module.
97258         * doc/functions/strstr.texi (strstr): Document the bug.
97260 2008-01-10  Bruno Haible  <bruno@clisp.org>
97262         * lib/relocatable.h (relocate): State whether result is freshly
97263         allocated or not.
97264         * lib/relocatable.c (relocate): Return a freshly allocated string
97265         instead of a pointer to a privately held string.
97266         Reported by Sylvain Beucler <beuc@gnu.org>.
97268 2008-01-10  Colin Watson  <cjwatson@debian.org>
97270         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
97271         s/S_ISNLK/S_ISLNK/.
97273 2008-01-09  Bruno Haible  <bruno@clisp.org>
97275         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
97276         and other files.
97277         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
97278         if it's only a guess.
97279         * modules/memmem: Simplify by depending on memmem-simple.
97281 2008-01-09  Bruno Haible  <bruno@clisp.org>
97283         Work around OpenBSD 4.0 tdelete() bug.
97284         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
97285         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
97286         macros and don't redefine the enum values.
97287         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
97288         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
97289         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
97291 2008-01-09  Bruno Haible  <bruno@clisp.org>
97293         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
97294         (main): Don't perform the tests if setlocale did not install a UTF-8
97295         locale. Needed on OpenBSD 4.0.
97296         * modules/wcwidth-tests (Depends-on): Add localcharset.
97298 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
97300         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
97301         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
97302         * NEWS: announce this.
97303         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
97305 2008-01-09  Simon Josefsson  <simon@josefsson.org>
97306         and Eric Blake  <ebb9@byu.net>
97308         Add memmem-simple module.
97309         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
97310         (gl_FUNC_MEMMEM): Separate performance from presence checks.
97311         * modules/memmem-simple: New file.
97312         * modules/memmem (Description): Tweak.
97313         * MODULES.html.sh (string handling): Mention new module.
97314         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
97315         addressed by memmem-simple.
97316         * NEWS: Document the difference.
97318 2008-01-09  Eric Blake  <ebb9@byu.net>
97320         Give gcc some memmem optimization hints.
97321         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
97322         (strcasestr): Declare as pure.
97323         * modules/memmem (Maintainer): Claim my implementation.
97325 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97327         Support AIX 6.1 and higher.
97328         * build-aux/config.libpath: Likewise.
97329         * build-aux/config.rpath: Likewise.
97331 2008-01-08  Jim Meyering  <meyering@redhat.com>
97332             Bruno Haible  <bruno@clisp.org>
97334         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
97335         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
97336         Reported by Peter Fales in
97337         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
97339 2008-01-08  Bruno Haible  <bruno@clisp.org>
97341         * modules/unictype/category-of (Depends-on): Add
97342         unictype/category-none.
97343         * modules/unictype/category-and-tests (Depends-on): Add
97344         unictype/category-{L,N,Lu,Nd}.
97345         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
97346         * modules/unictype/category-or-tests (Depends-on): Add
97347         unictype/category-{L,N}.
97348         * modules/unictype/category-name-tests (Depends-on): Add
97349         unictype/category-{Z,Nl}.
97350         Reported by Simon Josefsson.
97352 2008-01-08  Bruno Haible  <bruno@clisp.org>
97354         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
97355         convention better.
97356         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
97357         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
97358         Reported by Peter Miller <millerp@canb.auug.org.au>.
97360 2008-01-08  Eric Blake  <ebb9@byu.net>
97362         Rewrite memmem to guarantee linear complexity without malloc.
97363         * lib/memmem.c (memmem): Use Two-Way rather than
97364         Knuth-Morris-Pratt, to allow O(1) space usage.
97365         (critical_factorization, two_way_short_needle)
97366         (two_way_long_needle): New functions.
97367         (knuth_morris_pratt): Delete.
97368         * modules/memmem (Depends-on): No longer need malloca or stdbool.
97369         Add stdint.
97370         * tests/test-memmem.c (main): Add tests for periodic needle and
97371         sublinear performance.
97372         * doc/functions/memmem.texi (memmem): Document other deficiencies
97373         in cygwin and older glibc.
97375 2008-01-08  Bruno Haible  <bruno@clisp.org>
97377         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
97378         augmentation.
97380 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
97382         Add a configure time option: --disable-acl.
97383         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
97384         AC_ARG_ENABLE(acl).
97386 2008-01-06  Simon Josefsson  <simon@josefsson.org>
97388         * tests/test-localename.c: Don't include obsolete "setenv.h".
97390         * modules/localename-tests (Depends-on): Need unsetenv.
97392 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97394         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
97396 2008-01-06  Colin Watson  <cjwatson@debian.org>
97398         * users.txt: Add man-db.
97400 2008-01-07  Bruno Haible  <bruno@clisp.org>
97402         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
97403         previous section name.
97405 2008-01-07  Bruno Haible  <bruno@clisp.org>
97407         * lib/progname.c (set_program_name): Don't strip off a leading
97408         "lt-" prefix outside a .libs directory.
97409         Suggested by Paul Eggert.
97411 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
97412             Bruno Haible  <bruno@clisp.org>
97414         Improve memory cleanup in 'relocatable' module.
97415         * lib/relocatable.h (compute_curr_prefix): Change return type to
97416         'char *'.
97417         * lib/relocatable.c (compute_curr_prefix): Change return type to
97418         'char *'. Free curr_installdir after use.
97419         (relocate): Free curr_prefix_better after use.
97420         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
97422 2008-01-01  Bruno Haible  <bruno@clisp.org>
97424         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
97425         failure on older glibc systems.
97426         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97428 2008-01-05  Eric Blake  <ebb9@byu.net>
97430         Avoid quadratic system memmem.
97431         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
97432         Reported by Ralf Wildenhues.
97434         Fix memmem test for mingw.
97435         * modules/memmem-tests (configure.ac): Check for alarm.
97436         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
97437         it.
97438         * doc/functions/memmem.texi: New file.
97439         * doc/gnulib.texi (Function Substitutes): Add memmem.
97440         Reported by Bruno Haible.
97442 2008-01-04  Bruno Haible  <bruno@clisp.org>
97444         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
97445         Require gl_HEADER_STRINGS_H_DEFAULTS, not
97446         gl_HEADER_STRING_H_DEFAULTS.
97448 2008-01-04  Eric Blake  <ebb9@byu.net>
97450         Shorten duration of memmem test.
97451         * tests/test-memmem.c (main): Use alarm to declare failure if test
97452         is taking too long.
97453         Reported by Ralf Wildenhues.
97455 2007-12-21  Simon Josefsson  <simon@josefsson.org>
97457         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
97458         string, needed by strerror.
97460 2008-01-03  Colin Watson  <cjwatson@debian.org>
97461             Bruno Haible  <bruno@clisp.org>
97463         * doc/gnulib-tool.texi (Localization): New section.
97465 2008-01-02  Bruno Haible  <bruno@clisp.org>
97467         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
97468         variables to 'unsigned char *' type.
97469         Reported by Paul Eggert.
97471 2008-01-02  Jim Meyering  <jim@meyering.net>
97473         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
97475 2007-12-31  Jim Meyering  <jim@meyering.net>
97477         Avoid use of private FTS type name.
97478         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
97480 2007-12-30  Karl Berry  <karl@gnu.org>
97482         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
97483         work around defect in Texinfo and/or the standalone Info browser.
97485 2007-12-30  Bruno Haible  <bruno@clisp.org>
97487         Unify 5 copies of the KMP code.
97488         * lib/str-kmp.h: New file.
97489         * lib/c-strcasestr.c: Include str-kmp.h.
97490         (knuth_morris_pratt): Remove function.
97491         (c_strcasestr): Update.
97492         * lib/c-strstr.c: Include str-kmp.h.
97493         (knuth_morris_pratt): Remove function.
97494         (c_strcasestr): Update.
97495         * lib/mbscasestr.c: Include str-kmp.h.
97496         (knuth_morris_pratt_unibyte): Remove function.
97497         * lib/mbsstr.c: Include str-kmp.h.
97498         (knuth_morris_pratt_unibyte): Remove function.
97499         * lib/strcasestr.c: Include str-kmp.h.
97500         (knuth_morris_pratt): Remove function.
97501         (strcasestr): Update.
97502         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
97503         * modules/c-strstr (Files): Likewise.
97504         * modules/mbscasestr (Files): Likewise.
97505         * modules/mbsstr (Files): Likewise.
97506         * modules/strcasestr (Files): Likewise.
97507         Suggested by Paul Eggert.
97509 2007-12-30  Bruno Haible  <bruno@clisp.org>
97511         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
97512         defined.
97514 2007-12-30  Bruno Haible  <bruno@clisp.org>
97516         * lib/xmalloca.h: Include xalloc.h.
97517         (xnmalloca): New macro.
97519 2007-12-30  Bruno Haible  <bruno@clisp.org>
97521         * lib/malloca.h (nmalloca): New macro.
97522         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
97523         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
97524         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
97525         knuth_morris_pratt_multibyte): Likewise.
97526         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
97527         knuth_morris_pratt_multibyte): Likewise.
97528         * lib/memmem.c (knuth_morris_pratt): Likewise.
97529         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
97531 2007-12-25  Bruno Haible  <bruno@clisp.org>
97533         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
97534         * lib/glob.c: Don't include openat.h.
97535         (link_exists2_p): Add back the code that deals with the
97536         !GLOB_ALTDIRFUNC case.
97537         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
97538         let it do the filename concatenation.
97539         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
97540         * modules/glob (Depends-on): Remove openat.
97542 2007-12-31  Bruno Haible  <bruno@clisp.org>
97544         * modules/dirfd (License): Change to LGPLv2+.
97545         Approved by Jim Meyering.
97547 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
97549         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
97550         when multiplying M by sizeof (size_t).
97552 2007-12-10  Martin Lambers  <marlam@marlam.de>
97554         Override getpagesize on mingw.
97555         * lib/getpagesize.c: New file.
97556         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
97557         * modules/getpagesize (Files): Add lib/getpagesize.c.
97558         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
97559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
97560         REPLACE_GETPAGESIZE.
97561         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
97563 2007-12-25  Bruno Haible  <bruno@clisp.org>
97565         * modules/localcharset (Notice): New field.
97566         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
97567         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
97569 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
97570             Bruno Haible  <bruno@clisp.org>
97572         Avoid using the syntax symbol() in formatted documentation.
97573         * MODULES.html.sh (func_module): When replacing symbol() with a
97574         hyperlink, remove the parentheses. Show an error if some remain.
97575         Recognize and render the '...' syntax.
97576         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
97577         Rework. Add paragraph about GCC's inlining.
97578         * doc/alloca.texi: Likewise.
97579         * doc/error.texi: Remove parentheses from symbol reference.
97580         * doc/gnulib-intro.texi: Likewise.
97581         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
97582         * modules/fnmatch (Description): Reword to say "the ... function".
97583         * modules/full-read (Description): Likewise.
97584         * modules/full-write (Description): Likewise.
97585         * modules/safe-read (Description): Likewise.
97586         * modules/safe-write (Description): Likewise.
97587         * modules/strchrnul (Description): Likewise.
97588         * modules/trim (Description): Likewise.
97589         * modules/error (Description): Remove parentheses from symbol
97590         references.
97591         * modules/verror (Description): Likewise.
97592         Reported by Karl Berry.
97594 2007-12-25  Bruno Haible  <bruno@clisp.org>
97596         Fixup after 2007-10-16 commit.
97597         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
97599 2007-12-24  Bruno Haible  <bruno@clisp.org>
97601         Make --enable-relocatable work with DESTDIR.
97602         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
97603         to compute installdir from destprog.
97604         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
97605         also set the RELOC_DESTDIR variable.
97606         Reported by Левашев Иван <octagram@bluebottle.com>.
97608 2007-12-24  Bruno Haible  <bruno@clisp.org>
97610         Fix link error due to xalloc_die().
97611         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
97612         of xreadlink.
97613         * lib/relocwrapper.c: Update comments.
97614         * build-aux/install-reloc: Remove xreadlink.c from file list.
97615         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
97616         xreadlink.c.
97617         Reported by Левашев Иван <octagram@bluebottle.com>.
97619 2007-12-24  Bruno Haible  <bruno@clisp.org>
97621         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
97622         * lib/setenv.h: Remove file.
97623         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
97624         lib/setenv.h.
97625         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
97626         (Depends-on): Add stdlib.
97627         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
97628         gl_FUNC_UNSETENV.
97629         (Include): Replace setenv.h with <stdlib.h>.
97630         * modules/unsetenv: New file.
97631         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
97632         * lib/unsetenv.c: Include <stdlib.h> first.
97633         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
97634         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
97635         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
97636         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
97637         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
97638         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
97640         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97641         * doc/functions/unsetenv.texi: Update.
97642         * modules/xsetenv (Depends-on): Add unsetenv.
97643         * modules/getdate (Depends-on): Likewise.
97644         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
97645         * lib/xsetenv.c: Don't include setenv.h.
97646         * lib/getdate.y: Likewise.
97647         * lib/relocwrapper.c: Likewise.
97648         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
97649         (Depends-on): Add stdlib.
97650         * NEWS: Mention the changes.
97651         Reported by Левашев Иван <octagram@bluebottle.com>.
97653 2007-12-23  Bruno Haible  <bruno@clisp.org>
97655         * lib/memmem.c (memmem): Use lowercase variable names. Tab
97656         indentation.
97658 2007-12-23  Bruno Haible  <bruno@clisp.org>
97660         * lib/c-strcasestr.c: Add more comments.
97661         * lib/c-strstr.c: Likewise.
97662         * lib/mbscasestr.c: Likewise.
97663         * lib/mbsstr.c: Likewise.
97664         * lib/strcasestr.c: Likewise.
97665         * lib/memmem.c: Likewise.
97667 2007-12-23  Bruno Haible  <bruno@clisp.org>
97669         * tests/test-memmem.c: Include <string.h> first.
97671 2007-12-22  Bruno Haible  <bruno@clisp.org>
97673         * gnulib-tool (func_create_testdir): Change $auxdir while generating
97674         the contents of $testsbase.
97675         Reported by Ralf Wildenhues.
97677 2007-12-22  Bruno Haible  <bruno@clisp.org>
97679         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
97680         two variables local_ldadd_before, local_ldadd_last.
97682 2007-12-20  Eric Blake  <ebb9@byu.net>
97684         Work around circular library issue when cross-compiling.
97685         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
97686         that progname.o does not need to pull in rpl_memcmp.
97688 2007-12-19  Eric Blake  <ebb9@byu.net>
97690         Fix memmem to avoid O(n^2) worst-case complexity.
97691         * lib/memmem.c (knuth_morris_pratt): New function.
97692         (memmem): Use it if first few naive iterations fail.
97693         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
97694         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
97695         * modules/memchr (License): Likewise.
97696         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
97697         malloca.
97698         * tests/test-memmem.c: Rewrite, borrowing ideas from
97699         test-mbsstr1.c; the old version wouldn't even compile!
97700         * modules/memmem-tests: New file.
97701         * lib/string.in.h (rpl_memmem): Add declaration.
97702         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
97703         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
97704         REPLACE_MEMMEM.
97706 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
97708         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
97709         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
97710         before any system include files, and undef after them all.  This
97711         should fix a problem on VMS reported by John E. Malmberg in
97712         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
97714 2007-12-17  Eric Blake  <ebb9@byu.net>
97716         Revert addition of verify, for BSD/OS.
97717         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
97718         can't handle large files, for the sake of obsolete platforms.
97719         * modules/fseeko (Depends-on): Remove verify.
97720         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
97721         * doc/functions/ftello.texi (ftello): Likewise.
97722         * doc/functions/fgetpos.texi (fgetpos): Likewise.
97723         Reported by Larry Jones.
97725 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
97727         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
97728         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
97730 2007-12-17  Jim Meyering  <meyering@redhat.com>
97732         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
97733         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
97734         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
97735         * modules/getcwd (Depends-on): Add openat.
97736         Reported by Petr Salinger.
97738 2007-12-17  Bruno Haible  <bruno@clisp.org>
97740         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
97741         avoid a segmentation fault of the configure test on x86_64 systems.
97743 2007-12-15  Jim Meyering  <meyering@redhat.com>
97745         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
97747 2007-12-13  Eric Blake  <ebb9@byu.net>
97749         Another fseek test.
97750         * tests/test-fseek.c (main): Also test ungetc handling.
97751         * tests/test-fseeko.c (main): Likewise.
97752         * modules/fseeko (Depends-on): Add verify.
97753         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
97754         large.
97755         Reported by Larry Jones.
97757         Fix fseeko on mingw.
97758         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
97759         seek.
97761         Beef up fseek tests.
97762         * tests/test-fseek.c (main): Also test eof handling.
97763         * tests/test-fseeko.c (main): Likewise.
97764         Reported by Larry Jones.
97766 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
97768         Fix fseeko on BSD-based platforms.
97769         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
97770         successful seek.
97772 2007-12-12  Eric Blake  <ebb9@byu.net>
97774         Allow circular dependency of separate libtests.a
97775         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
97776         when use_libtests.
97778 2007-12-11  Eric Blake  <ebb9@byu.net>
97780         Fix bug with -0.0L in previous patch.
97781         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
97782         * tests/test-isnan.c (main): Also test on zeroes.
97783         * tests/test-isnanf.c (main): Likewise.
97784         * tests/test-isnanl.h (main): Likewise.
97786         Detect pseudo-denormals on x86 even when cross-compiling.
97787         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
97788         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
97789         invalid bit patterns that happen to satisfy ==.
97791         Avoid link failures with separate libtests.a.
97792         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
97793         last, to satisfy circular dependencies.
97795 2007-12-11  Eric Blake  <ebb9@byu.net>
97796         and Bruno Haible  <bruno@clisp.org>
97798         Fix OpenBSD 4.0 <float.h> handling of long double.
97799         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
97800         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
97801         * doc/headers/float.texi (float.h): Document OpenBSD bug.
97803 2007-12-11  Jim Meyering  <meyering@redhat.com>
97805         * users.txt: Add libvirt.
97807         Support versions of autoconf prior to 2.59c.
97808         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
97809         if it is not already defined.
97811 2007-12-09  Bruno Haible  <bruno@clisp.org>
97813         Let 'gnulib-tool --import' collect sources needed for the tests in
97814         tests/ rather than in lib/.
97815         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
97816         argument. If true, add rules to generate libtests.a, and put libtests.a
97817         into $(LDADD). Consider source files in subdirectories and set
97818         uses_subdirs.
97819         (func_emit_initmacro_start, func_emit_initmacro_end,
97820         func_emit_initmacro_done): Pass all arguments explicitly.
97821         (func_import): Determine two module lists main_modules,
97822         testsrelated_modules. Determine use_libtests. Determine two variables
97823         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
97824         instead of just sed_transform_lib_file. Determine two variables
97825         main_files and testsrelated_files. Compute 'files' as the union of
97826         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
97827         func_add_or_update. In the generated gnulib-comp.m4, collect the
97828         object files for tests/ in different variables than those for lib/.
97829         Substitute LIBTESTS_LIBDEPS.
97830         (func_create_testdir): Combine the uses_subdirs results from
97831         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
97833 2007-12-09  Bruno Haible  <bruno@clisp.org>
97835         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
97836         the build-aux directory.
97838 2007-12-09  Bruno Haible  <bruno@clisp.org>
97840         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
97841         introduced on 2006-09-09.
97843 2007-12-07  Jim Meyering  <meyering@redhat.com>
97845         Let these macros work also with autoconf-2.59.
97846         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
97847         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
97848         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
97850 2007-12-06  Jim Meyering  <meyering@redhat.com>
97852         Avoid a configure-time syntax error in gl_FUNC_ACL.
97853         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
97854         function in each branch, before testing the cache variable.
97856 2007-12-04  Eric Blake  <ebb9@byu.net>
97858         Make scripts executable.
97859         * build-aux/config.guess: Add execute permissions.
97860         * build-aux/config.sub: Likewise.
97861         * build-aux/gendocs.sh: Likewise.
97863         Fix frexp on mingw.
97864         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
97865         cross-compiling.
97866         * doc/functions/frexp.texi (frexp): Document the bug.
97868         Make cygwin fseeko check more reliable.
97869         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
97870         version numbers, rather than unrelated feature check.
97871         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
97872         * doc/functions/ftello.texi (ftello): Likewise.
97873         Reported by Bruno Haible.
97875         * m4/strerror.m4: Bump version number.
97877 2007-12-03  Bruno Haible  <bruno@clisp.org>
97879         * doc/functions/mprotect.texi: Mention the mingw problem.
97881 2007-12-03  Eric Blake  <ebb9@byu.net>
97883         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
97884         REPLACE_STRERROR is initialized before this macro.
97886 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
97888         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
97889         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
97890         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
97891         put -lsec in even for programs other than 'ls'.  This fixes a problem
97892         for gettext reported by Bruno Haible in
97893         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
97894         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
97895         Add support for Solaris 10.  This isn't efficient, but should get the
97896         job done for now.
97898 2007-12-03  James Youngman  <jay@gnu.org>
97900         * doc/regexprops-generic.texi: change "an close-group" to "a
97901         close-group" and "illegal" to "not allowed".
97903 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97905         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
97906         pr_byname.h. Needed for the rare case when the maintainer has done
97907         "make maintainer-clean" in the source directory and then attempts a
97908         build outside the source directory.
97909         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
97910         scripts_byname.h.
97912 2007-12-02  Martin Lambers  <marlam@marlam.de>
97913             Bruno Haible  <bruno@clisp.org>
97915         * lib/getpagesize.h: Remove file.
97916         * lib/unistd.in.h: Include declaration of getpagesize here.
97917         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
97918         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
97919         HAVE_SYS_PARAM_H.
97920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
97921         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97922         * modules/getpagesize (Files): Remove lib/getpagesize.h.
97923         (Depends-on): Add unistd.
97924         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
97925         (Include): Use <unistd.h> instead of getpagesize.h.
97926         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
97927         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97928         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
97929         gl_GETPAGESIZE invocation, already handled by module dependency.
97930         * lib/pagealign_alloc.c: Don't include getpagesize.h.
97932 2007-12-02  Bruno Haible  <bruno@clisp.org>
97934         * modules/strings-tests: New file.
97935         * tests/test-strings.c: New file.
97937         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
97938         * lib/strings.in.h: New file.
97939         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
97940         * m4/strings_h.m4: New file.
97941         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
97942         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
97943         * modules/strings: New file.
97944         * modules/string (Makefile.am): Update.
97945         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
97946         Reported by Karl Berry.
97948 2007-12-01  Eric Blake  <ebb9@byu.net>
97950         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
97951         accommodate fix in cygwin 1.5.25.
97953 2007-12-01  Jim Meyering  <meyering@redhat.com>
97955         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
97956         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
97957         that would inhibit utf8-optimization of a regexp containing line-
97958         or buffer-anchors, e.g., `^', `$'.
97960 2007-11-30  Bruno Haible  <bruno@clisp.org>
97962         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
97963         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
97964         glthread_recursive_lock_init.
97965         * lib/lock.c (glthread_recursive_lock_init)
97966         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
97967         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97969 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
97971         New function qset_acl, like set_acl but with syscall semantics.
97972         * lib/acl.h (qset_acl): New decl.
97973         * lib/acl.c (qset_acl): New function.
97974         (set_acl): Use new function.  Use more-consistent diagnostics.
97976 2007-11-28  Jim Meyering  <meyering@redhat.com>
97978         * modules/physmem (License): Change from GPL to LGPLv2+.
97980 2007-11-26  Bruno Haible  <bruno@clisp.org>
97982         * lib/vasnprintf.c (decode_long_double): Don't abort if the
97983         'long double' type has excess precision.
97984         Reported by Jim Meyering in
97985         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
97987 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97989         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
97990         Sync from <http://gnu.org/licenses>.
97991         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
97992         with license text from same location.
97993         * doc/maintain.texi, doc/standards.texi:  Sync from
97994         <http://savannah.gnu.org/projects/gnustandards>.
97996 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
97997         and Jim Meyering  <meyering@redhat.com>
97999         Adjust getdate' grammar to accept a slightly more regular language.
98000         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
98001         Before, the former was rejected.
98002         * lib/getdate.y (digits_to_date_time): New function, factored
98003         out of ...
98004         (number): ...here.  Just call digits_to_date_time.
98005         (hybrid): New non-terminal to handle an <unsigned number,
98006         signed relative offset> sequence consistently.
98008 2007-11-18  Jim Meyering  <meyering@redhat.com>
98010         Pull my changes from coreutils:
98011         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
98012         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
98013         use of $gnulib_tool_option_extras, so that it's separated from the
98014         preceding argument.
98016         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
98017         * build-aux/bootstrap (cp_mark_as_generated): Create any required
98018         parent destination directories before copying a file into place.
98020 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
98022         bootstrap: work also with 4-argument variant of AC_INIT
98023         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
98025 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
98027         Port test-getaddrinfo to Solaris.
98028         Problem reported by Bruno Haible in
98029         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
98030         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
98031         explanation of setting 'hints'.
98032         Don't reject an implementation merely because it returns EAI_SERVICE.
98033         (EAI_SERVICE): Define to 0 if not defined.
98035 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
98037         The license of gnu-make and posix-shell is now "GPLed build tool".
98038         * modules/gnu-make (License): Likewise.
98039         * modules/posix-shell (License): Likewise.
98041         New module posix-shell, for determining a POSIX shell
98042         or perhaps something that is close enough to a POSIX shell.
98043         * m4/posix-shell.m4: New file.
98044         * modules/posix-shell: New file.
98046         * MODULES.html.sh: Mention new module.
98048         New module gnu-make, for determining whether we're using GNU Make.
98049         * m4/gnu-make.m4: New file.
98050         * modules/gnu-make: New file.
98051         * MODULES.html.sh: Mention new module.
98053 2007-11-14  Jim Meyering  <meyering@redhat.com>
98055         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
98056         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
98057         use this macro to create a function _definition_.
98058         Remove useless "#undef ARGMATCH_DIE".
98060 2007-11-14  Bruno Haible  <bruno@clisp.org>
98062         * lib/config.charset: Update for OpenBSD 4.1.
98063         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
98065 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
98067         Document 64-bit #if problems in stdint.texi.
98068         * doc/headers/stdint.texi (stdint.h): Mention problems with
98069         64-bit-#if, and how to work around them.
98071         Don't insist on 'long long int' support in the preprocessor.  It
98072         breaks too many things.  For example, PRIdMAX still uses a 'long
98073         long int' format with the latest Sun compiler, even though
98074         HAVE_LONG_LONG_INT isn't defined due to that compiler's
98075         preprocessor problem.  This causes the latest coreutils to dump
98076         core on Solaris 10 sparc with the Sun C compiler.
98077         Instead, fix the 2007-10-16 problem in a different way, by evaluating
98078         the troublesome expressions at configure-time, not at #if-time.
98079         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
98080         preprocessor.
98081         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
98082         compile-time C checks, done at 'configure'-time.
98083         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
98084         * modules/inttypes (Makefile): Substitute the new symbols that
98085         gl_INTTYPES_H now generates.
98086         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
98088 2007-11-12  Bruno Haible  <bruno@clisp.org>
98090         Tests for Unicode character classification functions.
98092         * modules/unictype/bidicategory-byname-tests: New file.
98093         * modules/unictype/bidicategory-name-tests: New file.
98094         * modules/unictype/bidicategory-of-tests: New file.
98095         * modules/unictype/bidicategory-test-tests: New file.
98096         * modules/unictype/block-list-tests: New file.
98097         * modules/unictype/block-of-tests: New file.
98098         * modules/unictype/block-test-tests: New file.
98099         * modules/unictype/category-C-tests: New file.
98100         * modules/unictype/category-Cc-tests: New file.
98101         * modules/unictype/category-Cf-tests: New file.
98102         * modules/unictype/category-Cn-tests: New file.
98103         * modules/unictype/category-Co-tests: New file.
98104         * modules/unictype/category-Cs-tests: New file.
98105         * modules/unictype/category-L-tests: New file.
98106         * modules/unictype/category-Ll-tests: New file.
98107         * modules/unictype/category-Lm-tests: New file.
98108         * modules/unictype/category-Lo-tests: New file.
98109         * modules/unictype/category-Lt-tests: New file.
98110         * modules/unictype/category-Lu-tests: New file.
98111         * modules/unictype/category-M-tests: New file.
98112         * modules/unictype/category-Mc-tests: New file.
98113         * modules/unictype/category-Me-tests: New file.
98114         * modules/unictype/category-Mn-tests: New file.
98115         * modules/unictype/category-N-tests: New file.
98116         * modules/unictype/category-Nd-tests: New file.
98117         * modules/unictype/category-Nl-tests: New file.
98118         * modules/unictype/category-No-tests: New file.
98119         * modules/unictype/category-P-tests: New file.
98120         * modules/unictype/category-Pc-tests: New file.
98121         * modules/unictype/category-Pd-tests: New file.
98122         * modules/unictype/category-Pe-tests: New file.
98123         * modules/unictype/category-Pf-tests: New file.
98124         * modules/unictype/category-Pi-tests: New file.
98125         * modules/unictype/category-Po-tests: New file.
98126         * modules/unictype/category-Ps-tests: New file.
98127         * modules/unictype/category-S-tests: New file.
98128         * modules/unictype/category-Sc-tests: New file.
98129         * modules/unictype/category-Sk-tests: New file.
98130         * modules/unictype/category-Sm-tests: New file.
98131         * modules/unictype/category-So-tests: New file.
98132         * modules/unictype/category-Z-tests: New file.
98133         * modules/unictype/category-Zl-tests: New file.
98134         * modules/unictype/category-Zp-tests: New file.
98135         * modules/unictype/category-Zs-tests: New file.
98136         * modules/unictype/category-and-not-tests: New file.
98137         * modules/unictype/category-and-tests: New file.
98138         * modules/unictype/category-byname-tests: New file.
98139         * modules/unictype/category-name-tests: New file.
98140         * modules/unictype/category-none-tests: New file.
98141         * modules/unictype/category-of-tests: New file.
98142         * modules/unictype/category-or-tests: New file.
98143         * modules/unictype/category-test-withtable-tests: New file.
98144         * modules/unictype/combining-class-tests: New file.
98145         * modules/unictype/ctype-alnum-tests: New file.
98146         * modules/unictype/ctype-alpha-tests: New file.
98147         * modules/unictype/ctype-blank-tests: New file.
98148         * modules/unictype/ctype-cntrl-tests: New file.
98149         * modules/unictype/ctype-digit-tests: New file.
98150         * modules/unictype/ctype-graph-tests: New file.
98151         * modules/unictype/ctype-lower-tests: New file.
98152         * modules/unictype/ctype-print-tests: New file.
98153         * modules/unictype/ctype-punct-tests: New file.
98154         * modules/unictype/ctype-space-tests: New file.
98155         * modules/unictype/ctype-upper-tests: New file.
98156         * modules/unictype/ctype-xdigit-tests: New file.
98157         * modules/unictype/decimal-digit-tests: New file.
98158         * modules/unictype/digit-tests: New file.
98159         * modules/unictype/mirror-tests: New file.
98160         * modules/unictype/numeric-tests: New file.
98161         * modules/unictype/property-alphabetic-tests: New file.
98162         * modules/unictype/property-ascii-hex-digit-tests: New file.
98163         * modules/unictype/property-bidi-arabic-digit-tests: New file.
98164         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
98165         * modules/unictype/property-bidi-block-separator-tests: New file.
98166         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
98167         * modules/unictype/property-bidi-common-separator-tests: New file.
98168         * modules/unictype/property-bidi-control-tests: New file.
98169         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
98170         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
98171         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
98172         * modules/unictype/property-bidi-european-digit-tests: New file.
98173         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
98174         * modules/unictype/property-bidi-left-to-right-tests: New file.
98175         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
98176         * modules/unictype/property-bidi-other-neutral-tests: New file.
98177         * modules/unictype/property-bidi-pdf-tests: New file.
98178         * modules/unictype/property-bidi-segment-separator-tests: New file.
98179         * modules/unictype/property-bidi-whitespace-tests: New file.
98180         * modules/unictype/property-byname-tests: New file.
98181         * modules/unictype/property-combining-tests: New file.
98182         * modules/unictype/property-composite-tests: New file.
98183         * modules/unictype/property-currency-symbol-tests: New file.
98184         * modules/unictype/property-dash-tests: New file.
98185         * modules/unictype/property-decimal-digit-tests: New file.
98186         * modules/unictype/property-default-ignorable-code-point-tests: New file.
98187         * modules/unictype/property-deprecated-tests: New file.
98188         * modules/unictype/property-diacritic-tests: New file.
98189         * modules/unictype/property-extender-tests: New file.
98190         * modules/unictype/property-format-control-tests: New file.
98191         * modules/unictype/property-grapheme-base-tests: New file.
98192         * modules/unictype/property-grapheme-extend-tests: New file.
98193         * modules/unictype/property-grapheme-link-tests: New file.
98194         * modules/unictype/property-hex-digit-tests: New file.
98195         * modules/unictype/property-hyphen-tests: New file.
98196         * modules/unictype/property-id-continue-tests: New file.
98197         * modules/unictype/property-id-start-tests: New file.
98198         * modules/unictype/property-ideographic-tests: New file.
98199         * modules/unictype/property-ids-binary-operator-tests: New file.
98200         * modules/unictype/property-ids-trinary-operator-tests: New file.
98201         * modules/unictype/property-ignorable-control-tests: New file.
98202         * modules/unictype/property-iso-control-tests: New file.
98203         * modules/unictype/property-join-control-tests: New file.
98204         * modules/unictype/property-left-of-pair-tests: New file.
98205         * modules/unictype/property-line-separator-tests: New file.
98206         * modules/unictype/property-logical-order-exception-tests: New file.
98207         * modules/unictype/property-lowercase-tests: New file.
98208         * modules/unictype/property-math-tests: New file.
98209         * modules/unictype/property-non-break-tests: New file.
98210         * modules/unictype/property-not-a-character-tests: New file.
98211         * modules/unictype/property-numeric-tests: New file.
98212         * modules/unictype/property-other-alphabetic-tests: New file.
98213         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
98214         * modules/unictype/property-other-grapheme-extend-tests: New file.
98215         * modules/unictype/property-other-id-continue-tests: New file.
98216         * modules/unictype/property-other-id-start-tests: New file.
98217         * modules/unictype/property-other-lowercase-tests: New file.
98218         * modules/unictype/property-other-math-tests: New file.
98219         * modules/unictype/property-other-uppercase-tests: New file.
98220         * modules/unictype/property-paired-punctuation-tests: New file.
98221         * modules/unictype/property-paragraph-separator-tests: New file.
98222         * modules/unictype/property-pattern-syntax-tests: New file.
98223         * modules/unictype/property-pattern-white-space-tests: New file.
98224         * modules/unictype/property-private-use-tests: New file.
98225         * modules/unictype/property-punctuation-tests: New file.
98226         * modules/unictype/property-quotation-mark-tests: New file.
98227         * modules/unictype/property-radical-tests: New file.
98228         * modules/unictype/property-sentence-terminal-tests: New file.
98229         * modules/unictype/property-soft-dotted-tests: New file.
98230         * modules/unictype/property-space-tests: New file.
98231         * modules/unictype/property-terminal-punctuation-tests: New file.
98232         * modules/unictype/property-test-tests: New file.
98233         * modules/unictype/property-titlecase-tests: New file.
98234         * modules/unictype/property-unassigned-code-value-tests: New file.
98235         * modules/unictype/property-unified-ideograph-tests: New file.
98236         * modules/unictype/property-uppercase-tests: New file.
98237         * modules/unictype/property-variation-selector-tests: New file.
98238         * modules/unictype/property-white-space-tests: New file.
98239         * modules/unictype/property-xid-continue-tests: New file.
98240         * modules/unictype/property-xid-start-tests: New file.
98241         * modules/unictype/property-zero-width-tests: New file.
98242         * modules/unictype/scripts-tests: New file.
98243         * modules/unictype/syntax-c-ident-tests: New file.
98244         * modules/unictype/syntax-c-whitespace-tests: New file.
98245         * modules/unictype/syntax-java-ident-tests: New file.
98246         * modules/unictype/syntax-java-whitespace-tests: New file.
98247         * tests/unictype/test-bidi_byname.c: New file.
98248         * tests/unictype/test-bidi_name.c: New file.
98249         * tests/unictype/test-bidi_of.c: New file.
98250         * tests/unictype/test-bidi_test.c: New file.
98251         * tests/unictype/test-block_list.c: New file.
98252         * tests/unictype/test-block_of.c: New file.
98253         * tests/unictype/test-block_test.c: New file.
98254         * tests/unictype/test-categ_and.c: New file.
98255         * tests/unictype/test-categ_and_not.c: New file.
98256         * tests/unictype/test-categ_byname.c: New file.
98257         * tests/unictype/test-categ_name.c: New file.
98258         * tests/unictype/test-categ_none.c: New file.
98259         * tests/unictype/test-categ_of.c: New file.
98260         * tests/unictype/test-categ_or.c: New file.
98261         * tests/unictype/test-categ_test_withtable.c: New file.
98262         * tests/unictype/test-combining.c: New file.
98263         * tests/unictype/test-decdigit.c: New file.
98264         * tests/unictype/test-digit.c: New file.
98265         * tests/unictype/test-mirror.c: New file.
98266         * tests/unictype/test-numeric.c: New file.
98267         * tests/unictype/test-pr_byname.c: New file.
98268         * tests/unictype/test-pr_test.c: New file.
98269         * tests/unictype/test-predicate-part1.h: New file.
98270         * tests/unictype/test-predicate-part2.h: New file.
98271         * tests/unictype/test-scripts.c: New file.
98272         * tests/unictype/test-sy_c_ident.c: New file.
98273         * tests/unictype/test-sy_java_ident.c: New file.
98275         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
98276         for Unicode 5.0.0.
98277         * tests/unictype/test-categ_Cc.c: Likewise.
98278         * tests/unictype/test-categ_Cf.c: Likewise.
98279         * tests/unictype/test-categ_Cn.c: Likewise.
98280         * tests/unictype/test-categ_Co.c: Likewise.
98281         * tests/unictype/test-categ_Cs.c: Likewise.
98282         * tests/unictype/test-categ_L.c: Likewise.
98283         * tests/unictype/test-categ_Ll.c: Likewise.
98284         * tests/unictype/test-categ_Lm.c: Likewise.
98285         * tests/unictype/test-categ_Lo.c: Likewise.
98286         * tests/unictype/test-categ_Lt.c: Likewise.
98287         * tests/unictype/test-categ_Lu.c: Likewise.
98288         * tests/unictype/test-categ_M.c: Likewise.
98289         * tests/unictype/test-categ_Mc.c: Likewise.
98290         * tests/unictype/test-categ_Me.c: Likewise.
98291         * tests/unictype/test-categ_Mn.c: Likewise.
98292         * tests/unictype/test-categ_N.c: Likewise.
98293         * tests/unictype/test-categ_Nd.c: Likewise.
98294         * tests/unictype/test-categ_Nl.c: Likewise.
98295         * tests/unictype/test-categ_No.c: Likewise.
98296         * tests/unictype/test-categ_P.c: Likewise.
98297         * tests/unictype/test-categ_Pc.c: Likewise.
98298         * tests/unictype/test-categ_Pd.c: Likewise.
98299         * tests/unictype/test-categ_Pe.c: Likewise.
98300         * tests/unictype/test-categ_Pf.c: Likewise.
98301         * tests/unictype/test-categ_Pi.c: Likewise.
98302         * tests/unictype/test-categ_Po.c: Likewise.
98303         * tests/unictype/test-categ_Ps.c: Likewise.
98304         * tests/unictype/test-categ_S.c: Likewise.
98305         * tests/unictype/test-categ_Sc.c: Likewise.
98306         * tests/unictype/test-categ_Sk.c: Likewise.
98307         * tests/unictype/test-categ_Sm.c: Likewise.
98308         * tests/unictype/test-categ_So.c: Likewise.
98309         * tests/unictype/test-categ_Z.c: Likewise.
98310         * tests/unictype/test-categ_Zl.c: Likewise.
98311         * tests/unictype/test-categ_Zp.c: Likewise.
98312         * tests/unictype/test-categ_Zs.c: Likewise.
98313         * tests/unictype/test-ctype_alnum.c: Likewise.
98314         * tests/unictype/test-ctype_alpha.c: Likewise.
98315         * tests/unictype/test-ctype_blank.c: Likewise.
98316         * tests/unictype/test-ctype_cntrl.c: Likewise.
98317         * tests/unictype/test-ctype_digit.c: Likewise.
98318         * tests/unictype/test-ctype_graph.c: Likewise.
98319         * tests/unictype/test-ctype_lower.c: Likewise.
98320         * tests/unictype/test-ctype_print.c: Likewise.
98321         * tests/unictype/test-ctype_punct.c: Likewise.
98322         * tests/unictype/test-ctype_space.c: Likewise.
98323         * tests/unictype/test-ctype_upper.c: Likewise.
98324         * tests/unictype/test-ctype_xdigit.c: Likewise.
98325         * tests/unictype/test-decdigit.h: Likewise.
98326         * tests/unictype/test-digit.h: Likewise.
98327         * tests/unictype/test-numeric.h: Likewise.
98328         * tests/unictype/test-pr_alphabetic.c: Likewise.
98329         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
98330         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
98331         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
98332         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
98333         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
98334         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
98335         * tests/unictype/test-pr_bidi_control.c: Likewise.
98336         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
98337         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
98338         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
98339         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
98340         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
98341         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
98342         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
98343         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
98344         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
98345         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
98346         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
98347         * tests/unictype/test-pr_combining.c: Likewise.
98348         * tests/unictype/test-pr_composite.c: Likewise.
98349         * tests/unictype/test-pr_currency_symbol.c: Likewise.
98350         * tests/unictype/test-pr_dash.c: Likewise.
98351         * tests/unictype/test-pr_decimal_digit.c: Likewise.
98352         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
98353         * tests/unictype/test-pr_deprecated.c: Likewise.
98354         * tests/unictype/test-pr_diacritic.c: Likewise.
98355         * tests/unictype/test-pr_extender.c: Likewise.
98356         * tests/unictype/test-pr_format_control.c: Likewise.
98357         * tests/unictype/test-pr_grapheme_base.c: Likewise.
98358         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
98359         * tests/unictype/test-pr_grapheme_link.c: Likewise.
98360         * tests/unictype/test-pr_hex_digit.c: Likewise.
98361         * tests/unictype/test-pr_hyphen.c: Likewise.
98362         * tests/unictype/test-pr_id_continue.c: Likewise.
98363         * tests/unictype/test-pr_id_start.c: Likewise.
98364         * tests/unictype/test-pr_ideographic.c: Likewise.
98365         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
98366         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
98367         * tests/unictype/test-pr_ignorable_control.c: Likewise.
98368         * tests/unictype/test-pr_iso_control.c: Likewise.
98369         * tests/unictype/test-pr_join_control.c: Likewise.
98370         * tests/unictype/test-pr_left_of_pair.c: Likewise.
98371         * tests/unictype/test-pr_line_separator.c: Likewise.
98372         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
98373         * tests/unictype/test-pr_lowercase.c: Likewise.
98374         * tests/unictype/test-pr_math.c: Likewise.
98375         * tests/unictype/test-pr_non_break.c: Likewise.
98376         * tests/unictype/test-pr_not_a_character.c: Likewise.
98377         * tests/unictype/test-pr_numeric.c: Likewise.
98378         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
98379         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
98380         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
98381         * tests/unictype/test-pr_other_id_continue.c: Likewise.
98382         * tests/unictype/test-pr_other_id_start.c: Likewise.
98383         * tests/unictype/test-pr_other_lowercase.c: Likewise.
98384         * tests/unictype/test-pr_other_math.c: Likewise.
98385         * tests/unictype/test-pr_other_uppercase.c: Likewise.
98386         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
98387         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
98388         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
98389         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
98390         * tests/unictype/test-pr_private_use.c: Likewise.
98391         * tests/unictype/test-pr_punctuation.c: Likewise.
98392         * tests/unictype/test-pr_quotation_mark.c: Likewise.
98393         * tests/unictype/test-pr_radical.c: Likewise.
98394         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
98395         * tests/unictype/test-pr_soft_dotted.c: Likewise.
98396         * tests/unictype/test-pr_space.c: Likewise.
98397         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
98398         * tests/unictype/test-pr_titlecase.c: Likewise.
98399         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
98400         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
98401         * tests/unictype/test-pr_uppercase.c: Likewise.
98402         * tests/unictype/test-pr_variation_selector.c: Likewise.
98403         * tests/unictype/test-pr_white_space.c: Likewise.
98404         * tests/unictype/test-pr_xid_continue.c: Likewise.
98405         * tests/unictype/test-pr_xid_start.c: Likewise.
98406         * tests/unictype/test-pr_zero_width.c: Likewise.
98407         * tests/unictype/test-sy_c_whitespace.c: Likewise.
98408         * tests/unictype/test-sy_java_whitespace.c: Likewise.
98410 2007-11-12  Bruno Haible  <bruno@clisp.org>
98412         Unicode character classification functions.
98413         * lib/unictype.h: New file.
98414         * modules/unictype/base: New file.
98415         * modules/unictype/category-L: New file.
98416         * modules/unictype/category-Lu: New file.
98417         * modules/unictype/category-Ll: New file.
98418         * modules/unictype/category-Lt: New file.
98419         * modules/unictype/category-Lm: New file.
98420         * modules/unictype/category-Lo: New file.
98421         * modules/unictype/category-M: New file.
98422         * modules/unictype/category-Mn: New file.
98423         * modules/unictype/category-Mc: New file.
98424         * modules/unictype/category-Me: New file.
98425         * modules/unictype/category-N: New file.
98426         * modules/unictype/category-Nd: New file.
98427         * modules/unictype/category-Nl: New file.
98428         * modules/unictype/category-No: New file.
98429         * modules/unictype/category-P: New file.
98430         * modules/unictype/category-Pc: New file.
98431         * modules/unictype/category-Pd: New file.
98432         * modules/unictype/category-Ps: New file.
98433         * modules/unictype/category-Pe: New file.
98434         * modules/unictype/category-Pi: New file.
98435         * modules/unictype/category-Pf: New file.
98436         * modules/unictype/category-Po: New file.
98437         * modules/unictype/category-S: New file.
98438         * modules/unictype/category-Sm: New file.
98439         * modules/unictype/category-Sc: New file.
98440         * modules/unictype/category-Sk: New file.
98441         * modules/unictype/category-So: New file.
98442         * modules/unictype/category-Z: New file.
98443         * modules/unictype/category-Zs: New file.
98444         * modules/unictype/category-Zl: New file.
98445         * modules/unictype/category-Zp: New file.
98446         * modules/unictype/category-C: New file.
98447         * modules/unictype/category-Cc: New file.
98448         * modules/unictype/category-Cf: New file.
98449         * modules/unictype/category-Cs: New file.
98450         * modules/unictype/category-Co: New file.
98451         * modules/unictype/category-Cn: New file.
98452         * modules/unictype/category-or: New file.
98453         * modules/unictype/category-of: New file.
98454         * modules/unictype/category-test: New file.
98455         * modules/unictype/category-test-withtable: New file.
98456         * modules/unictype/category-byname: New file.
98457         * modules/unictype/category-none: New file.
98458         * modules/unictype/category-and: New file.
98459         * modules/unictype/category-and-not: New file.
98460         * modules/unictype/category-name: New file.
98461         * modules/unictype/combining-class: New file.
98462         * modules/unictype/category-all: New file.
98463         * modules/unictype/bidicategory-all: New file.
98464         * modules/unictype/bidicategory-byname: New file.
98465         * modules/unictype/bidicategory-name: New file.
98466         * modules/unictype/bidicategory-of: New file.
98467         * modules/unictype/bidicategory-test: New file.
98468         * modules/unictype/decimal-digit: New file.
98469         * modules/unictype/digit: New file.
98470         * modules/unictype/numeric: New file.
98471         * modules/unictype/mirror: New file.
98472         * modules/unictype/property-white-space: New file.
98473         * modules/unictype/property-alphabetic: New file.
98474         * modules/unictype/property-other-alphabetic: New file.
98475         * modules/unictype/property-not-a-character: New file.
98476         * modules/unictype/property-default-ignorable-code-point: New file.
98477         * modules/unictype/property-other-default-ignorable-code-point: New
98478         file.
98479         * modules/unictype/property-deprecated: New file.
98480         * modules/unictype/property-logical-order-exception: New file.
98481         * modules/unictype/property-variation-selector: New file.
98482         * modules/unictype/property-private-use: New file.
98483         * modules/unictype/property-unassigned-code-value: New file.
98484         * modules/unictype/property-uppercase: New file.
98485         * modules/unictype/property-other-uppercase: New file.
98486         * modules/unictype/property-lowercase: New file.
98487         * modules/unictype/property-other-lowercase: New file.
98488         * modules/unictype/property-titlecase: New file.
98489         * modules/unictype/property-soft-dotted: New file.
98490         * modules/unictype/property-id-start: New file.
98491         * modules/unictype/property-other-id-start: New file.
98492         * modules/unictype/property-id-continue: New file.
98493         * modules/unictype/property-other-id-continue: New file.
98494         * modules/unictype/property-xid-start: New file.
98495         * modules/unictype/property-xid-continue: New file.
98496         * modules/unictype/property-pattern-white-space: New file.
98497         * modules/unictype/property-pattern-syntax: New file.
98498         * modules/unictype/property-join-control: New file.
98499         * modules/unictype/property-grapheme-base: New file.
98500         * modules/unictype/property-grapheme-extend: New file.
98501         * modules/unictype/property-other-grapheme-extend: New file.
98502         * modules/unictype/property-grapheme-link: New file.
98503         * modules/unictype/property-bidi-control: New file.
98504         * modules/unictype/property-bidi-left-to-right: New file.
98505         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
98506         * modules/unictype/property-bidi-arabic-right-to-left: New file.
98507         * modules/unictype/property-bidi-european-digit: New file.
98508         * modules/unictype/property-bidi-eur-num-separator: New file.
98509         * modules/unictype/property-bidi-eur-num-terminator: New file.
98510         * modules/unictype/property-bidi-arabic-digit: New file.
98511         * modules/unictype/property-bidi-common-separator: New file.
98512         * modules/unictype/property-bidi-block-separator: New file.
98513         * modules/unictype/property-bidi-segment-separator: New file.
98514         * modules/unictype/property-bidi-whitespace: New file.
98515         * modules/unictype/property-bidi-non-spacing-mark: New file.
98516         * modules/unictype/property-bidi-boundary-neutral: New file.
98517         * modules/unictype/property-bidi-pdf: New file.
98518         * modules/unictype/property-bidi-embedding-or-override: New file.
98519         * modules/unictype/property-bidi-other-neutral: New file.
98520         * modules/unictype/property-hex-digit: New file.
98521         * modules/unictype/property-ascii-hex-digit: New file.
98522         * modules/unictype/property-ideographic: New file.
98523         * modules/unictype/property-unified-ideograph: New file.
98524         * modules/unictype/property-radical: New file.
98525         * modules/unictype/property-ids-binary-operator: New file.
98526         * modules/unictype/property-ids-trinary-operator: New file.
98527         * modules/unictype/property-zero-width: New file.
98528         * modules/unictype/property-space: New file.
98529         * modules/unictype/property-non-break: New file.
98530         * modules/unictype/property-iso-control: New file.
98531         * modules/unictype/property-format-control: New file.
98532         * modules/unictype/property-dash: New file.
98533         * modules/unictype/property-hyphen: New file.
98534         * modules/unictype/property-punctuation: New file.
98535         * modules/unictype/property-line-separator: New file.
98536         * modules/unictype/property-paragraph-separator: New file.
98537         * modules/unictype/property-quotation-mark: New file.
98538         * modules/unictype/property-sentence-terminal: New file.
98539         * modules/unictype/property-terminal-punctuation: New file.
98540         * modules/unictype/property-currency-symbol: New file.
98541         * modules/unictype/property-math: New file.
98542         * modules/unictype/property-other-math: New file.
98543         * modules/unictype/property-paired-punctuation: New file.
98544         * modules/unictype/property-left-of-pair: New file.
98545         * modules/unictype/property-combining: New file.
98546         * modules/unictype/property-composite: New file.
98547         * modules/unictype/property-decimal-digit: New file.
98548         * modules/unictype/property-numeric: New file.
98549         * modules/unictype/property-diacritic: New file.
98550         * modules/unictype/property-extender: New file.
98551         * modules/unictype/property-ignorable-control: New file.
98552         * modules/unictype/property-test: New file.
98553         * modules/unictype/property-byname: New file.
98554         * modules/unictype/property-all: New file.
98555         * modules/unictype/scripts: New file.
98556         * modules/unictype/scripts-all: New file.
98557         * modules/unictype/block-of: New file.
98558         * modules/unictype/block-test: New file.
98559         * modules/unictype/block-list: New file.
98560         * modules/unictype/block-all: New file.
98561         * modules/unictype/syntax-c-whitespace: New file.
98562         * modules/unictype/syntax-java-whitespace: New file.
98563         * modules/unictype/syntax-c-ident: New file.
98564         * modules/unictype/syntax-java-ident: New file.
98565         * modules/unictype/ctype-alnum: New file.
98566         * modules/unictype/ctype-alpha: New file.
98567         * modules/unictype/ctype-cntrl: New file.
98568         * modules/unictype/ctype-digit: New file.
98569         * modules/unictype/ctype-graph: New file.
98570         * modules/unictype/ctype-lower: New file.
98571         * modules/unictype/ctype-print: New file.
98572         * modules/unictype/ctype-punct: New file.
98573         * modules/unictype/ctype-space: New file.
98574         * modules/unictype/ctype-upper: New file.
98575         * modules/unictype/ctype-xdigit: New file.
98576         * modules/unictype/ctype-blank: New file.
98577         * lib/unictype/bidi_byname.c: New file.
98578         * lib/unictype/bidi_name.c: New file.
98579         * lib/unictype/bidi_of.c: New file.
98580         * lib/unictype/bidi_test.c: New file.
98581         * lib/unictype/bitmap.h: New file.
98582         * lib/unictype/block_test.c: New file.
98583         * lib/unictype/blocks.c: New file.
98584         * lib/unictype/categ_C.c: New file.
98585         * lib/unictype/categ_Cc.c: New file.
98586         * lib/unictype/categ_Cf.c: New file.
98587         * lib/unictype/categ_Cn.c: New file.
98588         * lib/unictype/categ_Co.c: New file.
98589         * lib/unictype/categ_Cs.c: New file.
98590         * lib/unictype/categ_L.c: New file.
98591         * lib/unictype/categ_Ll.c: New file.
98592         * lib/unictype/categ_Lm.c: New file.
98593         * lib/unictype/categ_Lo.c: New file.
98594         * lib/unictype/categ_Lt.c: New file.
98595         * lib/unictype/categ_Lu.c: New file.
98596         * lib/unictype/categ_M.c: New file.
98597         * lib/unictype/categ_Mc.c: New file.
98598         * lib/unictype/categ_Me.c: New file.
98599         * lib/unictype/categ_Mn.c: New file.
98600         * lib/unictype/categ_N.c: New file.
98601         * lib/unictype/categ_Nd.c: New file.
98602         * lib/unictype/categ_Nl.c: New file.
98603         * lib/unictype/categ_No.c: New file.
98604         * lib/unictype/categ_P.c: New file.
98605         * lib/unictype/categ_Pc.c: New file.
98606         * lib/unictype/categ_Pd.c: New file.
98607         * lib/unictype/categ_Pe.c: New file.
98608         * lib/unictype/categ_Pf.c: New file.
98609         * lib/unictype/categ_Pi.c: New file.
98610         * lib/unictype/categ_Po.c: New file.
98611         * lib/unictype/categ_Ps.c: New file.
98612         * lib/unictype/categ_S.c: New file.
98613         * lib/unictype/categ_Sc.c: New file.
98614         * lib/unictype/categ_Sk.c: New file.
98615         * lib/unictype/categ_Sm.c: New file.
98616         * lib/unictype/categ_So.c: New file.
98617         * lib/unictype/categ_Z.c: New file.
98618         * lib/unictype/categ_Zl.c: New file.
98619         * lib/unictype/categ_Zp.c: New file.
98620         * lib/unictype/categ_Zs.c: New file.
98621         * lib/unictype/categ_and.c: New file.
98622         * lib/unictype/categ_and_not.c: New file.
98623         * lib/unictype/categ_byname.c: New file.
98624         * lib/unictype/categ_name.c: New file.
98625         * lib/unictype/categ_none.c: New file.
98626         * lib/unictype/categ_of.c: New file.
98627         * lib/unictype/categ_or.c: New file.
98628         * lib/unictype/categ_test.c: New file.
98629         * lib/unictype/combining.c: New file.
98630         * lib/unictype/ctype_alnum.c: New file.
98631         * lib/unictype/ctype_alpha.c: New file.
98632         * lib/unictype/ctype_blank.c: New file.
98633         * lib/unictype/ctype_cntrl.c: New file.
98634         * lib/unictype/ctype_digit.c: New file.
98635         * lib/unictype/ctype_graph.c: New file.
98636         * lib/unictype/ctype_lower.c: New file.
98637         * lib/unictype/ctype_print.c: New file.
98638         * lib/unictype/ctype_punct.c: New file.
98639         * lib/unictype/ctype_space.c: New file.
98640         * lib/unictype/ctype_upper.c: New file.
98641         * lib/unictype/ctype_xdigit.c: New file.
98642         * lib/unictype/decdigit.c: New file.
98643         * lib/unictype/digit.c: New file.
98644         * lib/unictype/identsyntaxmap.h: New file.
98645         * lib/unictype/mirror.c: New file.
98646         * lib/unictype/numeric.c: New file.
98647         * lib/unictype/pr_alphabetic.c: New file.
98648         * lib/unictype/pr_ascii_hex_digit.c: New file.
98649         * lib/unictype/pr_bidi_arabic_digit.c: New file.
98650         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
98651         * lib/unictype/pr_bidi_block_separator.c: New file.
98652         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
98653         * lib/unictype/pr_bidi_common_separator.c: New file.
98654         * lib/unictype/pr_bidi_control.c: New file.
98655         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
98656         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
98657         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
98658         * lib/unictype/pr_bidi_european_digit.c: New file.
98659         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
98660         * lib/unictype/pr_bidi_left_to_right.c: New file.
98661         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
98662         * lib/unictype/pr_bidi_other_neutral.c: New file.
98663         * lib/unictype/pr_bidi_pdf.c: New file.
98664         * lib/unictype/pr_bidi_segment_separator.c: New file.
98665         * lib/unictype/pr_bidi_whitespace.c: New file.
98666         * lib/unictype/pr_byname.c: New file.
98667         * lib/unictype/pr_byname.gperf: New file.
98668         * lib/unictype/pr_combining.c: New file.
98669         * lib/unictype/pr_composite.c: New file.
98670         * lib/unictype/pr_currency_symbol.c: New file.
98671         * lib/unictype/pr_dash.c: New file.
98672         * lib/unictype/pr_decimal_digit.c: New file.
98673         * lib/unictype/pr_default_ignorable_code_point.c: New file.
98674         * lib/unictype/pr_deprecated.c: New file.
98675         * lib/unictype/pr_diacritic.c: New file.
98676         * lib/unictype/pr_extender.c: New file.
98677         * lib/unictype/pr_format_control.c: New file.
98678         * lib/unictype/pr_grapheme_base.c: New file.
98679         * lib/unictype/pr_grapheme_extend.c: New file.
98680         * lib/unictype/pr_grapheme_link.c: New file.
98681         * lib/unictype/pr_hex_digit.c: New file.
98682         * lib/unictype/pr_hyphen.c: New file.
98683         * lib/unictype/pr_id_continue.c: New file.
98684         * lib/unictype/pr_id_start.c: New file.
98685         * lib/unictype/pr_ideographic.c: New file.
98686         * lib/unictype/pr_ids_binary_operator.c: New file.
98687         * lib/unictype/pr_ids_trinary_operator.c: New file.
98688         * lib/unictype/pr_ignorable_control.c: New file.
98689         * lib/unictype/pr_iso_control.c: New file.
98690         * lib/unictype/pr_join_control.c: New file.
98691         * lib/unictype/pr_left_of_pair.c: New file.
98692         * lib/unictype/pr_line_separator.c: New file.
98693         * lib/unictype/pr_logical_order_exception.c: New file.
98694         * lib/unictype/pr_lowercase.c: New file.
98695         * lib/unictype/pr_math.c: New file.
98696         * lib/unictype/pr_non_break.c: New file.
98697         * lib/unictype/pr_not_a_character.c: New file.
98698         * lib/unictype/pr_numeric.c: New file.
98699         * lib/unictype/pr_other_alphabetic.c: New file.
98700         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
98701         * lib/unictype/pr_other_grapheme_extend.c: New file.
98702         * lib/unictype/pr_other_id_continue.c: New file.
98703         * lib/unictype/pr_other_id_start.c: New file.
98704         * lib/unictype/pr_other_lowercase.c: New file.
98705         * lib/unictype/pr_other_math.c: New file.
98706         * lib/unictype/pr_other_uppercase.c: New file.
98707         * lib/unictype/pr_paired_punctuation.c: New file.
98708         * lib/unictype/pr_paragraph_separator.c: New file.
98709         * lib/unictype/pr_pattern_syntax.c: New file.
98710         * lib/unictype/pr_pattern_white_space.c: New file.
98711         * lib/unictype/pr_private_use.c: New file.
98712         * lib/unictype/pr_punctuation.c: New file.
98713         * lib/unictype/pr_quotation_mark.c: New file.
98714         * lib/unictype/pr_radical.c: New file.
98715         * lib/unictype/pr_sentence_terminal.c: New file.
98716         * lib/unictype/pr_soft_dotted.c: New file.
98717         * lib/unictype/pr_space.c: New file.
98718         * lib/unictype/pr_terminal_punctuation.c: New file.
98719         * lib/unictype/pr_test.c: New file.
98720         * lib/unictype/pr_titlecase.c: New file.
98721         * lib/unictype/pr_unassigned_code_value.c: New file.
98722         * lib/unictype/pr_unified_ideograph.c: New file.
98723         * lib/unictype/pr_uppercase.c: New file.
98724         * lib/unictype/pr_variation_selector.c: New file.
98725         * lib/unictype/pr_white_space.c: New file.
98726         * lib/unictype/pr_xid_continue.c: New file.
98727         * lib/unictype/pr_xid_start.c: New file.
98728         * lib/unictype/pr_zero_width.c: New file.
98729         * lib/unictype/scripts.c: New file.
98730         * lib/unictype/sy_c_ident.c: New file.
98731         * lib/unictype/sy_c_whitespace.c: New file.
98732         * lib/unictype/sy_java_ident.c: New file.
98733         * lib/unictype/sy_java_whitespace.c: New file.
98735         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
98736         Unicode 5.0.0.
98737         * lib/unictype/blocks.h: Likewise.
98738         * lib/unictype/categ_C.h: Likewise.
98739         * lib/unictype/categ_Cc.h: Likewise.
98740         * lib/unictype/categ_Cf.h: Likewise.
98741         * lib/unictype/categ_Cn.h: Likewise.
98742         * lib/unictype/categ_Co.h: Likewise.
98743         * lib/unictype/categ_Cs.h: Likewise.
98744         * lib/unictype/categ_L.h: Likewise.
98745         * lib/unictype/categ_Ll.h: Likewise.
98746         * lib/unictype/categ_Lm.h: Likewise.
98747         * lib/unictype/categ_Lo.h: Likewise.
98748         * lib/unictype/categ_Lt.h: Likewise.
98749         * lib/unictype/categ_Lu.h: Likewise.
98750         * lib/unictype/categ_M.h: Likewise.
98751         * lib/unictype/categ_Mc.h: Likewise.
98752         * lib/unictype/categ_Me.h: Likewise.
98753         * lib/unictype/categ_Mn.h: Likewise.
98754         * lib/unictype/categ_N.h: Likewise.
98755         * lib/unictype/categ_Nd.h: Likewise.
98756         * lib/unictype/categ_Nl.h: Likewise.
98757         * lib/unictype/categ_No.h: Likewise.
98758         * lib/unictype/categ_P.h: Likewise.
98759         * lib/unictype/categ_Pc.h: Likewise.
98760         * lib/unictype/categ_Pd.h: Likewise.
98761         * lib/unictype/categ_Pe.h: Likewise.
98762         * lib/unictype/categ_Pf.h: Likewise.
98763         * lib/unictype/categ_Pi.h: Likewise.
98764         * lib/unictype/categ_Po.h: Likewise.
98765         * lib/unictype/categ_Ps.h: Likewise.
98766         * lib/unictype/categ_S.h: Likewise.
98767         * lib/unictype/categ_Sc.h: Likewise.
98768         * lib/unictype/categ_Sk.h: Likewise.
98769         * lib/unictype/categ_Sm.h: Likewise.
98770         * lib/unictype/categ_So.h: Likewise.
98771         * lib/unictype/categ_Z.h: Likewise.
98772         * lib/unictype/categ_Zl.h: Likewise.
98773         * lib/unictype/categ_Zp.h: Likewise.
98774         * lib/unictype/categ_Zs.h: Likewise.
98775         * lib/unictype/categ_of.h: Likewise.
98776         * lib/unictype/combining.h: Likewise.
98777         * lib/unictype/ctype_alnum.h: Likewise.
98778         * lib/unictype/ctype_alpha.h: Likewise.
98779         * lib/unictype/ctype_blank.h: Likewise.
98780         * lib/unictype/ctype_cntrl.h: Likewise.
98781         * lib/unictype/ctype_digit.h: Likewise.
98782         * lib/unictype/ctype_graph.h: Likewise.
98783         * lib/unictype/ctype_lower.h: Likewise.
98784         * lib/unictype/ctype_print.h: Likewise.
98785         * lib/unictype/ctype_punct.h: Likewise.
98786         * lib/unictype/ctype_space.h: Likewise.
98787         * lib/unictype/ctype_upper.h: Likewise.
98788         * lib/unictype/ctype_xdigit.h: Likewise.
98789         * lib/unictype/decdigit.h: Likewise.
98790         * lib/unictype/digit.h: Likewise.
98791         * lib/unictype/mirror.h: Likewise.
98792         * lib/unictype/numeric.h: Likewise.
98793         * lib/unictype/pr_alphabetic.h: Likewise.
98794         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
98795         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
98796         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
98797         * lib/unictype/pr_bidi_block_separator.h: Likewise.
98798         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
98799         * lib/unictype/pr_bidi_common_separator.h: Likewise.
98800         * lib/unictype/pr_bidi_control.h: Likewise.
98801         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
98802         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
98803         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
98804         * lib/unictype/pr_bidi_european_digit.h: Likewise.
98805         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
98806         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
98807         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
98808         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
98809         * lib/unictype/pr_bidi_pdf.h: Likewise.
98810         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
98811         * lib/unictype/pr_bidi_whitespace.h: Likewise.
98812         * lib/unictype/pr_combining.h: Likewise.
98813         * lib/unictype/pr_composite.h: Likewise.
98814         * lib/unictype/pr_currency_symbol.h: Likewise.
98815         * lib/unictype/pr_dash.h: Likewise.
98816         * lib/unictype/pr_decimal_digit.h: Likewise.
98817         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
98818         * lib/unictype/pr_deprecated.h: Likewise.
98819         * lib/unictype/pr_diacritic.h: Likewise.
98820         * lib/unictype/pr_extender.h: Likewise.
98821         * lib/unictype/pr_format_control.h: Likewise.
98822         * lib/unictype/pr_grapheme_base.h: Likewise.
98823         * lib/unictype/pr_grapheme_extend.h: Likewise.
98824         * lib/unictype/pr_grapheme_link.h: Likewise.
98825         * lib/unictype/pr_hex_digit.h: Likewise.
98826         * lib/unictype/pr_hyphen.h: Likewise.
98827         * lib/unictype/pr_id_continue.h: Likewise.
98828         * lib/unictype/pr_id_start.h: Likewise.
98829         * lib/unictype/pr_ideographic.h: Likewise.
98830         * lib/unictype/pr_ids_binary_operator.h: Likewise.
98831         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
98832         * lib/unictype/pr_ignorable_control.h: Likewise.
98833         * lib/unictype/pr_iso_control.h: Likewise.
98834         * lib/unictype/pr_join_control.h: Likewise.
98835         * lib/unictype/pr_left_of_pair.h: Likewise.
98836         * lib/unictype/pr_line_separator.h: Likewise.
98837         * lib/unictype/pr_logical_order_exception.h: Likewise.
98838         * lib/unictype/pr_lowercase.h: Likewise.
98839         * lib/unictype/pr_math.h: Likewise.
98840         * lib/unictype/pr_non_break.h: Likewise.
98841         * lib/unictype/pr_not_a_character.h: Likewise.
98842         * lib/unictype/pr_numeric.h: Likewise.
98843         * lib/unictype/pr_other_alphabetic.h: Likewise.
98844         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
98845         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
98846         * lib/unictype/pr_other_id_continue.h: Likewise.
98847         * lib/unictype/pr_other_id_start.h: Likewise.
98848         * lib/unictype/pr_other_lowercase.h: Likewise.
98849         * lib/unictype/pr_other_math.h: Likewise.
98850         * lib/unictype/pr_other_uppercase.h: Likewise.
98851         * lib/unictype/pr_paired_punctuation.h: Likewise.
98852         * lib/unictype/pr_paragraph_separator.h: Likewise.
98853         * lib/unictype/pr_pattern_syntax.h: Likewise.
98854         * lib/unictype/pr_pattern_white_space.h: Likewise.
98855         * lib/unictype/pr_private_use.h: Likewise.
98856         * lib/unictype/pr_punctuation.h: Likewise.
98857         * lib/unictype/pr_quotation_mark.h: Likewise.
98858         * lib/unictype/pr_radical.h: Likewise.
98859         * lib/unictype/pr_sentence_terminal.h: Likewise.
98860         * lib/unictype/pr_soft_dotted.h: Likewise.
98861         * lib/unictype/pr_space.h: Likewise.
98862         * lib/unictype/pr_terminal_punctuation.h: Likewise.
98863         * lib/unictype/pr_titlecase.h: Likewise.
98864         * lib/unictype/pr_unassigned_code_value.h: Likewise.
98865         * lib/unictype/pr_unified_ideograph.h: Likewise.
98866         * lib/unictype/pr_uppercase.h: Likewise.
98867         * lib/unictype/pr_variation_selector.h: Likewise.
98868         * lib/unictype/pr_white_space.h: Likewise.
98869         * lib/unictype/pr_xid_continue.h: Likewise.
98870         * lib/unictype/pr_xid_start.h: Likewise.
98871         * lib/unictype/pr_zero_width.h: Likewise.
98872         * lib/unictype/scripts.h: Likewise.
98873         * lib/unictype/scripts_byname.gperf: Likewise.
98874         * lib/unictype/sy_c_ident.h: Likewise.
98875         * lib/unictype/sy_c_whitespace.h: Likewise.
98876         * lib/unictype/sy_java_ident.h: Likewise.
98877         * lib/unictype/sy_java_whitespace.h: Likewise.
98879         * lib/unictype/Makefile: New file.
98880         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
98881         glibc.
98882         * lib/unictype/3level.h: New file, copied from glibc.
98883         * lib/unictype/3levelbit.h: New file.
98885 2007-11-11  Bruno Haible  <bruno@clisp.org>
98887         * modules/gperf: New file.
98888         * modules/iconv_open (Depends-on): Add it.
98889         (Makefile.am): Remove the GPERF definition.
98891 2007-11-11  Bruno Haible  <bruno@clisp.org>
98893         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
98894         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
98896 2007-11-11  Bruno Haible  <bruno@clisp.org>
98898         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
98899         (usage): Remove function.
98901 2007-11-11  Bruno Haible  <bruno@clisp.org>
98903         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
98904         gl_FUNC_CEILF_LIBS.
98905         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
98906         gl_FUNC_CEIL_LIBS.
98907         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
98908         gl_FUNC_CEILL_LIBS.
98909         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
98910         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
98911         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
98913 2007-11-11  Bruno Haible  <bruno@clisp.org>
98915         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
98916         roundf were declared but do not exist on functions.
98917         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
98918         roundl were declared but do not exist on functions.
98919         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
98920         HAVE_FLOORL_AND_CEILL, respectively.
98921         Needed for Sun C on Solaris 10.
98923 2007-11-11  Bruno Haible  <bruno@clisp.org>
98925         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
98926         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
98927         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
98928         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
98929         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
98930         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
98931         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
98932         HAVE_DECL_ROUNDF.
98933         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
98934         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
98935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
98936         of HAVE_DECL_ROUND*.
98937         * modules/math (Makefile.am): Update.
98939 2007-11-10  Bruno Haible  <bruno@clisp.org>
98941         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
98942         ptrdiff_t as m4/intl.m4.
98944 2007-11-10  Jim Meyering  <meyering@redhat.com>
98946         Avoid link failure for the argmatch test.
98947         * tests/test-argmatch.c (usage): Define function to avoid a link
98948         failure: argmatch_die requires a usage function.
98950 2007-11-09  Bruno Haible  <bruno@clisp.org>
98952         * doc/functions/snprintf.texi: Mention BeOS deficiency.
98953         * doc/functions/vsnprintf.texi: Likewise.
98954         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
98955         with a size argument < 2.
98957 2007-11-09  Bruno Haible  <bruno@clisp.org>
98959         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
98960         buffer. Fixes an inefficiency introduced on 2007-11-03.
98962 2007-11-09  Bruno Haible  <bruno@clisp.org>
98964         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
98965         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
98967 2007-11-08  Jim Meyering  <meyering@redhat.com>
98969         Change cache variable name prefix "jm_" to "gl_" everywhere.
98970         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
98971         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
98972         * m4/uptime.m4: s/gl_/jm_/
98974 2007-11-07  Bruno Haible  <bruno@clisp.org>
98976         Update to GNU gettext 0.17.
98977         * m4/intl.m4: Update to GNU gettext 0.17.
98978         * m4/po.m4: Likewise.
98979         * modules/gettext (Files): Remove m4/ulonglong.m4.
98980         (configure.ac): Require gettext infrastructure from version 0.17.
98982 2007-11-06  Bruno Haible  <bruno@clisp.org>
98984         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
98985         symbolic values are not defined in a public header.
98986         * lib/freadable.c (freadable) [QNX]: Likewise.
98987         * lib/freadahead.c (freadahead) [QNX]: Likewise.
98988         * lib/freading.c (freading) [QNX]: Likewise.
98989         * lib/fseterr.c (fseterr) [QNX]: Likewise.
98990         * lib/fwritable.c (fwritable) [QNX]: Likewise.
98991         * lib/fwriting.c (fwriting) [QNX]: Likewise.
98992         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
98993         Reported by Alain Magloire.
98995         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
98997 2007-11-05  Bruno Haible  <bruno@clisp.org>
98999         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
99000         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
99001         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
99002         Reported by Eric Blake.
99004 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99005             Bruno Haible  <bruno@clisp.org>
99007         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
99008         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
99009         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
99010         (malloc): Undefine also before including <stdlib.h>.
99011         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
99012         Needed on OSF/1 4.0.
99014 2007-11-05  Jim Meyering  <meyering@redhat.com>
99016         git-version-gen: sync from coreutils.
99017         * build-aux/git-version-gen: Add comments.
99018         Change the first '-' to '.' in the snapshot version string,
99019         e.g., 6.9-377-08144 -> 6.9.377-08144
99020         Remove first parameter.
99021         Don't declare a version "-dirty" merely because a time
99022         stamp has changed.
99024 2007-11-04  Bruno Haible  <bruno@clisp.org>
99026         * lib/lock.h: Protect all macro definitions containing an 'if'
99027         statement through a "do { ... } while (0)".
99028         * lib/tls.h: Likewise.
99030 2007-11-04  Bruno Haible  <bruno@clisp.org>
99032         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
99034 2007-11-04  Bruno Haible  <bruno@clisp.org>
99036         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
99037         * modules/fprintf-posix (Depends-on): Add nocrash.
99038         * modules/snprintf-posix (Depends-on): Likewise.
99039         * modules/sprintf-posix (Depends-on): Likewise.
99040         * modules/vasnprintf-posix (Depends-on): Likewise.
99041         * modules/vasprintf-posix (Depends-on): Likewise.
99042         * modules/vfprintf-posix (Depends-on): Likewise.
99043         * modules/vsnprintf-posix (Depends-on): Likewise.
99044         * modules/vsprintf-posix (Depends-on): Likewise.
99045         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
99046         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
99047         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
99048         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
99049         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
99050         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
99051         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
99053 2007-11-04  Bruno Haible  <bruno@clisp.org>
99055         * modules/nocrash: New file.
99056         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
99057         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
99059 2007-11-04  Bruno Haible  <bruno@clisp.org>
99061         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
99062         precision handling.
99063         * tests/test-vasprintf-posix.c (test_function): Likewise.
99064         * tests/test-snprintf-posix.h (test_function): Likewise.
99065         * tests/test-sprintf-posix.h (test_function): Likewise.
99067         Fix *printf behaviour for large precisions on mingw and BeOS.
99068         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
99069         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
99070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
99071         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99072         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99073         gl_PRINTF_PRECISION and test its result. Invoke
99074         gl_PREREQ_VASNPRINTF_PRECISION.
99075         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99076         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99077         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99079         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99081         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99082         * doc/functions/fprintf.texi: Update.
99083         * doc/functions/printf.texi: Update.
99084         * doc/functions/snprintf.texi: Update.
99085         * doc/functions/sprintf.texi: Update.
99086         * doc/functions/vfprintf.texi: Update.
99087         * doc/functions/vprintf.texi: Update.
99088         * doc/functions/vsnprintf.texi: Update.
99089         * doc/functions/vsprintf.texi: Update.
99091 2007-11-04  Bruno Haible  <bruno@clisp.org>
99093         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
99095 2007-11-04  Bruno Haible  <bruno@clisp.org>
99097         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
99098         Reported by Sylvain Beucler <beuc@gnu.org>.
99100 2007-11-03  Bruno Haible  <bruno@clisp.org>
99102         * tests/test-fprintf-posix2.sh: New file.
99103         * tests/test-fprintf-posix2.c: New file.
99104         * modules/fprintf-posix-tests (Files): Add them.
99105         (TESTS): Add test-fprintf-posix2.sh.
99106         (configure.ac): Check for getrlimit and setrlimit.
99107         (check_PROGRAMS): Add test-fprintf-posix2.
99109         * tests/test-printf-posix2.sh: New file.
99110         * tests/test-printf-posix2.c: New file.
99111         * modules/printf-posix-tests (Files): Add them.
99112         (TESTS): Add test-printf-posix2.sh.
99113         (configure.ac): Check for getrlimit and setrlimit.
99114         (check_PROGRAMS): Add test-printf-posix2.
99116         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
99117         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
99118         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
99119         (decode_double): New function, copied from decode_long_double.
99120         (scale10_round_decimal_decoded): New function, extracted from
99121         scale10_round_decimal_long_double.
99122         (scale10_round_decimal_long_double): Use it.
99123         (scale10_round_decimal_double): New function.
99124         (floorlog10): New function.
99125         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
99126         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
99127         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99129         gl_PRINTF_ENOMEM and test its result. Invoke
99130         gl_PREREQ_VASNPRINTF_ENOMEM.
99131         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99132         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99133         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99134         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99135         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99136         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99137         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99138         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
99139         * modules/snprintf-posix (Depends-on): Likewise.
99140         * modules/sprintf-posix (Depends-on): Likewise.
99141         * modules/vasnprintf-posix (Depends-on): Likewise.
99142         * modules/vasprintf-posix (Depends-on): Likewise.
99143         * modules/vfprintf-posix (Depends-on): Likewise.
99144         * modules/vsnprintf-posix (Depends-on): Likewise.
99145         * modules/vsprintf-posix (Depends-on): Likewise.
99146         * doc/functions/fprintf.texi: Update.
99147         * doc/functions/printf.texi: Update.
99148         * doc/functions/snprintf.texi: Update.
99149         * doc/functions/sprintf.texi: Update.
99150         * doc/functions/vfprintf.texi: Update.
99151         * doc/functions/vprintf.texi: Update.
99152         * doc/functions/vsnprintf.texi: Update.
99153         * doc/functions/vsprintf.texi: Update.
99155 2007-11-03  Bruno Haible  <bruno@clisp.org>
99157         * modules/frexp-nolibm-tests: New file.
99159         * modules/frexp-nolibm: New file.
99160         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
99162 2007-11-03  Bruno Haible  <bruno@clisp.org>
99164         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
99165         value is C99 compliant.
99166         Needed for OSF/1 5.1.
99168 2007-11-03  Bruno Haible  <bruno@clisp.org>
99170         Fix out-of-memory handling of vasnprintf.
99171         * lib/printf-parse.c: Include <errno.h>.
99172         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
99173         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
99174         is already set.
99176 2007-11-02  Eric Blake  <ebb9@byu.net>
99178         Fix tests on cygwin.
99179         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
99181 2007-11-01  Bruno Haible  <bruno@clisp.org>
99183         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
99184         warning.
99185         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
99186         needed for POSIX compatibility.
99188 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
99190         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
99191         for compatibility with GNU.
99193 2007-11-01  Bruno Haible  <bruno@clisp.org>
99195         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
99196         (putenv): Renamed from rpl_putenv. Change argument type from
99197         'const char *' to 'char *'.
99198         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
99199         of defining putenv in config.h, just set REPLACE_PUTENV.
99200         * modules/putenv (Depends-on): Add stdlib.
99201         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
99202         (Include): Use <stdlib.h>.
99203         * lib/stdlib.in.h (putenv): New declaration.
99204         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
99205         REPLACE_PUTENV.
99206         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
99207         REPLACE_PUTENV.
99208         Needed for MacOS X 10.5.0.
99209         Reported by Peter O'Gorman <peter@pogma.com>.
99211 2007-11-01  Jim Meyering  <meyering@redhat.com>
99213         Treat an empty date string exactly like "0".
99214         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
99215         if the remaining date string (to be parsed) is empty, use "0".
99216         Reported by Mischa Molhoek and discussed in this thread:
99217         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
99219 2007-10-31  Bruno Haible  <bruno@clisp.org>
99221         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
99222         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
99223         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
99224         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
99225         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
99226         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
99228 2007-10-31  Bruno Haible  <bruno@clisp.org>
99230         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
99231         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
99232         (AC_TYPE_LONG_LONG_INT): Use it.
99233         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
99234         it as well.
99235         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
99236         to m4/longlong.m4.
99237         * modules/stdint (Files): Remove m4/ulonglong.m4.
99238         * modules/strtoull (Files): Use m4/longlong.m4 instead of
99239         m4/ulonglong.m4.
99240         * modules/strtoumax (Files): Likewise.
99242 2007-10-30  Bruno Haible  <bruno@clisp.org>
99244         * modules/xvasprintf-posix: New file.
99245         Suggested by Eric Blake.
99247 2007-10-30  Bruno Haible  <bruno@clisp.org>
99249         * modules/xprintf-posix-tests: New file.
99250         * tests/test-xprintf-posix.sh: New file.
99251         * tests/test-xprintf-posix.c: New file.
99252         * tests/test-xfprintf-posix.c: New file.
99254         * modules/xprintf-posix: New file.
99256 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99258         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
99259         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
99260         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
99262 2007-10-29  Bruno Haible  <bruno@clisp.org>
99264         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
99265         contain the special marker '_cv_'.
99266         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
99267         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
99268         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
99269         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
99270         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
99271         Reported by Ralf Wildenhues.
99273 2007-10-29  Bruno Haible  <bruno@clisp.org>
99275         * gnulib-tool (func_import): When --lgpl is not specified, set
99276         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
99277         GPLv3.
99278         Reported by Simon Josefsson.
99280 2007-10-28  Bruno Haible  <bruno@clisp.org>
99282         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
99283         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
99284         HAVE_DECL_ISFINITE.
99285         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99286         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
99287         HAVE_DECL_ISFINITE.
99289 2007-10-28  Bruno Haible  <bruno@clisp.org>
99291         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
99292         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
99294 2007-10-28  Bruno Haible  <bruno@clisp.org>
99296         Fix link errors with Sun C 5.0 on Solaris 10.
99297         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
99298         function is declared but not present in the compiler's libm.
99299         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
99300         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
99301         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
99302         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
99303         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
99304         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
99305         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
99306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99307         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
99308         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
99309         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
99310         HAVE_DECL_FLOORL.
99312 2007-10-28  Bruno Haible  <bruno@clisp.org>
99314         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
99315         gl_FUNC_FLOORL. Cache the result.
99316         (gl_FUNC_FLOORL): Use it.
99317         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
99318         gl_FUNC_CEILL. Cache the result.
99319         (gl_FUNC_CEILL): Use it.
99321         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
99322         gl_FUNC_FLOOR. Cache the result.
99323         (gl_FUNC_FLOOR): Use it.
99324         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
99325         gl_FUNC_CEIL. Cache the result.
99326         (gl_FUNC_CEIL): Use it.
99328         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
99329         gl_FUNC_FLOORF. Cache the result.
99330         (gl_FUNC_FLOORF): Use it.
99331         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
99332         gl_FUNC_CEILF. Cache the result.
99333         (gl_FUNC_CEILF): Use it.
99335 2007-10-28  Bruno Haible  <bruno@clisp.org>
99337         * gnulib-tool: Allow specifying the LGPL version number through
99338         --lgpl=2 or --lgpl=3.
99339         (func_usage): Document --lgpl with argument.
99340         Handle --lgpl=... arguments.
99341         (func_import): Recognize also gl_LGPL calls with an argument. When
99342         --lgpl=2 is used and the module's license is just LGPL, report an
99343         error. Set sed_transform_lib_file according to the lgpl variable. In
99344         the generated files, use --lgpl or gl_LGPL invocations with argument,
99345         if necessary.
99346         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
99347         an LGPv2+ license.
99348         * doc/gnulib-tool.texi (Modified imports): Update explanation of
99349         gl_LGPL macro.
99351 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99352             Bruno Haible  <bruno@clisp.org>
99354         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
99355         (u16_uctomb_aux): Likewise.
99356         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
99357         !HAVE_INLINE.
99358         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
99360 2007-10-28  Bruno Haible  <bruno@clisp.org>
99362         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
99363         Invoke AM_GETTEXT_OPTION if it exists.
99364         * modules/vasprintf: Likewise.
99365         * modules/verror: Likewise.
99366         * modules/xprintf: Likewise.
99367         * modules/xvasprintf: Likewise.
99369 2007-10-27  Ben Pfaff  <blp@gnu.org>
99371         * lib/math.in.h: Define isfinite macro and prototypes for
99372         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
99373         implementations.
99374         * m4/math_h.m4: New substitutions for isfinite module.
99375         * lib/isfinite.c: New file.
99376         * m4/isfinite.m4: New file.
99377         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
99378         * modules/isfinite: New file.
99379         * modules/isfinite-tests: New file.
99380         * tests/tests-isfinite.c: New file.
99381         * doc/functions/isfinite.texi: Mention isfinite module.
99382         * MODULES.html.sh: Mention new module.
99384 2007-10-27  Ben Pfaff  <blp@gnu.org>
99386         Ralf Wildenhues reported that Tru64 4.0D declares the round
99387         functions but does not have definitions.
99388         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
99389         cannot be found in any library, set the output variable to
99390         "missing" instead of "".
99391         * m4/round.m4: Also use our substitute if we cannot find round in
99392         any library, even if it is declared.
99393         * m4/roundf.m4: Likewise for roundf.
99394         * m4/roundl.m4: Likewise for roundl.
99395         * lib/math.in.h: Undefine roundf, round, roundl before defining
99396         their replacements, to allow for hypothetical systems where these
99397         may be defined as macros but not available in libraries.
99399 2007-10-27  Bruno Haible  <bruno@clisp.org>
99401         * doc/gnulib.texi: Invoke @firstparagraphindent.
99402         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
99403         changes in gnulib.
99404         (Source changes): New section.
99406 2007-10-26  Bruno Haible  <bruno@clisp.org>
99408         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
99409         borrowed from autoconf.
99411 2007-10-26  Bruno Haible  <bruno@clisp.org>
99413         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
99414         strerror returned the empty string. Needed on HP-UX 11.00.
99416 2007-10-24  Micah Cowan  <micah@cowan.name>
99418         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
99419         * build-aux/bootstrap: Remove support for now-unnecessary option,
99420         --cvs-user, and envvars CVS_USER, CVS_RSH.
99422 2007-10-24  Jim Meyering  <meyering@redhat.com>
99424         Avoid diagnostics from sha1sum when there is no cached checksum.
99425         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
99426         if the po.s1 file hasn't been created yet.
99428         * build-aux/bootstrap: Sync from coreutils:
99429         2007-10-24  Jim Meyering  <meyering@redhat.com>
99430         Get gnulib from the git repository, not from an obsolete cvs one.
99431         * build-aux/bootstrap: Suggestion from Micah Cowan.
99432         2007-10-04  Jim Meyering  <jim@meyering.net>
99433         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
99434         (update_po_files): Work also when there are no .po files in po/.
99436 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
99438         * README: Append ".git" to git and cg examples.
99439         Problem reported by Benoit Sigoure.
99441 2007-10-23  Micah Cowan  <micah@cowan.name>
99443         * users.txt: Add wget.
99445 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99447         Fix linking of some unistdio tests on FreeBSD.
99448         * modules/unistdio/u16-vsnprintf-tests
99449         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
99450         * modules/unistdio/u16-vsprintf-tests
99451         (test_u16_vsnprintf1_LDADD): Likewise.
99452         * modules/unistdio/u32-vsnprintf-tests
99453         (test_u32_vsnprintf1_LDADD): Likewise.
99454         * modules/unistdio/u32-vsprintf-tests
99455         (test_u32_vsprintf1_LDADD): Likewise.
99456         * modules/unistdio/u8-vsnprintf-tests
99457         (test_u8_vsnprintf1_LDADD): Likewise.
99458         * modules/unistdio/u8-vsprintf-tests
99459         (test_u8_vsprintf1_LDADD): Likewise.
99460         * modules/unistdio/ulc-vsnprintf-tests
99461         (test_ulc_vsnprintf1_LDADD): Likewise.
99462         * modules/unistdio/ulc-vsprintf-tests
99463         (test_ulc_vsprintf1_LDADD): Likewise.
99465         Fix linking of some uniconv tests on FreeBSD.
99466         * modules/uniconv/u16-conv-from-enc-tests
99467         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
99468         * modules/uniconv/u16-conv-to-enc-tests
99469         (test_u16_conv_to_enc_LDADD): Likewise.
99470         * modules/uniconv/u16-strconv-from-enc-tests
99471         (test_u16_strconv_from_enc_LDADD): Likewise.
99472         * modules/uniconv/u16-strconv-to-enc-tests
99473         (test_u16_strconv_to_enc_LDADD): Likewise.
99474         * modules/uniconv/u32-conv-from-enc-tests
99475         (test_u32_conv_from_enc_LDADD): Likewise.
99476         * modules/uniconv/u32-conv-to-enc-tests
99477         (test_u32_conv_to_enc_LDADD): Likewise.
99478         * modules/uniconv/u32-strconv-from-enc-tests
99479         (test_u32_strconv_from_enc_LDADD): Likewise.
99480         * modules/uniconv/u32-strconv-to-enc-tests
99481         (test_u32_strconv_to_enc_LDADD): Likewise.
99482         * modules/uniconv/u8-conv-from-enc-tests
99483         (test_u8_conv_from_enc_LDADD): Likewise.
99484         * modules/uniconv/u8-conv-to-enc-tests
99485         (test_u8_conv_to_enc_LDADD): Likewise.
99486         * modules/uniconv/u8-strconv-from-enc-tests
99487         (test_u8_strconv_from_enc_LDADD): Likewise.
99488         * modules/uniconv/u8-strconv-to-enc-tests
99489         (test_u8_strconv_to_enc_LDADD): Likewise.
99491 2007-10-22  Bruno Haible  <bruno@clisp.org>
99493         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
99494         size.
99496 2007-10-22  Eric Blake  <ebb9@byu.net>
99498         Tweak x*printf documentation.
99499         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
99500         variable name and comments.
99501         Suggested by Bruno Haible.
99503 2007-10-22  Bruno Haible  <bruno@clisp.org>
99505         * lib/acl.c (copy_acl): Fix file name in comment.
99507 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99509         Fix Tru64 problem with stdbool.h.
99510         * lib/stdbool.in.h (false, true):
99511         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
99512         Don't declare as an enum in this situation; it runs afoul of Tru64.
99513         Problem reported by Steven M. Schweda in
99514         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
99516 2007-10-22  Eric Blake  <ebb9@byu.net>
99518         Also wrap vf?printf.
99519         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
99520         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
99521         (xvprintf, xvfprintf): New functions.
99523 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99525         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
99526         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
99528         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
99529         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
99531 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99533         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
99534         by Bruno Haible.
99536 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99538         * lib/getloadavg.c
99539         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
99540         Undef `sys' after including sys/table.h, for Tru64 4.0D.
99542         * tests/test-i-ring.c: Work for C89.
99544 2007-10-22  Bruno Haible  <bruno@clisp.org>
99546         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
99547         -1u, in preprocessor expression, so that we don't test for the bug
99548         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
99549         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
99551 2007-10-22  Eric Blake  <ebb9@byu.net>
99553         * tests/test-yesno.sh: Silence stderr during test.
99555 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99557         * modules/crypto/gc-camellia: New file.
99559         * m4/gc-camellia.m4: New file.
99561         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
99563         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
99565 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99567         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
99568         --help to stdout.  Reported by sms@antinode.org (Steven
99569         M. Schweda).
99571 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99573         * users.txt: Fix link to libksba.
99575 2007-10-21  Ben Pfaff  <blp@gnu.org>
99577         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
99578         round.c roundf implementation that depends on floorf and ceilf to
99579         be tested unconditionally.
99581 2007-10-21  Ben Pfaff  <blp@gnu.org>
99583         * m4/check-libm-func.m4: Removed.
99584         * m4/check-math-lib.m4: New file.
99585         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
99586         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
99587         definition and lack of AC_LIBOBJ([roundf]).
99588         * m4/roundl.m4: Ditto, and similarly for roundl.
99589         * modules/round: Reference new m4 file.
99590         * modules/roundf: Ditto.
99591         * modules/roundl: Ditto.
99592         * tests/test-round2.c (main): Use ROUND instead of round.
99593         Bug report from Bruno Haible.
99595 2007-10-21  Bruno Haible  <bruno@clisp.org>
99597         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
99598         context.
99600 2007-10-21  Bruno Haible  <bruno@clisp.org>
99602         * tests/test-wcwidth.c (main): Allow negative result for some control
99603         characters.
99605         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
99606         Needed on OSF/1 5.1.
99608 2007-10-21  Bruno Haible  <bruno@clisp.org>
99610         * tests/test-floorf1.c: Include isnanf.h.
99611         (main): Use isnanf() instead of isnan().
99612         * tests/test-ceilf1.c: Include isnanf.h.
99613         (main): Use isnanf() instead of isnan().
99614         * tests/test-truncf1.c: Include isnanf.h.
99615         (main): Use isnanf() instead of isnan().
99616         * tests/test-roundf1.c: Include isnanf.h.
99617         (main): Use isnanf() instead of isnan().
99619 2007-10-21  Eric Blake  <ebb9@byu.net>
99621         * users.txt: Update URL for m4.
99623 2007-10-21  Bruno Haible  <bruno@clisp.org>
99625         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
99627 2007-10-21  Bruno Haible  <bruno@clisp.org>
99629         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
99630         Git's management files if the CVS files are not present.
99632 2007-10-20  Bruno Haible  <bruno@clisp.org>
99634         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
99635         gcc-3.4.x.
99637 2007-10-20  Ben Pfaff  <blp@gnu.org>
99639         * lib/math.in.h: Declare round, roundf, roundl if we are providing
99640         implementations.
99641         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
99642         * lib/round.c: New file.
99643         * lib/roundf.c: New file.
99644         * lib/roundl.c: New file.
99645         * m4/round.m4: New file.
99646         * m4/roundf.m4: New file.
99647         * m4/roundl.m4: New file.
99648         * m4/check-libm-func-m4: New file.
99649         * modules/math: Replace round, roundf, roundl related @VARS@ in
99650         math.in.h.
99651         * modules/round: New file.
99652         * modules/round-tests: New file.
99653         * modules/roundf: New file.
99654         * modules/roundf-tests: New file.
99655         * modules/roundl: New file.
99656         * modules/roundl-tests: New file.
99657         * tests/test-round1.c: New file.
99658         * tests/test-round2.c: New file.
99659         * tests/test-roundf1.c: New file.
99660         * tests/test-roundf2.c: New file.
99661         * tests/test-roundl.c: New file.
99662         * doc/functions/round.texi: Mention round module.
99663         * doc/functions/roundf.texi: Mention roundf module.
99664         * doc/functions/roundl.texi: Mention roundl module.
99665         * MODULES.html.sh: Mention new modules.
99666         Thanks to Bruno Haible for suggestions.
99668 2007-10-20  Jim Meyering  <meyering@redhat.com>
99670         * lib/xprintf.c: Include <config.h> unconditionally.
99672         Change xprintf's license to GPL.
99673         * modules/xprintf (License): s/LGPL/GPL/, since this module
99674         depends on modules (exit and exitfail) which are GPL.
99675         Suggestion from Bruno Haible.
99677         xprintf fixes.
99678         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
99679         Use a clearer diagnostic.
99680         Patch from Bruno Haible.
99682 2007-10-20  Bruno Haible  <bruno@clisp.org>
99684         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
99685         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
99686         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99688 2007-10-20  Bruno Haible  <bruno@clisp.org>
99690         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
99691         precision in the comparison result > x - 1 or similar.
99692         * tests/test-ceilf2.c (correct_result_p): Likewise.
99693         * tests/test-truncf2.c (correct_result_p): Likewise.
99694         * tests/test-trunc2.c (correct_result_p): Likewise.
99695         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99697 2007-10-20  Bruno Haible  <bruno@clisp.org>
99699         * modules/ceil: New file.
99700         * m4/ceil.m4: New file.
99701         * doc/functions/ceil.texi: Mention the 'ceil' module.
99703 2007-10-20  Bruno Haible  <bruno@clisp.org>
99705         * modules/floor: New file.
99706         * m4/floor.m4: New file.
99707         * doc/functions/floor.texi: Mention the 'floor' module.
99709 2007-10-20  Bruno Haible  <bruno@clisp.org>
99711         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
99712         of %a.
99713         * modules/floorf-tests (Depends-on): Likewise.
99714         * modules/truncf-tests (Depends-on): Likewise.
99715         * modules/trunc-tests (Depends-on): Likewise.
99716         Reported by Ben Pfaff.
99718 2007-10-19  Jim Meyering  <meyering@redhat.com>
99720         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
99721         Don't bother testing specific errno values.  Just test ferror.
99723         New module: xprintf
99724         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
99726 2007-10-19  Bruno Haible  <bruno@clisp.org>
99728         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
99729         syntax.
99730         * modules/javaexec (Makefile.am): Likewise.
99731         * modules/relocatable-prog (Makefile.am): Likewise.
99732         Suggested by Jim Meyering.
99734 2007-10-18  Bruno Haible  <bruno@clisp.org>
99736         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
99737         Reported by Jim Meyering.
99739 2007-10-18  Eric Blake  <ebb9@byu.net>
99741         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
99743 2007-10-18  Bruno Haible  <bruno@clisp.org>
99745         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
99746         the format string into writable memory. Needed in Fortify conditions.
99748 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
99749             Bruno Haible  <bruno@clisp.org>
99751         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
99752         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
99753         * modules/trim (Depends-on): Add mbchar.
99754         (configure.ac): Add gl_FUNC_MBRTOWC.
99755         (Makefile.am): Augment lib_SOURCES.
99757 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
99759         Modify glob.c to use fstatat and dirfd, to simplify it.
99760         Suggested by Eric Blake.
99761         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
99762         Don't include <stdbool.h>; not used.
99763         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
99764         (link_exists_p): Simplify implementation, since we can now assume
99765         dirfd and fstatat.
99766         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
99768 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99770         * gnulib-tool (func_get_dependencies): Fix sed script to
99771         match only tests.
99773 2007-10-17  Bruno Haible  <bruno@clisp.org>
99775         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
99776         allow locale names without encoding suffix.
99777         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
99778         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
99780 2007-10-16  Bruno Haible  <bruno@clisp.org>
99782         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
99783         * lib/getgroups.c (getgroups): Likewise.
99784         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
99786 2007-10-16  Bruno Haible  <bruno@clisp.org>
99788         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
99789         * modules/malloc-posix (License): Likewise.
99790         * modules/realloc-posix (License): Likewise.
99791         * modules/calloc-posix (License): Likewise.
99792         * modules/intprops (License): Change from GPL to LGPL, with
99793         Paul Eggert's approval.
99795 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99797         Merge glibc changes into lib/glob.c.
99799         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
99800         2007-10-15 04:59:03 UTC.  Here are the changes:
99802         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
99804         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
99806         * lib/glob.c: Add some branch prediction throughout.
99808         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
99810         [BZ #5103]
99811         * lib/glob.c (glob): Recognize patterns starting \/.
99813         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
99815         [BZ #3996]
99816         * lib/glob.c (attribute_hidden): Define if not defined.
99817         (glob): Unescape dirname, filename or username when needed and not
99818         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
99819         is NULL.  Handle unescaped [ in pattern without closing ].
99820         Don't pass GLOB_CHECK down to recursive glob for directories.
99821         (__glob_pattern_type): New function.
99822         (__glob_pattern_p): Implement using __glob_pattern_type.
99823         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
99824         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
99825         Remove unreachable code.
99827         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
99829         * lib/glob.c (glob_in_dir): Add some comments and asserts to
99830         explain why there are no leaks.
99832         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
99834         [BZ #3253]
99835         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
99836         time, rather allocate increasingly bigger arrays of pointers, if
99837         possible with alloca, if too large with malloc.
99839 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99841         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
99842         Problem reported by H.Merijn Brand in
99843         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
99844         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
99845         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99847 2007-10-15  Bruno Haible  <bruno@clisp.org>
99849         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
99850         with explicit rpl_ prefix.
99851         * lib/fopen.c (fopen): Likewise.
99852         * lib/freopen.c (freopen): Likewise.
99853         * lib/iconv.c (iconv): Likewise.
99854         * lib/iconv_close.c (iconv_close): Likewise.
99856 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99858         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
99860 2007-10-15  Bruno Haible  <bruno@clisp.org>
99862         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
99863         <stddef.h> instead of <stdlib.h> since we only need NULL.
99864         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99866 2007-10-15  Bruno Haible  <bruno@clisp.org>
99868         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
99869         Replace paragraph talking about LIBOBJS.
99870         Reported by Colin Watson <cjwatson@debian.org>.
99872 2007-10-15  Bruno Haible  <bruno@clisp.org>
99874         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
99875         <stdlib.h> before using NULL.
99877 2007-10-15  Simon Josefsson  <simon@josefsson.org>
99879         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
99880         Reported by Albert Chin <china@thewrittenword.com>.
99882 2007-10-14  Bruno Haible  <bruno@clisp.org>
99884         * modules/iconv_open-utf-tests: New file.
99885         * tests/test-iconv-utf.c: New file.
99887         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
99888         * modules/iconv_open-utf: New file.
99889         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
99890         (iconv, iconv_close): New declarations.
99891         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
99892         be defined.
99893         (iconv_open): Add special handling of conversion between UTF-8 and
99894         UTF-{16,32}{BE,LE}.
99895         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
99896         * lib/iconv_close.c: New file.
99897         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
99898         gl_FUNC_ICONV_OPEN.
99899         (gl_FUNC_ICONV_OPEN): Use it.
99900         (gl_FUNC_ICONV_OPEN_UTF): New macro.
99901         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
99902         and REPLACE_ICONV_UTF.
99903         * modules/iconv_open (Depends-on): Add c-strcase.
99904         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
99905         ICONV_CONST.
99906         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
99908 2007-10-13  Albert Chin  <china@thewrittenword.com>
99909             Bruno Haible  <bruno@clisp.org>
99911         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
99912         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
99914 2007-10-13  Bruno Haible  <bruno@clisp.org>
99916         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
99917         defined, use the ISO C99 inline semantics.
99918         * lib/argp.h (ARGP_EI): Likewise.
99920 2007-10-13  Bruno Haible  <bruno@clisp.org>
99922         Handle 'inline' change in gcc 4.3.0.
99923         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
99924         argp_fmtstream_write, argp_fmtstream_set_lmargin,
99925         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
99926         argp_fmtstream_point): Disable 'extern' declaration if the function
99927         definition is going to be provided inline.
99928         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
99929         semantics, not the ISO C99 inline semantics.
99930         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
99931         'extern' declaration if the function definition is going to be provided
99932         inline.
99933         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
99934         the GNU C inline semantics, not the ISO C99 inline semantics. With
99935         GCC 4.2, avoid a warning.
99937 2007-10-13  Bruno Haible  <bruno@clisp.org>
99939         * lib/freading.h (freading): Enable the use of __freading for
99940         glibc >= 2.7.
99941         * lib/freading.c (freading): Likewise.
99943 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
99945         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
99946         "warning: C99 inline functions are not supported; using GNU89".
99948 2007-10-12  Bruno Haible  <bruno@clisp.org>
99950         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
99951         of 2.
99952         * tests/test-ceilf2.c: New file.
99953         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
99955         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
99956         * modules/ceilf-tests: Update.
99958 2007-10-12  Bruno Haible  <bruno@clisp.org>
99960         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
99961         of 2.
99962         * tests/test-floorf2.c: New file.
99963         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
99965         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
99966         * modules/floorf-tests: Update.
99968 2007-10-12  Bruno Haible  <bruno@clisp.org>
99970         * tests/test-trunc2.c: New file.
99971         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
99973         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
99974         * modules/trunc-tests: Update.
99976 2007-10-12  Bruno Haible  <bruno@clisp.org>
99978         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
99979         of 2.
99980         * tests/test-truncf2.c: New file.
99981         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
99983         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
99984         * modules/truncf-tests: Update.
99986 2007-10-11  Eric Blake  <ebb9@byu.net>
99988         Don't claim strerror is broken on Interix.
99989         * doc/functions/strerror.texi (strerror): Known broken systems are
99990         now Solaris 8, and not Interix.
99991         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
99992         Interix on cross-compile.
99993         Reported by Martin Koeppe in
99994         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
99996 2007-10-11  Bruno Haible  <bruno@clisp.org>
99998         * modules/i-ring-tests: New file.
99999         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
100000         instead of assert.
100002 2007-10-11  Bruno Haible  <bruno@clisp.org>
100004         * modules/filenamecat-tests: New file.
100005         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
100006         * lib/filenamecat.c: Remove test code.
100008 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
100010         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
100012         * lib/strerror.c: Include <string.h> always, to test interface,
100013         and to remove the need for the dummy.
100014         Include intprops.h to compute width instead of doing it ourselves
100015         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
100016         (strerror): Define it to return NULL if there's no system strerror.
100017         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
100018         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
100019         ancient pre-strerror Unix systems well any more.  Saying "unknown
100020         system error" is enough.
100021         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
100022         simpler strerror.c implementation.
100023         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
100024         Simplify the tests to reflect the simpler strerror implementation.
100025         * modules/strerror (Depends-on): Add intprops.
100027 2007-10-09  Eric Blake  <ebb9@byu.net>
100029         Silence test-fpending.
100030         * modules/fpending-tests (Files): Add wrapper script.
100031         * tests/test-fpending.sh: New file.
100033 2007-10-09  Bruno Haible  <bruno@clisp.org>
100035         * MODULES.html.sh (func_module): Don't create a hyperlink for
100036         function names like 'printf_frexp'.
100037         (Misc): Add crc, memxor.
100038         (Characteristics of floating types): New section.
100039         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
100040         isnanf-nolibm, signbit, trunc, truncf, truncl.
100041         (Enhancements for ISO C 99 functions): New subsection Input/output.
100042         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
100043         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
100044         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
100045         (Compatibility checks for POSIX:2001 functions): Add clock-time.
100046         (Enhancements for POSIX:2001 functions): Add chdir-long.
100047         (File system functions): Add areadlink, chdir-safer, read-file.
100048         Remove cycle-check.
100049         (File system as inode set): New section.
100050         (Date and time): Add gethrxtime.
100051         (Multithreading): Add openmp.
100052         (Internationalization functions): Add localename.
100053         (Unicode string functions): Add unistr/u*-mbsnlen.
100054         (Support for maintaining and releasing projects): Add git-version-gen.
100055         (Lone files): Remove directories.
100057 2007-10-08  Ben Pfaff  <blp@gnu.org>
100059         * lib/xmalloca.h: Fix typo in comment.
100061 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100063         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
100064         when avoiding problems with integer overflow.  Use a portable test
100065         instead.
100067 2007-10-08  Simon Josefsson  <simon@josefsson.org>
100069         * modules/dummy (License): Change to LGPLv2+.
100070         * modules/float (License): Likewise
100071         * modules/realloc (License): Likewise
100072         * modules/stdlib (License): Likewise
100074 2007-10-07  Bruno Haible  <bruno@clisp.org>
100076         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
100077         * floor.c (TWO_MANT_DIG): Likewise.
100078         * ceil.c (TWO_MANT_DIG): Likewise.
100079         Reported by Ben Pfaff.
100081 2007-10-07  Bruno Haible  <bruno@clisp.org>
100083         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
100084         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
100085         * lib/frexp.c (FUNC): Likewise.
100086         * lib/printf-frexp.h (printf_frexp): Likewise.
100087         * lib/printf-frexpl.h (printf_frexpl): Likewise.
100088         * lib/printf-frexp.c (FUNC): Likewise.
100089         Suggested by Jim Meyering.
100091 2007-10-07  Jim Meyering  <meyering@redhat.com>
100093         Make xnanosleep's integer overflow test more robust.
100094         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
100095         so that gcc-4.3.0 doesn't optimize away this test for overflow.
100097 2007-10-07  Bruno Haible  <bruno@clisp.org>
100099         * NEWS: Mention the license change.
100101         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
100102         abbreviations in the modules files.
100104         Change copyright notice from GPLv2+ to GPLv3+.
100105         * README: Change copyright notice.
100106         * MODULES.html.sh: Likewise.
100107         * build-aux/bootstrap.conf: Likewise.
100108         * build-aux/config.libpath: Likewise.
100109         * build-aux/csharpcomp.sh.in: Likewise.
100110         * build-aux/csharpexec.sh.in: Likewise.
100111         * build-aux/install-reloc: Likewise.
100112         * build-aux/javacomp.sh.in: Likewise.
100113         * build-aux/javaexec.sh.in: Likewise.
100114         * build-aux/ldd.sh.in: Likewise.
100115         * build-aux/reloc-ldflags: Likewise.
100116         * build-aux/relocatable.sh.in: Likewise.
100117         * build-aux/x-to-1.in: Likewise.
100118         * check-module: Likewise.
100119         * config/srclistvars.sh: Likewise.
100120         * gnulib-tool: Likewise.
100121         * lib/acl-internal.h: Likewise.
100122         * lib/acl.c: Likewise.
100123         * lib/acl.h: Likewise.
100124         * lib/acl_entries.c: Likewise.
100125         * lib/areadlink-with-size.c: Likewise.
100126         * lib/areadlink.c: Likewise.
100127         * lib/areadlink.h: Likewise.
100128         * lib/argmatch.c: Likewise.
100129         * lib/argmatch.h: Likewise.
100130         * lib/argp-ba.c: Likewise.
100131         * lib/argp-eexst.c: Likewise.
100132         * lib/argp-fmtstream.c: Likewise.
100133         * lib/argp-fmtstream.h: Likewise.
100134         * lib/argp-fs-xinl.c: Likewise.
100135         * lib/argp-help.c: Likewise.
100136         * lib/argp-namefrob.h: Likewise.
100137         * lib/argp-parse.c: Likewise.
100138         * lib/argp-pin.c: Likewise.
100139         * lib/argp-pv.c: Likewise.
100140         * lib/argp-pvh.c: Likewise.
100141         * lib/argp-xinl.c: Likewise.
100142         * lib/argp.h: Likewise.
100143         * lib/at-func.c: Likewise.
100144         * lib/atanl.c: Likewise.
100145         * lib/backupfile.c: Likewise.
100146         * lib/backupfile.h: Likewise.
100147         * lib/basename.c: Likewise.
100148         * lib/binary-io.h: Likewise.
100149         * lib/byteswap.in.h: Likewise.
100150         * lib/c-stack.c: Likewise.
100151         * lib/c-stack.h: Likewise.
100152         * lib/c-strcasestr.c: Likewise.
100153         * lib/c-strcasestr.h: Likewise.
100154         * lib/c-strstr.c: Likewise.
100155         * lib/c-strstr.h: Likewise.
100156         * lib/c-strtod.c: Likewise.
100157         * lib/calloc.c: Likewise.
100158         * lib/canon-host.c: Likewise.
100159         * lib/canon-host.h: Likewise.
100160         * lib/canonicalize-lgpl.c: Likewise.
100161         * lib/canonicalize.c: Likewise.
100162         * lib/canonicalize.h: Likewise.
100163         * lib/ceil.c: Likewise.
100164         * lib/ceilf.c: Likewise.
100165         * lib/ceill.c: Likewise.
100166         * lib/chdir-long.c: Likewise.
100167         * lib/chdir-long.h: Likewise.
100168         * lib/chdir-safer.c: Likewise.
100169         * lib/chdir-safer.h: Likewise.
100170         * lib/chown.c: Likewise.
100171         * lib/classpath.c: Likewise.
100172         * lib/classpath.h: Likewise.
100173         * lib/clean-temp.c: Likewise.
100174         * lib/clean-temp.h: Likewise.
100175         * lib/cloexec.c: Likewise.
100176         * lib/close-stream.c: Likewise.
100177         * lib/closein.c: Likewise.
100178         * lib/closein.h: Likewise.
100179         * lib/closeout.c: Likewise.
100180         * lib/closeout.h: Likewise.
100181         * lib/concat-filename.c: Likewise.
100182         * lib/copy-file.c: Likewise.
100183         * lib/copy-file.h: Likewise.
100184         * lib/count-one-bits.h: Likewise.
100185         * lib/crc.c: Likewise.
100186         * lib/crc.h: Likewise.
100187         * lib/creat-safer.c: Likewise.
100188         * lib/csharpcomp.c: Likewise.
100189         * lib/csharpcomp.h: Likewise.
100190         * lib/csharpexec.c: Likewise.
100191         * lib/csharpexec.h: Likewise.
100192         * lib/cycle-check.c: Likewise.
100193         * lib/cycle-check.h: Likewise.
100194         * lib/diacrit.c: Likewise.
100195         * lib/diacrit.h: Likewise.
100196         * lib/diffseq.h: Likewise.
100197         * lib/dirchownmod.c: Likewise.
100198         * lib/dirent.in.h: Likewise.
100199         * lib/dirfd.c: Likewise.
100200         * lib/dirfd.h: Likewise.
100201         * lib/dirname.c: Likewise.
100202         * lib/dirname.h: Likewise.
100203         * lib/dummy.c: Likewise.
100204         * lib/dup-safer.c: Likewise.
100205         * lib/dup2.c: Likewise.
100206         * lib/eealloc.h: Likewise.
100207         * lib/error.c: Likewise.
100208         * lib/error.h: Likewise.
100209         * lib/euidaccess.c: Likewise.
100210         * lib/exclude.c: Likewise.
100211         * lib/exclude.h: Likewise.
100212         * lib/execute.c: Likewise.
100213         * lib/execute.h: Likewise.
100214         * lib/exitfail.c: Likewise.
100215         * lib/exitfail.h: Likewise.
100216         * lib/expl.c: Likewise.
100217         * lib/fatal-signal.c: Likewise.
100218         * lib/fatal-signal.h: Likewise.
100219         * lib/fbufmode.c: Likewise.
100220         * lib/fbufmode.h: Likewise.
100221         * lib/fchdir.c: Likewise.
100222         * lib/fchmodat.c: Likewise.
100223         * lib/fchownat.c: Likewise.
100224         * lib/fcntl--.h: Likewise.
100225         * lib/fcntl-safer.h: Likewise.
100226         * lib/fcntl.in.h: Likewise.
100227         * lib/fd-safer.c: Likewise.
100228         * lib/fflush.c: Likewise.
100229         * lib/file-has-acl.c: Likewise.
100230         * lib/file-set.c: Likewise.
100231         * lib/file-type.c: Likewise.
100232         * lib/file-type.h: Likewise.
100233         * lib/fileblocks.c: Likewise.
100234         * lib/filemode.c: Likewise.
100235         * lib/filemode.h: Likewise.
100236         * lib/filename.h: Likewise.
100237         * lib/filenamecat.c: Likewise.
100238         * lib/filenamecat.h: Likewise.
100239         * lib/findprog.c: Likewise.
100240         * lib/findprog.h: Likewise.
100241         * lib/float.in.h: Likewise.
100242         * lib/floor.c: Likewise.
100243         * lib/floorf.c: Likewise.
100244         * lib/floorl.c: Likewise.
100245         * lib/fopen-safer.c: Likewise.
100246         * lib/fopen.c: Likewise.
100247         * lib/fpending.c: Likewise.
100248         * lib/fpending.h: Likewise.
100249         * lib/fprintf.c: Likewise.
100250         * lib/fprintftime.h: Likewise.
100251         * lib/fpucw.h: Likewise.
100252         * lib/fpurge.c: Likewise.
100253         * lib/fpurge.h: Likewise.
100254         * lib/freadable.c: Likewise.
100255         * lib/freadable.h: Likewise.
100256         * lib/freadahead.c: Likewise.
100257         * lib/freadahead.h: Likewise.
100258         * lib/freading.c: Likewise.
100259         * lib/freading.h: Likewise.
100260         * lib/free.c: Likewise.
100261         * lib/freopen.c: Likewise.
100262         * lib/frexp.c: Likewise.
100263         * lib/frexpl.c: Likewise.
100264         * lib/fseek.c: Likewise.
100265         * lib/fseterr.c: Likewise.
100266         * lib/fseterr.h: Likewise.
100267         * lib/fstatat.c: Likewise.
100268         * lib/fstrcmp.c: Likewise.
100269         * lib/fstrcmp.h: Likewise.
100270         * lib/fsusage.c: Likewise.
100271         * lib/fsusage.h: Likewise.
100272         * lib/ftell.c: Likewise.
100273         * lib/ftello.c: Likewise.
100274         * lib/fts-cycle.c: Likewise.
100275         * lib/fts.c: Likewise.
100276         * lib/fts_.h: Likewise.
100277         * lib/full-read.c: Likewise.
100278         * lib/full-read.h: Likewise.
100279         * lib/full-write.c: Likewise.
100280         * lib/full-write.h: Likewise.
100281         * lib/fwritable.c: Likewise.
100282         * lib/fwritable.h: Likewise.
100283         * lib/fwriteerror.c: Likewise.
100284         * lib/fwriteerror.h: Likewise.
100285         * lib/fwriting.c: Likewise.
100286         * lib/fwriting.h: Likewise.
100287         * lib/gcd.c: Likewise.
100288         * lib/gcd.h: Likewise.
100289         * lib/getcwd.c: Likewise.
100290         * lib/getdate.h: Likewise.
100291         * lib/getdate.y: Likewise.
100292         * lib/getdomainname.c: Likewise.
100293         * lib/getdomainname.h: Likewise.
100294         * lib/getgroups.c: Likewise.
100295         * lib/gethostname.c: Likewise.
100296         * lib/gethrxtime.c: Likewise.
100297         * lib/gethrxtime.h: Likewise.
100298         * lib/getloadavg.c: Likewise.
100299         * lib/getndelim2.c: Likewise.
100300         * lib/getndelim2.h: Likewise.
100301         * lib/getnline.c: Likewise.
100302         * lib/getnline.h: Likewise.
100303         * lib/getopt.c: Likewise.
100304         * lib/getopt.in.h: Likewise.
100305         * lib/getopt1.c: Likewise.
100306         * lib/getopt_int.h: Likewise.
100307         * lib/getpagesize.h: Likewise.
100308         * lib/getsubopt.c: Likewise.
100309         * lib/gettime.c: Likewise.
100310         * lib/getugroups.c: Likewise.
100311         * lib/getugroups.h: Likewise.
100312         * lib/getusershell.c: Likewise.
100313         * lib/gl_anyavltree_list1.h: Likewise.
100314         * lib/gl_anyavltree_list2.h: Likewise.
100315         * lib/gl_anyhash_list1.h: Likewise.
100316         * lib/gl_anyhash_list2.h: Likewise.
100317         * lib/gl_anylinked_list1.h: Likewise.
100318         * lib/gl_anylinked_list2.h: Likewise.
100319         * lib/gl_anyrbtree_list1.h: Likewise.
100320         * lib/gl_anyrbtree_list2.h: Likewise.
100321         * lib/gl_anytree_list1.h: Likewise.
100322         * lib/gl_anytree_list2.h: Likewise.
100323         * lib/gl_anytree_oset.h: Likewise.
100324         * lib/gl_anytreehash_list1.h: Likewise.
100325         * lib/gl_anytreehash_list2.h: Likewise.
100326         * lib/gl_array_list.c: Likewise.
100327         * lib/gl_array_list.h: Likewise.
100328         * lib/gl_array_oset.c: Likewise.
100329         * lib/gl_array_oset.h: Likewise.
100330         * lib/gl_avltree_list.c: Likewise.
100331         * lib/gl_avltree_list.h: Likewise.
100332         * lib/gl_avltree_oset.c: Likewise.
100333         * lib/gl_avltree_oset.h: Likewise.
100334         * lib/gl_avltreehash_list.c: Likewise.
100335         * lib/gl_avltreehash_list.h: Likewise.
100336         * lib/gl_carray_list.c: Likewise.
100337         * lib/gl_carray_list.h: Likewise.
100338         * lib/gl_linked_list.c: Likewise.
100339         * lib/gl_linked_list.h: Likewise.
100340         * lib/gl_linkedhash_list.c: Likewise.
100341         * lib/gl_linkedhash_list.h: Likewise.
100342         * lib/gl_list.c: Likewise.
100343         * lib/gl_list.h: Likewise.
100344         * lib/gl_oset.c: Likewise.
100345         * lib/gl_oset.h: Likewise.
100346         * lib/gl_rbtree_list.c: Likewise.
100347         * lib/gl_rbtree_list.h: Likewise.
100348         * lib/gl_rbtree_oset.c: Likewise.
100349         * lib/gl_rbtree_oset.h: Likewise.
100350         * lib/gl_rbtreehash_list.c: Likewise.
100351         * lib/gl_rbtreehash_list.h: Likewise.
100352         * lib/gl_sublist.c: Likewise.
100353         * lib/gl_sublist.h: Likewise.
100354         * lib/group-member.c: Likewise.
100355         * lib/group-member.h: Likewise.
100356         * lib/hard-locale.c: Likewise.
100357         * lib/hard-locale.h: Likewise.
100358         * lib/hash-pjw.c: Likewise.
100359         * lib/hash-pjw.h: Likewise.
100360         * lib/hash-triple.c: Likewise.
100361         * lib/hash.c: Likewise.
100362         * lib/hash.h: Likewise.
100363         * lib/human.c: Likewise.
100364         * lib/human.h: Likewise.
100365         * lib/i-ring.c: Likewise.
100366         * lib/i-ring.h: Likewise.
100367         * lib/idcache.c: Likewise.
100368         * lib/imaxabs.c: Likewise.
100369         * lib/imaxdiv.c: Likewise.
100370         * lib/inet_pton.c: Likewise.
100371         * lib/inet_pton.h: Likewise.
100372         * lib/intprops.h: Likewise.
100373         * lib/inttostr.c: Likewise.
100374         * lib/inttostr.h: Likewise.
100375         * lib/inttypes.in.h: Likewise.
100376         * lib/isapipe.c: Likewise.
100377         * lib/isdir.c: Likewise.
100378         * lib/isnan.c: Likewise.
100379         * lib/isnan.h: Likewise.
100380         * lib/isnanf.c: Likewise.
100381         * lib/isnanf.h: Likewise.
100382         * lib/isnanl-nolibm.h: Likewise.
100383         * lib/isnanl.c: Likewise.
100384         * lib/isnanl.h: Likewise.
100385         * lib/javacomp.c: Likewise.
100386         * lib/javacomp.h: Likewise.
100387         * lib/javaexec.c: Likewise.
100388         * lib/javaexec.h: Likewise.
100389         * lib/javaversion.c: Likewise.
100390         * lib/javaversion.h: Likewise.
100391         * lib/javaversion.java: Likewise.
100392         * lib/lbrkprop.h: Likewise.
100393         * lib/lchmod.h: Likewise.
100394         * lib/lchown.c: Likewise.
100395         * lib/ldexpl.c: Likewise.
100396         * lib/linebreak.c: Likewise.
100397         * lib/linebreak.h: Likewise.
100398         * lib/linebuffer.c: Likewise.
100399         * lib/linebuffer.h: Likewise.
100400         * lib/locale.in.h: Likewise.
100401         * lib/logl.c: Likewise.
100402         * lib/long-options.c: Likewise.
100403         * lib/long-options.h: Likewise.
100404         * lib/lstat.c: Likewise.
100405         * lib/lstat.h: Likewise.
100406         * lib/math.in.h: Likewise.
100407         * lib/mbchar.c: Likewise.
100408         * lib/mbchar.h: Likewise.
100409         * lib/mbfile.h: Likewise.
100410         * lib/mbiter.h: Likewise.
100411         * lib/mbscasecmp.c: Likewise.
100412         * lib/mbscasestr.c: Likewise.
100413         * lib/mbschr.c: Likewise.
100414         * lib/mbscspn.c: Likewise.
100415         * lib/mbslen.c: Likewise.
100416         * lib/mbsncasecmp.c: Likewise.
100417         * lib/mbsnlen.c: Likewise.
100418         * lib/mbspbrk.c: Likewise.
100419         * lib/mbspcasecmp.c: Likewise.
100420         * lib/mbsrchr.c: Likewise.
100421         * lib/mbssep.c: Likewise.
100422         * lib/mbsspn.c: Likewise.
100423         * lib/mbsstr.c: Likewise.
100424         * lib/mbstok_r.c: Likewise.
100425         * lib/mbswidth.c: Likewise.
100426         * lib/mbswidth.h: Likewise.
100427         * lib/mbuiter.h: Likewise.
100428         * lib/memcasecmp.c: Likewise.
100429         * lib/memcasecmp.h: Likewise.
100430         * lib/memchr.c: Likewise.
100431         * lib/memcmp.c: Likewise.
100432         * lib/memcoll.c: Likewise.
100433         * lib/memcoll.h: Likewise.
100434         * lib/memcpy.c: Likewise.
100435         * lib/memrchr.c: Likewise.
100436         * lib/mkancesdirs.c: Likewise.
100437         * lib/mkdir-p.c: Likewise.
100438         * lib/mkdir-p.h: Likewise.
100439         * lib/mkdir.c: Likewise.
100440         * lib/mkdirat.c: Likewise.
100441         * lib/mkdtemp.c: Likewise.
100442         * lib/mkstemp-safer.c: Likewise.
100443         * lib/mkstemp.c: Likewise.
100444         * lib/modechange.c: Likewise.
100445         * lib/modechange.h: Likewise.
100446         * lib/mountlist.c: Likewise.
100447         * lib/mountlist.h: Likewise.
100448         * lib/mpsort.c: Likewise.
100449         * lib/nanosleep.c: Likewise.
100450         * lib/obstack.c: Likewise.
100451         * lib/obstack.h: Likewise.
100452         * lib/open-safer.c: Likewise.
100453         * lib/open.c: Likewise.
100454         * lib/openat-die.c: Likewise.
100455         * lib/openat-priv.h: Likewise.
100456         * lib/openat-proc.c: Likewise.
100457         * lib/openat.c: Likewise.
100458         * lib/openat.h: Likewise.
100459         * lib/pagealign_alloc.c: Likewise.
100460         * lib/pagealign_alloc.h: Likewise.
100461         * lib/physmem.c: Likewise.
100462         * lib/physmem.h: Likewise.
100463         * lib/pipe-safer.c: Likewise.
100464         * lib/pipe.c: Likewise.
100465         * lib/pipe.h: Likewise.
100466         * lib/posixtm.c: Likewise.
100467         * lib/posixtm.h: Likewise.
100468         * lib/posixver.c: Likewise.
100469         * lib/printf-frexp.c: Likewise.
100470         * lib/printf-frexp.h: Likewise.
100471         * lib/printf-frexpl.c: Likewise.
100472         * lib/printf-frexpl.h: Likewise.
100473         * lib/printf.c: Likewise.
100474         * lib/progname.c: Likewise.
100475         * lib/progname.h: Likewise.
100476         * lib/progreloc.c: Likewise.
100477         * lib/putenv.c: Likewise.
100478         * lib/quote.c: Likewise.
100479         * lib/quote.h: Likewise.
100480         * lib/quotearg.c: Likewise.
100481         * lib/quotearg.h: Likewise.
100482         * lib/raise.c: Likewise.
100483         * lib/readline.c: Likewise.
100484         * lib/readline.h: Likewise.
100485         * lib/readlink.c: Likewise.
100486         * lib/readtokens.c: Likewise.
100487         * lib/readtokens.h: Likewise.
100488         * lib/readtokens0.c: Likewise.
100489         * lib/readtokens0.h: Likewise.
100490         * lib/readutmp.c: Likewise.
100491         * lib/readutmp.h: Likewise.
100492         * lib/realloc.c: Likewise.
100493         * lib/relocwrapper.c: Likewise.
100494         * lib/rename-dest-slash.c: Likewise.
100495         * lib/rename.c: Likewise.
100496         * lib/rmdir.c: Likewise.
100497         * lib/rpmatch.c: Likewise.
100498         * lib/safe-read.c: Likewise.
100499         * lib/safe-read.h: Likewise.
100500         * lib/safe-write.c: Likewise.
100501         * lib/safe-write.h: Likewise.
100502         * lib/same-inode.h: Likewise.
100503         * lib/same.c: Likewise.
100504         * lib/same.h: Likewise.
100505         * lib/save-cwd.c: Likewise.
100506         * lib/save-cwd.h: Likewise.
100507         * lib/savedir.c: Likewise.
100508         * lib/savedir.h: Likewise.
100509         * lib/savewd.c: Likewise.
100510         * lib/savewd.h: Likewise.
100511         * lib/search.in.h: Likewise.
100512         * lib/setenv.c: Likewise.
100513         * lib/setenv.h: Likewise.
100514         * lib/settime.c: Likewise.
100515         * lib/sh-quote.c: Likewise.
100516         * lib/sh-quote.h: Likewise.
100517         * lib/sig2str.c: Likewise.
100518         * lib/sig2str.h: Likewise.
100519         * lib/signal.in.h: Likewise.
100520         * lib/signbitd.c: Likewise.
100521         * lib/signbitf.c: Likewise.
100522         * lib/signbitl.c: Likewise.
100523         * lib/sigprocmask.c: Likewise.
100524         * lib/sincosl.c: Likewise.
100525         * lib/sleep.c: Likewise.
100526         * lib/sprintf.c: Likewise.
100527         * lib/sqrtl.c: Likewise.
100528         * lib/stat-time.h: Likewise.
100529         * lib/stdio--.h: Likewise.
100530         * lib/stdio-safer.h: Likewise.
100531         * lib/stdlib--.h: Likewise.
100532         * lib/stdlib-safer.h: Likewise.
100533         * lib/stdlib.in.h: Likewise.
100534         * lib/stpcpy.c: Likewise.
100535         * lib/stpncpy.c: Likewise.
100536         * lib/strchrnul.c: Likewise.
100537         * lib/strcspn.c: Likewise.
100538         * lib/strerror.c: Likewise.
100539         * lib/strftime.c: Likewise.
100540         * lib/strftime.h: Likewise.
100541         * lib/striconveh.c: Likewise.
100542         * lib/striconveh.h: Likewise.
100543         * lib/striconveha.c: Likewise.
100544         * lib/striconveha.h: Likewise.
100545         * lib/stripslash.c: Likewise.
100546         * lib/strnlen1.c: Likewise.
100547         * lib/strnlen1.h: Likewise.
100548         * lib/strtod.c: Likewise.
100549         * lib/strtoimax.c: Likewise.
100550         * lib/strtok_r.c: Likewise.
100551         * lib/strtol.c: Likewise.
100552         * lib/strtoll.c: Likewise.
100553         * lib/strtoul.c: Likewise.
100554         * lib/strtoull.c: Likewise.
100555         * lib/sysexits.in.h: Likewise.
100556         * lib/tempname.c: Likewise.
100557         * lib/tempname.h: Likewise.
100558         * lib/timespec.h: Likewise.
100559         * lib/tls.c: Likewise.
100560         * lib/tls.h: Likewise.
100561         * lib/tmpdir.c: Likewise.
100562         * lib/tmpdir.h: Likewise.
100563         * lib/tmpfile-safer.c: Likewise.
100564         * lib/tmpfile.c: Likewise.
100565         * lib/trigl.c: Likewise.
100566         * lib/trigl.h: Likewise.
100567         * lib/trim.c: Likewise.
100568         * lib/trim.h: Likewise.
100569         * lib/trunc.c: Likewise.
100570         * lib/truncf.c: Likewise.
100571         * lib/truncl.c: Likewise.
100572         * lib/tsearch.c: Likewise.
100573         * lib/unicodeio.c: Likewise.
100574         * lib/unicodeio.h: Likewise.
100575         * lib/unistd--.h: Likewise.
100576         * lib/unistd-safer.h: Likewise.
100577         * lib/unistdio/ulc-fprintf.c: Likewise.
100578         * lib/unistdio/ulc-vfprintf.c: Likewise.
100579         * lib/unlinkdir.c: Likewise.
100580         * lib/unlinkdir.h: Likewise.
100581         * lib/unlocked-io.h: Likewise.
100582         * lib/unsetenv.c: Likewise.
100583         * lib/userspec.c: Likewise.
100584         * lib/utime.c: Likewise.
100585         * lib/utimecmp.c: Likewise.
100586         * lib/utimecmp.h: Likewise.
100587         * lib/utimens.c: Likewise.
100588         * lib/verify.h: Likewise.
100589         * lib/verror.c: Likewise.
100590         * lib/verror.h: Likewise.
100591         * lib/version-etc-fsf.c: Likewise.
100592         * lib/version-etc.c: Likewise.
100593         * lib/version-etc.h: Likewise.
100594         * lib/vfprintf.c: Likewise.
100595         * lib/vprintf.c: Likewise.
100596         * lib/vsprintf.c: Likewise.
100597         * lib/w32spawn.h: Likewise.
100598         * lib/wait-process.c: Likewise.
100599         * lib/wait-process.h: Likewise.
100600         * lib/wcwidth.c: Likewise.
100601         * lib/write-any-file.c: Likewise.
100602         * lib/xalloc-die.c: Likewise.
100603         * lib/xalloc.h: Likewise.
100604         * lib/xasprintf.c: Likewise.
100605         * lib/xgetcwd.c: Likewise.
100606         * lib/xgetcwd.h: Likewise.
100607         * lib/xgetdomainname.c: Likewise.
100608         * lib/xgetdomainname.h: Likewise.
100609         * lib/xgethostname.c: Likewise.
100610         * lib/xmalloc.c: Likewise.
100611         * lib/xmalloca.c: Likewise.
100612         * lib/xmalloca.h: Likewise.
100613         * lib/xmemcoll.c: Likewise.
100614         * lib/xnanosleep.c: Likewise.
100615         * lib/xreadlink.c: Likewise.
100616         * lib/xreadlink.h: Likewise.
100617         * lib/xsetenv.c: Likewise.
100618         * lib/xsetenv.h: Likewise.
100619         * lib/xstriconv.c: Likewise.
100620         * lib/xstriconv.h: Likewise.
100621         * lib/xstrndup.c: Likewise.
100622         * lib/xstrndup.h: Likewise.
100623         * lib/xstrtod.c: Likewise.
100624         * lib/xstrtod.h: Likewise.
100625         * lib/xstrtol-error.c: Likewise.
100626         * lib/xstrtol.c: Likewise.
100627         * lib/xstrtol.h: Likewise.
100628         * lib/xtime.h: Likewise.
100629         * lib/xvasprintf.c: Likewise.
100630         * lib/xvasprintf.h: Likewise.
100631         * lib/yesno.c: Likewise.
100632         * lib/yesno.h: Likewise.
100633         * posix-modules: Likewise.
100634         * tests/test-alloca-opt.c: Likewise.
100635         * tests/test-arcfour.c: Likewise.
100636         * tests/test-arctwo.c: Likewise.
100637         * tests/test-argmatch.c: Likewise.
100638         * tests/test-argp-2.sh: Likewise.
100639         * tests/test-argp.c: Likewise.
100640         * tests/test-arpa_inet.c: Likewise.
100641         * tests/test-array_list.c: Likewise.
100642         * tests/test-array_oset.c: Likewise.
100643         * tests/test-atexit.c: Likewise.
100644         * tests/test-avltree_list.c: Likewise.
100645         * tests/test-avltree_oset.c: Likewise.
100646         * tests/test-avltreehash_list.c: Likewise.
100647         * tests/test-base64.c: Likewise.
100648         * tests/test-binary-io.c: Likewise.
100649         * tests/test-byteswap.c: Likewise.
100650         * tests/test-c-ctype.c: Likewise.
100651         * tests/test-c-strcasecmp.c: Likewise.
100652         * tests/test-c-strcasestr.c: Likewise.
100653         * tests/test-c-strncasecmp.c: Likewise.
100654         * tests/test-c-strstr.c: Likewise.
100655         * tests/test-canonicalize-lgpl.c: Likewise.
100656         * tests/test-canonicalize.c: Likewise.
100657         * tests/test-carray_list.c: Likewise.
100658         * tests/test-ceilf.c: Likewise.
100659         * tests/test-ceill.c: Likewise.
100660         * tests/test-count-one-bits.c: Likewise.
100661         * tests/test-crc.c: Likewise.
100662         * tests/test-dirname.c: Likewise.
100663         * tests/test-fbufmode.c: Likewise.
100664         * tests/test-fcntl.c: Likewise.
100665         * tests/test-fflush.c: Likewise.
100666         * tests/test-floorf.c: Likewise.
100667         * tests/test-floorl.c: Likewise.
100668         * tests/test-fopen.c: Likewise.
100669         * tests/test-fprintf-posix.c: Likewise.
100670         * tests/test-fprintf-posix.h: Likewise.
100671         * tests/test-fpurge.c: Likewise.
100672         * tests/test-freadable.c: Likewise.
100673         * tests/test-freadahead.c: Likewise.
100674         * tests/test-freading.c: Likewise.
100675         * tests/test-freopen.c: Likewise.
100676         * tests/test-frexp.c: Likewise.
100677         * tests/test-frexpl.c: Likewise.
100678         * tests/test-fseek.c: Likewise.
100679         * tests/test-fseeko.c: Likewise.
100680         * tests/test-fseterr.c: Likewise.
100681         * tests/test-fstrcmp.c: Likewise.
100682         * tests/test-ftell.c: Likewise.
100683         * tests/test-ftello.c: Likewise.
100684         * tests/test-fwritable.c: Likewise.
100685         * tests/test-fwriting.c: Likewise.
100686         * tests/test-getaddrinfo.c: Likewise.
100687         * tests/test-getpass.c: Likewise.
100688         * tests/test-gettimeofday.c: Likewise.
100689         * tests/test-hmac-md5.c: Likewise.
100690         * tests/test-hmac-sha1.c: Likewise.
100691         * tests/test-iconv.c: Likewise.
100692         * tests/test-iconvme.c: Likewise.
100693         * tests/test-inttypes.c: Likewise.
100694         * tests/test-isnan.c: Likewise.
100695         * tests/test-isnanf.c: Likewise.
100696         * tests/test-isnanl-nolibm.c: Likewise.
100697         * tests/test-isnanl.c: Likewise.
100698         * tests/test-isnanl.h: Likewise.
100699         * tests/test-ldexpl.c: Likewise.
100700         * tests/test-linked_list.c: Likewise.
100701         * tests/test-linkedhash_list.c: Likewise.
100702         * tests/test-locale.c: Likewise.
100703         * tests/test-localename.c: Likewise.
100704         * tests/test-lock.c: Likewise.
100705         * tests/test-lseek.c: Likewise.
100706         * tests/test-malloca.c: Likewise.
100707         * tests/test-math.c: Likewise.
100708         * tests/test-mbscasecmp.c: Likewise.
100709         * tests/test-mbscasestr1.c: Likewise.
100710         * tests/test-mbscasestr2.c: Likewise.
100711         * tests/test-mbscasestr3.c: Likewise.
100712         * tests/test-mbscasestr4.c: Likewise.
100713         * tests/test-mbschr.c: Likewise.
100714         * tests/test-mbscspn.c: Likewise.
100715         * tests/test-mbsncasecmp.c: Likewise.
100716         * tests/test-mbspbrk.c: Likewise.
100717         * tests/test-mbspcasecmp.c: Likewise.
100718         * tests/test-mbsrchr.c: Likewise.
100719         * tests/test-mbsspn.c: Likewise.
100720         * tests/test-mbsstr1.c: Likewise.
100721         * tests/test-mbsstr2.c: Likewise.
100722         * tests/test-mbsstr3.c: Likewise.
100723         * tests/test-md5.c: Likewise.
100724         * tests/test-memmem.c: Likewise.
100725         * tests/test-netinet_in.c: Likewise.
100726         * tests/test-open.c: Likewise.
100727         * tests/test-printf-frexp.c: Likewise.
100728         * tests/test-printf-frexpl.c: Likewise.
100729         * tests/test-printf-posix.c: Likewise.
100730         * tests/test-printf-posix.h: Likewise.
100731         * tests/test-rbtree_list.c: Likewise.
100732         * tests/test-rbtree_oset.c: Likewise.
100733         * tests/test-rbtreehash_list.c: Likewise.
100734         * tests/test-read-file.c: Likewise.
100735         * tests/test-rijndael.c: Likewise.
100736         * tests/test-search.c: Likewise.
100737         * tests/test-signbit.c: Likewise.
100738         * tests/test-sleep.c: Likewise.
100739         * tests/test-snprintf-posix.c: Likewise.
100740         * tests/test-snprintf-posix.h: Likewise.
100741         * tests/test-snprintf.c: Likewise.
100742         * tests/test-sprintf-posix.c: Likewise.
100743         * tests/test-sprintf-posix.h: Likewise.
100744         * tests/test-stat-time.c: Likewise.
100745         * tests/test-stdbool.c: Likewise.
100746         * tests/test-stdint.c: Likewise.
100747         * tests/test-stdio.c: Likewise.
100748         * tests/test-stdlib.c: Likewise.
100749         * tests/test-stpncpy.c: Likewise.
100750         * tests/test-strcasestr.c: Likewise.
100751         * tests/test-striconv.c: Likewise.
100752         * tests/test-striconveh.c: Likewise.
100753         * tests/test-striconveha.c: Likewise.
100754         * tests/test-string.c: Likewise.
100755         * tests/test-sys_select.c: Likewise.
100756         * tests/test-sys_socket.c: Likewise.
100757         * tests/test-sys_stat.c: Likewise.
100758         * tests/test-sys_time.c: Likewise.
100759         * tests/test-sysexits.c: Likewise.
100760         * tests/test-time.c: Likewise.
100761         * tests/test-tls.c: Likewise.
100762         * tests/test-trunc.c: Likewise.
100763         * tests/test-truncf.c: Likewise.
100764         * tests/test-truncl.c: Likewise.
100765         * tests/test-unistd.c: Likewise.
100766         * tests/test-vasnprintf-posix.c: Likewise.
100767         * tests/test-vasnprintf-posix2.c: Likewise.
100768         * tests/test-vasnprintf.c: Likewise.
100769         * tests/test-vasprintf-posix.c: Likewise.
100770         * tests/test-vasprintf.c: Likewise.
100771         * tests/test-verify.c: Likewise.
100772         * tests/test-vfprintf-posix.c: Likewise.
100773         * tests/test-vprintf-posix.c: Likewise.
100774         * tests/test-vsnprintf-posix.c: Likewise.
100775         * tests/test-vsnprintf.c: Likewise.
100776         * tests/test-vsprintf-posix.c: Likewise.
100777         * tests/test-wchar.c: Likewise.
100778         * tests/test-wctype.c: Likewise.
100779         * tests/test-wcwidth.c: Likewise.
100780         * tests/test-xstrtol.c: Likewise.
100781         * tests/test-xvasprintf.c: Likewise.
100782         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
100783         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
100784         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
100785         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
100786         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
100787         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
100788         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
100789         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
100790         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
100791         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
100792         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
100793         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
100794         * tests/uniname/test-uninames.c: Likewise.
100795         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
100796         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
100797         * tests/unistdio/test-u16-printf1.h: Likewise.
100798         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
100799         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
100800         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
100801         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
100802         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
100803         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
100804         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
100805         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
100806         * tests/unistdio/test-u32-printf1.h: Likewise.
100807         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
100808         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
100809         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
100810         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
100811         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
100812         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
100813         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
100814         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
100815         * tests/unistdio/test-u8-printf1.h: Likewise.
100816         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
100817         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
100818         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
100819         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
100820         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
100821         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
100822         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
100823         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
100824         * tests/unistdio/test-ulc-printf1.h: Likewise.
100825         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
100826         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
100827         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
100828         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
100829         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
100830         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
100831         * tests/uniwidth/test-u16-strwidth.c: Likewise.
100832         * tests/uniwidth/test-u16-width.c: Likewise.
100833         * tests/uniwidth/test-u32-strwidth.c: Likewise.
100834         * tests/uniwidth/test-u32-width.c: Likewise.
100835         * tests/uniwidth/test-u8-strwidth.c: Likewise.
100836         * tests/uniwidth/test-u8-width.c: Likewise.
100837         * tests/uniwidth/test-uc_width.c: Likewise.
100838         * config/srclist-update: Likewise.
100839         (fixlicense): Update to GPLv3+.
100841         Change copyright notice from LGPLv2.1+ to LGPLv3+.
100842         * tests/test-tsearch.c: Change copyright notice.
100844         Change copyright notice from LGPLv2.0+ to LGPLv3+.
100845         * lib/c-strcaseeq.h: Change copyright notice.
100846         * lib/streq.h: Likewise.
100847         * lib/uniconv.h: Likewise.
100848         * lib/uniconv/u-conv-from-enc.h: Likewise.
100849         * lib/uniconv/u-conv-to-enc.h: Likewise.
100850         * lib/uniconv/u-strconv-from-enc.h: Likewise.
100851         * lib/uniconv/u-strconv-to-enc.h: Likewise.
100852         * lib/uniconv/u16-conv-from-enc.c: Likewise.
100853         * lib/uniconv/u16-conv-to-enc.c: Likewise.
100854         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
100855         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
100856         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
100857         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
100858         * lib/uniconv/u32-conv-from-enc.c: Likewise.
100859         * lib/uniconv/u32-conv-to-enc.c: Likewise.
100860         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
100861         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
100862         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
100863         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
100864         * lib/uniconv/u8-conv-from-enc.c: Likewise.
100865         * lib/uniconv/u8-conv-to-enc.c: Likewise.
100866         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
100867         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
100868         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
100869         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
100870         * lib/uniname.h: Likewise.
100871         * lib/uniname/uniname.c: Likewise.
100872         * lib/unistdio.h: Likewise.
100873         * lib/unistdio/u-asnprintf.h: Likewise.
100874         * lib/unistdio/u-asprintf.h: Likewise.
100875         * lib/unistdio/u-printf-args.c: Likewise.
100876         * lib/unistdio/u-printf-args.h: Likewise.
100877         * lib/unistdio/u-printf-parse.h: Likewise.
100878         * lib/unistdio/u-snprintf.h: Likewise.
100879         * lib/unistdio/u-sprintf.h: Likewise.
100880         * lib/unistdio/u-vasprintf.h: Likewise.
100881         * lib/unistdio/u-vsnprintf.h: Likewise.
100882         * lib/unistdio/u-vsprintf.h: Likewise.
100883         * lib/unistdio/u16-asnprintf.c: Likewise.
100884         * lib/unistdio/u16-asprintf.c: Likewise.
100885         * lib/unistdio/u16-printf-parse.c: Likewise.
100886         * lib/unistdio/u16-snprintf.c: Likewise.
100887         * lib/unistdio/u16-sprintf.c: Likewise.
100888         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
100889         * lib/unistdio/u16-u16-asprintf.c: Likewise.
100890         * lib/unistdio/u16-u16-snprintf.c: Likewise.
100891         * lib/unistdio/u16-u16-sprintf.c: Likewise.
100892         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
100893         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
100894         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
100895         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
100896         * lib/unistdio/u16-vasnprintf.c: Likewise.
100897         * lib/unistdio/u16-vasprintf.c: Likewise.
100898         * lib/unistdio/u16-vsnprintf.c: Likewise.
100899         * lib/unistdio/u16-vsprintf.c: Likewise.
100900         * lib/unistdio/u32-asnprintf.c: Likewise.
100901         * lib/unistdio/u32-asprintf.c: Likewise.
100902         * lib/unistdio/u32-printf-parse.c: Likewise.
100903         * lib/unistdio/u32-snprintf.c: Likewise.
100904         * lib/unistdio/u32-sprintf.c: Likewise.
100905         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
100906         * lib/unistdio/u32-u32-asprintf.c: Likewise.
100907         * lib/unistdio/u32-u32-snprintf.c: Likewise.
100908         * lib/unistdio/u32-u32-sprintf.c: Likewise.
100909         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
100910         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
100911         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
100912         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
100913         * lib/unistdio/u32-vasnprintf.c: Likewise.
100914         * lib/unistdio/u32-vasprintf.c: Likewise.
100915         * lib/unistdio/u32-vsnprintf.c: Likewise.
100916         * lib/unistdio/u32-vsprintf.c: Likewise.
100917         * lib/unistdio/u8-asnprintf.c: Likewise.
100918         * lib/unistdio/u8-asprintf.c: Likewise.
100919         * lib/unistdio/u8-printf-parse.c: Likewise.
100920         * lib/unistdio/u8-snprintf.c: Likewise.
100921         * lib/unistdio/u8-sprintf.c: Likewise.
100922         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
100923         * lib/unistdio/u8-u8-asprintf.c: Likewise.
100924         * lib/unistdio/u8-u8-snprintf.c: Likewise.
100925         * lib/unistdio/u8-u8-sprintf.c: Likewise.
100926         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
100927         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
100928         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
100929         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
100930         * lib/unistdio/u8-vasnprintf.c: Likewise.
100931         * lib/unistdio/u8-vasprintf.c: Likewise.
100932         * lib/unistdio/u8-vsnprintf.c: Likewise.
100933         * lib/unistdio/u8-vsprintf.c: Likewise.
100934         * lib/unistdio/ulc-asnprintf.c: Likewise.
100935         * lib/unistdio/ulc-asprintf.c: Likewise.
100936         * lib/unistdio/ulc-printf-parse.c: Likewise.
100937         * lib/unistdio/ulc-snprintf.c: Likewise.
100938         * lib/unistdio/ulc-sprintf.c: Likewise.
100939         * lib/unistdio/ulc-vasnprintf.c: Likewise.
100940         * lib/unistdio/ulc-vasprintf.c: Likewise.
100941         * lib/unistdio/ulc-vsnprintf.c: Likewise.
100942         * lib/unistdio/ulc-vsprintf.c: Likewise.
100943         * lib/unistr.h: Likewise.
100944         * lib/unistr/u-cpy-alloc.h: Likewise.
100945         * lib/unistr/u-cpy.h: Likewise.
100946         * lib/unistr/u-endswith.h: Likewise.
100947         * lib/unistr/u-move.h: Likewise.
100948         * lib/unistr/u-set.h: Likewise.
100949         * lib/unistr/u-startswith.h: Likewise.
100950         * lib/unistr/u-stpcpy.h: Likewise.
100951         * lib/unistr/u-stpncpy.h: Likewise.
100952         * lib/unistr/u-strcat.h: Likewise.
100953         * lib/unistr/u-strcpy.h: Likewise.
100954         * lib/unistr/u-strcspn.h: Likewise.
100955         * lib/unistr/u-strdup.h: Likewise.
100956         * lib/unistr/u-strlen.h: Likewise.
100957         * lib/unistr/u-strncat.h: Likewise.
100958         * lib/unistr/u-strncpy.h: Likewise.
100959         * lib/unistr/u-strnlen.h: Likewise.
100960         * lib/unistr/u-strpbrk.h: Likewise.
100961         * lib/unistr/u-strspn.h: Likewise.
100962         * lib/unistr/u-strstr.h: Likewise.
100963         * lib/unistr/u-strtok.h: Likewise.
100964         * lib/unistr/u16-check.c: Likewise.
100965         * lib/unistr/u16-chr.c: Likewise.
100966         * lib/unistr/u16-cmp.c: Likewise.
100967         * lib/unistr/u16-cpy-alloc.c: Likewise.
100968         * lib/unistr/u16-cpy.c: Likewise.
100969         * lib/unistr/u16-endswith.c: Likewise.
100970         * lib/unistr/u16-mblen.c: Likewise.
100971         * lib/unistr/u16-mbsnlen.c: Likewise.
100972         * lib/unistr/u16-mbtouc-aux.c: Likewise.
100973         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
100974         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
100975         * lib/unistr/u16-mbtouc.c: Likewise.
100976         * lib/unistr/u16-mbtoucr.c: Likewise.
100977         * lib/unistr/u16-move.c: Likewise.
100978         * lib/unistr/u16-next.c: Likewise.
100979         * lib/unistr/u16-prev.c: Likewise.
100980         * lib/unistr/u16-set.c: Likewise.
100981         * lib/unistr/u16-startswith.c: Likewise.
100982         * lib/unistr/u16-stpcpy.c: Likewise.
100983         * lib/unistr/u16-stpncpy.c: Likewise.
100984         * lib/unistr/u16-strcat.c: Likewise.
100985         * lib/unistr/u16-strchr.c: Likewise.
100986         * lib/unistr/u16-strcmp.c: Likewise.
100987         * lib/unistr/u16-strcpy.c: Likewise.
100988         * lib/unistr/u16-strcspn.c: Likewise.
100989         * lib/unistr/u16-strdup.c: Likewise.
100990         * lib/unistr/u16-strlen.c: Likewise.
100991         * lib/unistr/u16-strmblen.c: Likewise.
100992         * lib/unistr/u16-strmbtouc.c: Likewise.
100993         * lib/unistr/u16-strncat.c: Likewise.
100994         * lib/unistr/u16-strncmp.c: Likewise.
100995         * lib/unistr/u16-strncpy.c: Likewise.
100996         * lib/unistr/u16-strnlen.c: Likewise.
100997         * lib/unistr/u16-strpbrk.c: Likewise.
100998         * lib/unistr/u16-strrchr.c: Likewise.
100999         * lib/unistr/u16-strspn.c: Likewise.
101000         * lib/unistr/u16-strstr.c: Likewise.
101001         * lib/unistr/u16-strtok.c: Likewise.
101002         * lib/unistr/u16-to-u32.c: Likewise.
101003         * lib/unistr/u16-to-u8.c: Likewise.
101004         * lib/unistr/u16-uctomb-aux.c: Likewise.
101005         * lib/unistr/u16-uctomb.c: Likewise.
101006         * lib/unistr/u32-check.c: Likewise.
101007         * lib/unistr/u32-chr.c: Likewise.
101008         * lib/unistr/u32-cmp.c: Likewise.
101009         * lib/unistr/u32-cpy-alloc.c: Likewise.
101010         * lib/unistr/u32-cpy.c: Likewise.
101011         * lib/unistr/u32-endswith.c: Likewise.
101012         * lib/unistr/u32-mblen.c: Likewise.
101013         * lib/unistr/u32-mbsnlen.c: Likewise.
101014         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
101015         * lib/unistr/u32-mbtouc.c: Likewise.
101016         * lib/unistr/u32-mbtoucr.c: Likewise.
101017         * lib/unistr/u32-move.c: Likewise.
101018         * lib/unistr/u32-next.c: Likewise.
101019         * lib/unistr/u32-prev.c: Likewise.
101020         * lib/unistr/u32-set.c: Likewise.
101021         * lib/unistr/u32-startswith.c: Likewise.
101022         * lib/unistr/u32-stpcpy.c: Likewise.
101023         * lib/unistr/u32-stpncpy.c: Likewise.
101024         * lib/unistr/u32-strcat.c: Likewise.
101025         * lib/unistr/u32-strchr.c: Likewise.
101026         * lib/unistr/u32-strcmp.c: Likewise.
101027         * lib/unistr/u32-strcpy.c: Likewise.
101028         * lib/unistr/u32-strcspn.c: Likewise.
101029         * lib/unistr/u32-strdup.c: Likewise.
101030         * lib/unistr/u32-strlen.c: Likewise.
101031         * lib/unistr/u32-strmblen.c: Likewise.
101032         * lib/unistr/u32-strmbtouc.c: Likewise.
101033         * lib/unistr/u32-strncat.c: Likewise.
101034         * lib/unistr/u32-strncmp.c: Likewise.
101035         * lib/unistr/u32-strncpy.c: Likewise.
101036         * lib/unistr/u32-strnlen.c: Likewise.
101037         * lib/unistr/u32-strpbrk.c: Likewise.
101038         * lib/unistr/u32-strrchr.c: Likewise.
101039         * lib/unistr/u32-strspn.c: Likewise.
101040         * lib/unistr/u32-strstr.c: Likewise.
101041         * lib/unistr/u32-strtok.c: Likewise.
101042         * lib/unistr/u32-to-u16.c: Likewise.
101043         * lib/unistr/u32-to-u8.c: Likewise.
101044         * lib/unistr/u32-uctomb.c: Likewise.
101045         * lib/unistr/u8-check.c: Likewise.
101046         * lib/unistr/u8-chr.c: Likewise.
101047         * lib/unistr/u8-cmp.c: Likewise.
101048         * lib/unistr/u8-cpy-alloc.c: Likewise.
101049         * lib/unistr/u8-cpy.c: Likewise.
101050         * lib/unistr/u8-endswith.c: Likewise.
101051         * lib/unistr/u8-mblen.c: Likewise.
101052         * lib/unistr/u8-mbsnlen.c: Likewise.
101053         * lib/unistr/u8-mbtouc-aux.c: Likewise.
101054         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
101055         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
101056         * lib/unistr/u8-mbtouc.c: Likewise.
101057         * lib/unistr/u8-mbtoucr.c: Likewise.
101058         * lib/unistr/u8-move.c: Likewise.
101059         * lib/unistr/u8-next.c: Likewise.
101060         * lib/unistr/u8-prev.c: Likewise.
101061         * lib/unistr/u8-set.c: Likewise.
101062         * lib/unistr/u8-startswith.c: Likewise.
101063         * lib/unistr/u8-stpcpy.c: Likewise.
101064         * lib/unistr/u8-stpncpy.c: Likewise.
101065         * lib/unistr/u8-strcat.c: Likewise.
101066         * lib/unistr/u8-strchr.c: Likewise.
101067         * lib/unistr/u8-strcmp.c: Likewise.
101068         * lib/unistr/u8-strcpy.c: Likewise.
101069         * lib/unistr/u8-strcspn.c: Likewise.
101070         * lib/unistr/u8-strdup.c: Likewise.
101071         * lib/unistr/u8-strlen.c: Likewise.
101072         * lib/unistr/u8-strmblen.c: Likewise.
101073         * lib/unistr/u8-strmbtouc.c: Likewise.
101074         * lib/unistr/u8-strncat.c: Likewise.
101075         * lib/unistr/u8-strncmp.c: Likewise.
101076         * lib/unistr/u8-strncpy.c: Likewise.
101077         * lib/unistr/u8-strnlen.c: Likewise.
101078         * lib/unistr/u8-strpbrk.c: Likewise.
101079         * lib/unistr/u8-strrchr.c: Likewise.
101080         * lib/unistr/u8-strspn.c: Likewise.
101081         * lib/unistr/u8-strstr.c: Likewise.
101082         * lib/unistr/u8-strtok.c: Likewise.
101083         * lib/unistr/u8-to-u16.c: Likewise.
101084         * lib/unistr/u8-to-u32.c: Likewise.
101085         * lib/unistr/u8-uctomb-aux.c: Likewise.
101086         * lib/unistr/u8-uctomb.c: Likewise.
101087         * lib/unitypes.h: Likewise.
101088         * lib/uniwidth.h: Likewise.
101089         * lib/uniwidth/cjk.h: Likewise.
101090         * lib/uniwidth/u16-strwidth.c: Likewise.
101091         * lib/uniwidth/u16-width.c: Likewise.
101092         * lib/uniwidth/u32-strwidth.c: Likewise.
101093         * lib/uniwidth/u32-width.c: Likewise.
101094         * lib/uniwidth/u8-strwidth.c: Likewise.
101095         * lib/uniwidth/u8-width.c: Likewise.
101096         * lib/uniwidth/width.c: Likewise.
101098 2007-10-07  Bruno Haible  <bruno@clisp.org>
101100         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
101101         The file is still under LGPL (see modules/inttypes).
101103 2007-10-06  Bruno Haible  <bruno@clisp.org>
101105         * modules/trunc (Dependencies): Add 'extensions'.
101106         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
101107         Reported by Ben Pfaff <blp@gnu.org>.
101109 2007-10-06  Bruno Haible  <bruno@clisp.org>
101111         * modules/freopen-tests: New file.
101112         * tests/test-freopen.c: New file.
101114         * modules/fopen-tests: New file.
101115         * tests/test-fopen.c: New file.
101117         * modules/fopen: New file.
101118         * lib/fopen.c: New file.
101119         * m4/fopen.m4: New file.
101120         * modules/freopen: New file.
101121         * lib/freopen.c: New file.
101122         * m4/freopen.m4: New file.
101123         * lib/stdio.in.h (fopen, freopen): New declarations.
101124         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
101125         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101126         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
101127         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101128         * doc/functions/fopen.texi: Mention the 'fopen' module.
101129         * doc/functions/freopen.texi: Mention the 'freopen' module.
101131 2007-10-06  Bruno Haible  <bruno@clisp.org>
101133         * modules/open-tests: New file.
101134         * tests/test-open.c: New file.
101136         * modules/open: New file.
101137         * lib/open.c: New file.
101138         * m4/open.m4: New file.
101139         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
101140         lib/open.c does.
101141         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
101142         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
101143         macros.
101144         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
101145         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
101146         REPLACE_OPEN.
101147         * doc/functions/open.texi: Mention the 'open' module.
101149 2007-10-04  Bruno Haible  <bruno@clisp.org>
101151         * modules/ceill-tests: New file.
101152         * tests/test-ceill.c: New file.
101154         * modules/ceill: New file.
101155         * lib/ceill.c: Replace entire file.
101156         * m4/ceill.m4: New file.
101157         * lib/math.in.h (ceill): Replace declaration.
101158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
101159         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
101160         * doc/functions/ceill.texi: Mention the 'ceill' module.
101161         * modules/mathl (Files): Remove lib/ceill.c.
101162         (Depends-on): Add ceill.
101164 2007-10-04  Bruno Haible  <bruno@clisp.org>
101166         * modules/ceilf-tests: New file.
101167         * tests/test-ceilf.c: New file.
101169         * modules/ceilf: New file.
101170         * lib/ceil.c: New file.
101171         * lib/ceilf.c: New file.
101172         * m4/ceilf.m4: New file.
101173         * lib/math.in.h (ceilf): New declaration.
101174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
101175         HAVE_DECL_CEILF.
101176         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
101177         HAVE_DECL_CEILF.
101178         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
101180 2007-10-04  Bruno Haible  <bruno@clisp.org>
101182         * modules/floorl-tests: New file.
101183         * tests/test-floorl.c: New file.
101185         * modules/floorl: New file.
101186         * lib/floorl.c: Replace entire file.
101187         * m4/floorl.m4: New file.
101188         * lib/math.in.h (floorl): Replace declaration.
101189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
101190         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
101191         * doc/functions/floorl.texi: Mention the 'floorl' module.
101192         * modules/mathl (Files): Remove lib/floorl.c.
101193         (Depends-on): Add floorl.
101195 2007-10-04  Bruno Haible  <bruno@clisp.org>
101197         * modules/floorf-tests: New file.
101198         * tests/test-floorf.c: New file.
101200         * modules/floorf: New file.
101201         * lib/floor.c: New file.
101202         * lib/floorf.c: New file.
101203         * m4/floorf.m4: New file.
101204         * lib/math.in.h (floorf): New declaration.
101205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
101206         HAVE_DECL_FLOORF.
101207         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
101208         HAVE_DECL_FLOORF.
101209         * doc/functions/floorf.texi: Mention the 'floorf' module.
101211 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
101212             Bruno Haible  <bruno@clisp.org>
101214         Advertise for the Git server instead of the CVS server.
101215         * doc/gnulib-intro.texi (Steady Development): Mention the Git
101216         repository instead of the CVS one.
101217         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
101218         about all VCS systems generically.
101219         * doc/gnulib.texi (Introduction): Capitalize `Git'.
101221 2007-10-04  Bruno Haible  <bruno@clisp.org>
101223         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
101224         means.
101225         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
101227 2007-10-04  Bruno Haible  <bruno@clisp.org>
101229         * modules/truncl-tests: New file.
101230         * tests/test-truncl.c: New file.
101232         * modules/truncl: New file.
101233         * lib/truncl.c: New file.
101234         * m4/truncl.m4: New file.
101235         * lib/math.in.h (truncl): New declaration.
101236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
101237         HAVE_DECL_TRUNCL.
101238         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
101239         HAVE_DECL_TRUNCL.
101240         * doc/functions/truncl.texi: Mention the 'truncl' module.
101242 2007-10-04  Bruno Haible  <bruno@clisp.org>
101244         * modules/truncf-tests: New file.
101245         * tests/test-truncf.c: New file.
101247         * modules/truncf: New file.
101248         * lib/trunc.c: Make paramerizable through USE_* macros.
101249         * lib/truncf.c: New file.
101250         * m4/truncf.m4: New file.
101251         * lib/math.in.h (truncf): New declaration.
101252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
101253         HAVE_DECL_TRUNCF.
101254         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
101255         HAVE_DECL_TRUNCF.
101256         * doc/functions/truncf.texi: Mention the 'truncf' module.
101258 2007-10-03  Bruno Haible  <bruno@clisp.org>
101260         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
101261         augmentation also for tests modules.
101262         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
101263         * modules/atexit-tests (Makefile.am): Likewise.
101264         * modules/binary-io-tests (Makefile.am): Likewise.
101265         * modules/c-strcase-tests (Makefile.am): Likewise.
101266         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
101267         * modules/canonicalize-tests (Makefile.am): Likewise.
101268         * modules/closein-tests (Makefile.am): Likewise.
101269         * modules/fprintf-posix-tests (Makefile.am): Likewise.
101270         * modules/freadahead-tests (Makefile.am): Likewise.
101271         * modules/fseek-tests (Makefile.am): Likewise.
101272         * modules/fseeko-tests (Makefile.am): Likewise.
101273         * modules/ftell-tests (Makefile.am): Likewise.
101274         * modules/ftello-tests (Makefile.am): Likewise.
101275         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
101276         * modules/isnanl-tests (Makefile.am): Likewise.
101277         * modules/lseek-tests (Makefile.am): Likewise.
101278         * modules/mbscasecmp-tests (Makefile.am): Likewise.
101279         * modules/mbscasestr-tests (Makefile.am): Likewise.
101280         * modules/mbschr-tests (Makefile.am): Likewise.
101281         * modules/mbscspn-tests (Makefile.am): Likewise.
101282         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
101283         * modules/mbspbrk-tests (Makefile.am): Likewise.
101284         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
101285         * modules/mbsrchr-tests (Makefile.am): Likewise.
101286         * modules/mbsspn-tests (Makefile.am): Likewise.
101287         * modules/mbsstr-tests (Makefile.am): Likewise.
101288         * modules/printf-posix-tests (Makefile.am): Likewise.
101289         * modules/snprintf-posix-tests (Makefile.am): Likewise.
101290         * modules/sprintf-posix-tests (Makefile.am): Likewise.
101291         * modules/tsearch-tests (Makefile.am): Likewise.
101292         * modules/uniname/uniname-tests (Makefile.am): Likewise.
101293         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
101294         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
101295         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
101296         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
101297         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
101298         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
101299         * modules/vprintf-posix-tests (Makefile.am): Likewise.
101300         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
101301         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
101302         * modules/xstrtoimax-tests (Makefile.am): Likewise.
101303         * modules/xstrtol-tests (Makefile.am): Likewise.
101304         * modules/xstrtoumax-tests (Makefile.am): Likewise.
101305         * modules/yesno-tests (Makefile.am): Likewise.
101307 2007-10-03  Bruno Haible  <bruno@clisp.org>
101309         * modules/trunc-tests: New file.
101310         * tests/test-trunc.c: New file.
101312         * modules/trunc: New file.
101313         * lib/trunc.c: New file.
101314         * m4/trunc.m4: New file.
101315         * lib/math.in.h (trunc): New declaration.
101316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
101317         HAVE_DECL_TRUNC.
101318         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
101319         HAVE_DECL_TRUNC.
101320         * doc/functions/trunc.texi: Mention the 'trunc' module.
101322 2007-10-03  Bruno Haible  <bruno@clisp.org>
101324         * tests/test-fpending.c: New file, mostly copied
101325         from coreutils/lib/t-fpending.c.
101326         * modules/fpending-tests: New file.
101328 2007-10-03  Bruno Haible  <bruno@clisp.org>
101330         Port the stdio extensions to QNX (untested).
101331         * lib/fseterr.c (fseterr): Add support for QNX.
101332         * lib/fbufmode.c (fbufmode): Likewise.
101333         * lib/freadable.c (freadable): Likewise.
101334         * lib/fwritable.c (fwritable): Likewise.
101335         * lib/freading.c (freading): Likewise.
101336         * lib/fwriting.c (fwriting): Likewise.
101337         * lib/freadahead.c (freadahed): Likewise.
101338         * lib/fpurge.c (fpurge): Likewise.
101339         * lib/fseeko.c (rpl_fseeko): Likewise.
101341 2007-10-03  Bruno Haible  <bruno@clisp.org>
101342             Jim Meyering  <jim@meyering.net>
101343             Eric Blake  <ebb9@byu.net>
101345         * doc/relocatable.texi: Use @command instead of @program.
101347 2007-10-02  Jim Meyering  <jim@meyering.net>
101349         Perform one more "_.h" -> ".in.h" substitution.
101350         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
101351         instead of unistd_.h here, too.
101353 2007-10-01  Bruno Haible  <bruno@clisp.org>
101355         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
101356         Needed for the alloca-opt module.
101358 2007-09-30  Bruno Haible  <bruno@clisp.org>
101360         * lib/alloca.in.h: Renamed from lib/alloca_.h.
101361         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
101362         alloca_.h.
101363         * lib/argz.in.h: Renamed from lib/argz_.h.
101364         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
101365         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
101366         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
101367         byteswap_.h.
101368         * lib/dirent.in.h: Renamed from lib/dirent_.h.
101369         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
101370         dirent_.h.
101371         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
101372         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
101373         fcntl_.h.
101374         * lib/float.in.h: Renamed from lib/float_.h.
101375         * modules/float (Files, Makefile.am): Use float.in.h instead of
101376         float_.h.
101377         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
101378         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
101379         fnmatch_.h.
101380         * lib/getopt.in.h: Renamed from lib/getopt_.h.
101381         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
101382         getopt_.h.
101383         * lib/glob.in.h: Renamed from lib/glob_.h.
101384         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
101385         * lib/iconv.in.h: Renamed from lib/iconv_.h.
101386         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
101387         iconv_.h.
101388         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
101389         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
101390         inttypes_.h.
101391         * lib/locale.in.h: Renamed from lib/locale_.h.
101392         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
101393         locale_.h.
101394         * lib/math.in.h: Renamed from lib/math_.h.
101395         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
101396         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
101397         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
101398         of netinet_in_.h. Add dependency.
101399         * lib/poll.in.h: Renamed from lib/poll_.h.
101400         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
101401         * lib/search.in.h: Renamed from lib/search_.h.
101402         * modules/search (Files, Makefile.am): Use search.in.h instead of
101403         search_.h.
101404         * lib/signal.in.h: Renamed from lib/signal_.h.
101405         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
101406         _signal.h.
101407         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
101408         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
101409         stdbool_.h.
101410         * lib/stdint.in.h: Renamed from lib/stdint_.h.
101411         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
101412         stdint_.h.
101413         * lib/stdio.in.h: Renamed from lib/stdio_.h.
101414         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
101415         stdio_.h.
101416         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
101417         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
101418         stdlib_.h.
101419         * lib/string.in.h: Renamed from lib/string_.h.
101420         * modules/string (Files, Makefile.am): Use string.in.h instead of
101421         string_.h.
101422         * doc/gnulib-tool.texi (Initial import): Update.
101423         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
101424         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
101425         of sys_select_.h. Add dependency.
101426         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
101427         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
101428         of sys_socket_.h.
101429         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
101430         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
101431         sys_stat_.h.
101432         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
101433         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
101434         sys_time_.h.
101435         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
101436         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
101437         sysexits_.h.
101438         * lib/time.in.h: Renamed from lib/time_.h.
101439         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
101440         * lib/unistd.in.h: Renamed from lib/unistd_.h.
101441         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
101442         unistd_.h.
101443         * lib/wchar.in.h: Renamed from lib/wchar_.h.
101444         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
101445         wchar_.h.
101446         * lib/wctype.in.h: Renamed from lib/wctype_.h.
101447         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
101448         wctype_.h.
101449         * build-aux/bootstrap (slurp): Update.
101450         * lib/.cppi-disable: Update.
101452 2007-09-30  Bruno Haible  <bruno@clisp.org>
101454         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
101455         Needed on BeOS.
101457 2007-09-30  Bruno Haible  <bruno@clisp.org>
101459         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
101461 2007-09-29  Bruno Haible  <bruno@clisp.org>
101463         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
101465 2007-09-29  Bruno Haible  <bruno@clisp.org>
101467         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
101468         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
101469         * build-aux/install-reloc: Compile also areadlink.c.
101470         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
101472 2007-09-29  Bruno Haible  <bruno@clisp.org>
101474         * gnulib-tool (func_emit_initmacro_done): Indentation.
101476 2007-09-29  Bruno Haible  <bruno@clisp.org>
101478         * README: Add CVS checkout update instructions.
101479         Info from Bob Proulx <bob@proulx.com>.
101481 2007-09-28  Eric Blake  <ebb9@byu.net>
101483         Provide move-if-change.
101484         * build-aux/move-if-change: New file, based on best practice
101485         rather than any canonical upstream location.
101487 2007-09-28  Jim Meyering  <jim@meyering.net>
101489         Fix canonicalize loop-detection corner case.
101490         Do not attempt to stat the symlink values stored via seen_triple.
101491         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
101492         on linux-2.6.18, (but not 2.6.22).
101493         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
101494         triple_compare.  The former compares dev,ino,filename, while the latter
101495         would actually stat dirname(filename) when dev and ino were equal.
101496         * lib/hash-triple.c: Install <string.h>.
101497         (STREQ): Define.
101498         (triple_compare_ino_str): New function.
101499         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
101501 2007-09-28  Eric Blake  <ebb9@byu.net>
101503         Enforce that AC_REPLACE_FUNCS files exist.
101504         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
101505         override check for typos.
101507         Fix test-closein on Solaris 10.
101508         * tests/test-closein.c (main): Don't assume stdin can be inherited
101509         closed on all systems.
101510         * tests/test-closein.sh: Likewise.
101511         Reported by Piotr Tarnowski.
101513 2007-09-28  Jim Meyering  <jim@meyering.net>
101515         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
101517 2007-09-27  Jim Meyering  <jim@meyering.net>
101519         canonicalize: Avoid a false-positive cycle failure.
101520         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
101521         Sort.  Remove cycle-check.
101522         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
101523         not cycle-check.h.
101524         (seen_triple): New function.
101525         (canonicalize_filename_mode): Use it instead of cycle-check.
101526         * tests/test-canonicalize.c: Add a test for this bug.
101527         * tests/test-canonicalize.sh: Set up and run the test.
101529         New module, file-set, from coreutils.
101530         * modules/file-set: Define it.
101531         * lib/file-set.c, lib/file-set.h: Implement.
101533         New module, hash-triple, from coreutils.
101534         * modules/hash-triple: Define it.
101535         * lib/hash-triple.c, lib/hash-triple.h: Implement.
101537 2007-09-25  Eric Blake  <ebb9@byu.net>
101539         Fix strerror on Interix.
101540         * lib/string_.h (strerror): Declare replacement.
101541         * doc/functions/strerror.texi (strerror): Document the Interix
101542         shortcoming.
101543         * modules/string (Makefile.am): Support new hooks.
101544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
101545         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
101546         gl_FUNC_STRERROR_SEPARATE.
101547         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
101548         * lib/strerror.c (rpl_strerror): Provide replacement.
101549         * modules/strerror (Depends-on): Add string.
101550         (configure.ac): Detect use of module.
101551         * tests/test-strerror.c: New file.
101552         * modules/strerror-tests: New test module.
101553         * modules/argp (Depends-on): Add strerror.
101554         * modules/error (Depends-on): Likewise.
101555         Reported by Martin Koeppe.
101557 2007-09-24  Bruno Haible  <bruno@clisp.org>
101559         * README: Update git instructions.
101561 2007-09-24  Eric Blake  <ebb9@byu.net>
101563         Revert fpending breakage from 2007-09-08.
101564         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
101565         __fpending.c.
101567 2007-09-24  Jim Meyering  <jim@meyering.net>
101569         filenamecat.c: Add a test.
101570         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
101571         showing how the function works when DIR is the empty string.
101573 2007-09-21  Simon Josefsson  <simon@josefsson.org>
101575         * tests/test-canonicalize.sh: Turn on executable bit.
101577 2007-09-19  Eric Blake  <ebb9@byu.net>
101579         * README: Update CVS instructions.
101581 2007-09-18  Bruno Haible  <bruno@clisp.org>
101583         * modules/areadlink: New file.
101584         * lib/areadlink.h (areadlink): New declaration.
101585         * lib/areadlink.c: New file, based on lib/xreadlink.c.
101587 2007-09-17  Jim Meyering  <jim@meyering.net>
101589         * lib/savewd.c (ESTALE) [!defined]: Define.
101590         Reported to be required on Interix by Martin Koeppe.
101592 2007-09-17  Bruno Haible  <bruno@clisp.org>
101594         * gnulib-tool (func_version): Use $version.
101596 2007-09-16  Bruno Haible  <bruno@clisp.org>
101598         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
101599         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
101600         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
101601         Reported by Greg Schafer <gschafer@zip.com.au>.
101603 2007-09-15  Bruno Haible  <bruno@clisp.org>
101605         * gnulib-tool (sed): Try a little harder to make bash understand the
101606         alias.
101607         Reported by Bruce Korb <bruce.korb@gmail.com>.
101609 2007-09-13  Eric Blake  <ebb9@byu.net>
101611         * ChangeLog: Remove conflict markers.
101613 2007-09-13  Simon Josefsson  <simon@josefsson.org>
101615         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
101616         Reported by Bruno Haible <bruno@clisp.org>.
101618 2007-09-12  Bruno Haible  <bruno@clisp.org>
101620         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
101621         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
101622         is not defined.
101624 2007-09-12  Eric Blake  <ebb9@byu.net>
101626         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
101627         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
101628         Autoconf definition.
101629         * modules/euidaccess (Depends-on): Add extensions, for
101630         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
101631         * modules/fnmatch (Depends-on): Likewise.
101632         * modules/getaddrinfo (Depends-on): Likewise.
101633         * modules/getdelim (Depends-on): Likewise.
101634         * modules/getline (Depends-on): Likewise.
101635         * modules/getsubopt (Depends-on): Likewise.
101636         * modules/gettext (Depends-on): Likewise.
101637         * modules/group-member (Depends-on): Likewise.
101638         * modules/mbchar (Depends-on): Likewise.
101639         * modules/memmem (Depends-on): Likewise.
101640         * modules/mempcpy (Depends-on): Likewise.
101641         * modules/memrchr (Depends-on): Likewise.
101642         * modules/pagealign_alloc (Depends-on): Likewise.
101643         * modules/readutmp (Depends-on): Likewise.
101644         * modules/stpcpy (Depends-on): Likewise.
101645         * modules/stpncpy (Depends-on): Likewise.
101646         * modules/strchrnul (Depends-on): Likewise.
101647         * modules/strndup (Depends-on): Likewise.
101648         * modules/strsep (Depends-on): Likewise.
101649         * modules/strverscmp (Depends-on): Likewise.
101650         * modules/vasprintf (Depends-on): Likewise.
101651         * modules/wcwidth (Depends-on): Likewise.
101652         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
101653         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
101654         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
101655         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
101656         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
101657         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101658         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
101659         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
101660         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
101661         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
101662         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
101663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
101664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
101665         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
101666         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
101667         * m4/readutmp.m4 (gl_READUTMP): Likewise.
101668         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
101669         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
101670         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
101671         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
101672         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
101673         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
101674         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
101675         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
101676         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
101677         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
101678         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
101679         so that lock.m4 can be used in gettext without extensions module.
101681 2007-09-11  Bruno Haible  <bruno@clisp.org>
101683         * m4/isc-posix.m4: Remove file.
101684         Suggested by Eric Blake.
101686 2007-09-11  Eric Blake  <ebb9@byu.net>
101688         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
101690 2007-09-10  Bruno Haible  <bruno@clisp.org>
101692         * posix-modules: Fix typo in error message.
101693         Reported by Matt <mkraai@beckman.com>.
101695 2007-09-09  Bruno Haible  <bruno@clisp.org>
101697         * doc/functions/getdelim.texi: Update list of platforms lacking the
101698         function.
101699         * doc/functions/getline.texi: Likewise.
101701 2007-09-09  Jim Meyering  <jim@meyering.net>
101703         * lib/hash.c (hash_initialize): Detect calloc failure.
101704         Reported by Bruno Haible.
101706 2007-09-09  Bruno Haible  <bruno@clisp.org>
101708         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
101709         malloc or realloc fails.
101711 2007-09-09  Bruno Haible  <bruno@clisp.org>
101713         * modules/getcwd (Depends-on): Add malloc-posix.
101714         * modules/glob (Depends-on): Likewise.
101715         * modules/putenv (Depends-on): Likewise.
101716         * modules/strdup (Depends-on): Likewise.
101717         * modules/getdelim (Depends-on): Add realloc-posix.
101718         * modules/read-file (Depends-on): Likewise.
101720 2007-09-09  Bruno Haible  <bruno@clisp.org>
101722         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
101723         (gl_FUNC_MALLOC_POSIX): Require it.
101724         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
101725         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
101726         * modules/realloc (Files): Add m4/malloc.m4.
101727         * modules/calloc (Files): Likewise.
101729 2007-09-09  Bruno Haible  <bruno@clisp.org>
101731         * modules/malloc-posix: New file.
101732         * modules/malloc (Depends-on): Add malloc-posix.
101733         * lib/malloc.c: Include errno.h.
101734         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
101735         and a POSIX-compatible malloc into a single function. Set ENOMEM
101736         when returning NULL.
101737         * m4/malloc.m4: New file.
101738         * doc/functions/malloc.texi: Mention the malloc-posix module.
101739         * lib/stdlib_.h (malloc): New declaration.
101740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101741         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
101742         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
101743         and HAVE_MALLOC_POSIX.
101745 2007-09-09  Bruno Haible  <bruno@clisp.org>
101747         * modules/realloc-posix: New file.
101748         * modules/realloc (Depends-on): Add realloc-posix.
101749         * lib/realloc.c: Include errno.h.
101750         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
101751         and a POSIX-compatible realloc into a single function. Set ENOMEM
101752         when returning NULL.
101753         * m4/realloc.m4: New file.
101754         * doc/functions/realloc.texi: Mention the realloc-posix module.
101755         * lib/stdlib_.h (realloc): New declaration.
101756         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101757         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
101758         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
101759         and HAVE_REALLOC_POSIX.
101761 2007-09-09  Bruno Haible  <bruno@clisp.org>
101763         * modules/calloc-posix: New file.
101764         * modules/calloc (Depends-on): Add calloc-posix.
101765         * lib/calloc.c: Include errno.h.
101766         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
101767         and a POSIX-compatible calloc into a single function. Set ENOMEM
101768         when returning NULL.
101769         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
101770         * doc/functions/calloc.texi: Mention the calloc-posix module.
101771         * lib/stdlib_.h (calloc): New declaration.
101772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101773         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
101774         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
101775         and HAVE_CALLOC_POSIX.
101777 2007-09-09  Bruno Haible  <bruno@clisp.org>
101779         Allow for modules to show an arbitrary notice.
101780         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
101781         * gnulib-tool: New option --extract-notice.
101782         (func_usage): Document it.
101783         (sed_extract_prog): Update.
101784         (func_get_notice): New function.
101785         (func_modules_notice): New function.
101786         (func_import, func_create_testdir): Invoke it.
101787         Suggested by Jim Meyering.
101789 2007-09-09  Bruno Haible  <bruno@clisp.org>
101791         * gnulib-tool: New options --verbose, --quiet.
101792         (func_usage): Document them.
101793         (verbose): New variable.
101794         (func_execute_command): New function.
101795         (func_import): Don't show the module list and the file list if
101796         $verbose < 0.
101797         (func_create_testdir): Likewise. Use func_execute_command.
101798         (func_create_megatestdir): Use func_execute_command.
101800 2007-09-08  Bruno Haible  <bruno@clisp.org>
101802         * gnulib-tool (func_import): Prefer rsync over wget when available,
101803         for fetching the PO files.
101805 2007-09-08  Bruno Haible  <bruno@clisp.org>
101807         * posix-modules: New file. Portions copied from gnulib-tool.
101808         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
101810 2007-09-08  Jim Meyering  <jim@meyering.net>
101812         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
101813         * lib/fpending.h: Rename from __fpending.h.
101814         * lib/fpending.c: Rename from __fpending.c.
101815         Include "fpending.h", not "__fpending.h".
101816         * lib/__fpending.h, lib/__fpending.c: Remove files.
101817         * modules/fpending (Files): Reflect new file names.
101818         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
101820 2007-09-08  Bruno Haible  <bruno@clisp.org>
101822         * m4/inttypes-h.m4: Remove stub file.
101824 2007-09-07  Simon Josefsson  <simon@josefsson.org>
101826         * doc/headers/stdint.texi: Discuss #include_next issue.
101828 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101830         * build-aux/bootstrap: Remove obsolete comment about wget --help.
101832 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101834         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
101835         in variable name.
101837 2007-09-03  Jim Meyering  <jim@meyering.net>
101839         New module: git-version-gen.
101840         * modules/git-version-gen: New file.
101842         Import changes from coreutils for bootstrap script.
101844         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
101846         bootstrap: uses rsync to download the .po files
101847         * build-aux/bootstrap (po_download_command_format): New global.
101848         (download_po_files): Use rsync.
101849         (update_po_files): Don't remove .po files after download,
101850         so future rsync runs can take advantage of the copies.
101852         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
101854         Solve the unnecessary-.po-file-regeneration problem once and for all.
101855         * build-aux/bootstrap (download_po_files): New function, renamed from
101856         get_translations.  Now, downloads, but doesn't update LINGUAS.
101857         (update_po_files): New function.
101859         bootstrap: Ignore more.
101860         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
101861         uniwidth to e.g., lib/.gitignore.
101862         (slurp): Handle the sys_stat_.h -> sys mapping, too.
101864         * build-aux/bootstrap: New setting: vc_ignore.
101865         (insert_sorted_if_absent): Create $file if absent.
101866         Adapt to new, possibly empty, list: $vc_ignore.
101868         bootstrap: generate more ignorable names
101869         * build-aux/bootstrap (slurp): When generating ignorable names,
101870         also map .sin to .sed, .gperf to .c, and .y to .c.
101872 2007-09-03  Jim Meyering  <jim@meyering.net>
101874         * build-aux/git-version-gen: New file, from coreutils.  For details, see
101875         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
101877 2007-09-02  Bruno Haible  <bruno@clisp.org>
101879         Fix mis-recognition of 'mcs' on QNX 6.
101880         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
101881         output contains the string "Mono".
101882         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
101883         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
101885 2007-09-01  Bruno Haible  <bruno@clisp.org>
101887         Fix collision between uniwidth/* and linebreak modules.
101888         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
101889         u32_width): Remove declarations.
101890         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
101891         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
101892         streq3, streq2, streq1, streq0): Remove functions.
101893         (STREQ): Remove macro.
101894         (is_cjk_encoding): Remove function.
101895         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
101896         (uc_width, u8_width, u16_width, u32_width): Remove functions.
101897         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
101898         * NEWS: Document the change.
101900 2007-09-01  Bruno Haible  <bruno@clisp.org>
101902         * lib/streq.h: Add double-inclusion guard.
101904 2007-09-01  Karl Berry  <karl@gnu.org>
101906         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
101908 2007-08-28  Jim Meyering  <jim@meyering.net>
101910         Rename mreadlink_with_size to areadlink_with_size.
101911         * NEWS: Document the change.
101912         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
101913         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
101914         * lib/mreadlink.h: Rename this to...
101915         * lib/areadlink.h: ...this.
101916         * modules/mreadlink-with-size: Rename this to...
101917         * modules/areadlink-with-size: ...this.
101918         * lib/canonicalize.c: Reflect the renaming.
101919         * modules/canonicalize: Likewise.
101921 2007-08-26  Bruno Haible  <bruno@clisp.org>
101923         * gnulib-tool (func_import): When deciding which files to remove,
101924         consider also dangling symbolic links.
101925         Reported by Eric Blake.
101927 2007-08-26  Bruno Haible  <bruno@clisp.org>
101929         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
101931 2007-08-23  Simon Josefsson  <simon@josefsson.org>
101933         * lib/readline.c: Don't include getline.h, the prototype is now
101934         found in stdio.h.
101936 2007-08-23  Jim Meyering  <jim@meyering.net>
101938         Getdelim touchup.
101939         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
101940         around the funlockfile call, since funlockfile never sets errno.
101941         Don't set errno upon failed realloc.
101943 2007-08-22  Eric Blake  <ebb9@byu.net>
101945         Getline touchups.
101946         * lib/getdelim.c (getdelim): Revert regression that required *n to
101947         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
101948         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
101949         getdelim, rather than whether implementation is missing.
101950         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
101951         * lib/stdio_.h (getline): Also declare if replacement is
101952         required.
101953         * doc/functions/getdelim.texi: New file.
101954         * doc/functions/getline.texi: Likewise.
101955         * doc/gnulib.texi (Function Substitutes): Add new files.
101956         Reported by Bruno Haible.
101958 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
101960         * users.txt: Add Guile.
101962 2007-08-22  Eric Blake  <ebb9@byu.net>
101964         * tests/test-getdelim.c (main): Use remove, not unlink.
101965         * tests/test-getline.c (main): Likewise.
101967         Move getline and getdelim into stdio.h, per POSIX 200x.
101968         * modules/getline (Files): Remove getline.h.
101969         (Depends-on): Add stdio.
101970         (configure.ac): Add module indicator.
101971         * modules/getdelim (Files): Remove getdelim.h.
101972         (Depends-on): Add stdio.
101973         (configure.ac): Add module indicator.
101974         * modules/stdio (Makefile.am): Work with new indicators.
101975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
101976         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
101977         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101978         * lib/getdelim.h: Delete.
101979         * lib/getline.h: Delete.
101980         * lib/stdio_.h (getdelim, getline): Declare.
101981         * modules/getdelim-tests: New module.
101982         * modules/getline-tests: Likewise.
101983         * tests/test-getdelim.c: New file.
101984         * tests/test-getline.c: Likewise.
101985         * NEWS: Document the change.
101986         * lib/getline.c: Update choice of header.
101987         * lib/csharpcomp.c: Likewise.
101988         * lib/getpass.c: Likewise.
101989         * lib/javacomp.c: Likewise.
101990         * lib/javaversion.c: Likewise.
101991         * lib/yesno.c: Likewise.
101992         * lib/getdelim.c: Likewise.
101993         (getdelim): Set errno on failure, and avoid memory leak.
101995 2007-08-19  Bruno Haible  <bruno@clisp.org>
101997         * modules/closein (Depends-on): Add freadahead.
101998         * lib/closein.c: Include freadahead.h.
101999         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
102000         is zero.
102002 2007-08-19  Bruno Haible  <bruno@clisp.org>
102004         * modules/freadahead-tests: New file.
102005         * tests/test-freadahead.sh: New file.
102006         * tests/test-freadahead.c: New file.
102008         * modules/freadahead: New file.
102009         * lib/freadahead.h: New file.
102010         * lib/freadahead.c: New file.
102011         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
102012         fbufmode, fpurge, freadable, fwritable.
102014 2007-08-19  Eric Blake  <ebb9@byu.net>
102016         Test yesno in combination with closein.
102017         * lib/yesno.c (yesno): Document use of stdin.
102018         * modules/yesno-tests (Files): New module.
102019         * tests/test-yesno.c (main): New file.
102020         * tests/test-yesno.sh: Likewise.
102022 2007-08-19  Bruno Haible  <bruno@clisp.org>
102024         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
102025         * lib/fseeko.c (rpl_fseeko): Likewise.
102026         * lib/fseterr.c (fseterr): Likewise.
102028 2007-08-19  Bruno Haible  <bruno@clisp.org>
102030         * tests/test-lseek.c (main): Disable a test for BeOS.
102031         * doc/functions/lseek.texi: Document the BeOS bug.
102033 2007-08-19  Bruno Haible  <bruno@clisp.org>
102034             Eric Blake  <ebb9@byu.net>
102036         * lib/lseek.c: Include <sys/stat.h>.
102037         (rpl_lseek): Add workaround code also for Unix platforms.
102038         Needed for BeOS.
102039         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
102040         * doc/functions/lseek.texi: Document BeOS definiency.
102042 2007-08-18  Bruno Haible  <bruno@clisp.org>
102044         * modules/fstrcmp-tests: New file.
102045         * tests/test-fstrcmp.c: New file.
102047 2007-08-18  Bruno Haible  <bruno@clisp.org>
102049         * modules/fstrcmp: New file, from GNU gettext with modifications.
102050         * lib/fstrcmp.h: New file, from GNU gettext.
102051         * lib/fstrcmp.c: New file, from GNU gettext.
102052         * MODULES.html.sh (String handling): Add fstrcmp.
102054 2007-08-18  Bruno Haible  <bruno@clisp.org>
102056         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
102057         'bool'.
102058         (diag, compareseq): Remove const from the ctxt argument.
102059         (USE_HEURISTIC): Undefine at the end.
102061 2007-08-18  Jim Meyering  <jim@meyering.net>
102063         New file: lib/idcache.h
102064         * NEWS: Mention the addition.
102065         * modules/idcache (Files): Add lib/idcache.h
102066         * lib/idcache.c: Include "idcache.h".
102067         Don't include <sys/types.h>.
102068         Add a FIXME comment.
102069         Move file-scoped "static" declarations to the top.
102070         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
102072 2007-08-17  Bruno Haible  <bruno@clisp.org>
102073         and Paul Eggert  <eggert@cs.ucla.edu>
102075         * MODULES.html.sh: Add diffseq.
102076         * modules/diffseq: New file.
102077         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
102078         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
102080 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102082         Import changes from coreutils for bootstrap script.
102084         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
102086         * build-aux/bootstrap (slurp): Work even in environments where
102087         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
102088         current code does not slurp files whose names start with ".", and
102089         this looks like it might be a troublesome area.
102091         2007-07-11  Jim Meyering  <jim@meyering.net>
102093         If there's a GPL vN copyright comment, require that N == 3.
102095         2007-07-08  Jim Meyering  <jim@meyering.net>
102097         Run the coreutils-specific code only if tests/Makefile.am.in exists.
102098         * build-aux/bootstrap (mam_template): Move definition out of loop.
102100         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
102102         * build-aux/bootstrap (symlink_to_dir): Rename function from
102103         symlink_to_gnulib.  Add a directory parameter.  Update all
102104         callers.
102105         (cp_mark_as_generated): Also check for -- and link to -- files in
102106         gl/.
102108         2007-07-08  Jim Meyering  <jim@meyering.net>
102110         Adapt to deeper hierarchy in gnulib.
102111         * build-aux/bootstrap (symlink_to_dir): If the destination
102112         directory doesn't exist, create it. This is required at least for
102113         "lib/uniwidth/cjk.h".
102115         2007-05-15  Jim Meyering  <jim@meyering.net>
102117         * build-aux/bootstrap: Now that generated Makefile.am files
102118         are no longer under version control, they must be created at
102119         bootstrap time.
102121 2007-08-14  Ben Pfaff  <blp@gnu.org>
102123         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
102125 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
102127         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
102128         given the changes below.
102129         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
102130         even on hosts that have padding bits beyond the supported 64.
102132 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
102134         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
102135         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
102136         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
102137         depends on it.
102138         (xstrtol_error): Remove.
102139         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
102140         but with a different signature.
102141         (ATTRIBUTE_NORETURN, __attribute__): New macros.
102142         * lib/xstrtol-error.c: Include exitfail.h.
102143         (xstrtol_fatal): New function, with a different signature from the
102144         old xstrtol_error, so that the caller need not worry about passing
102145         in an exit status, or about storage management of the option argument.
102146         (xstrtol_error): Now a static function.  Redo signature to
102147         implement xstrtol_fatal.  Output the correct number of hyphens in
102148         front of the option so that the caller need not worry about
102149         storage management.
102150         (N_): New macro.
102151         (_): Remove; not used now.
102152         * modules/xstrtol: Depend on getopt.
102153         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
102154         of old STRTOL_FATAL_ERROR macro.
102155         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
102156         of test program.
102157         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
102158         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
102160 2007-08-08  Eric Blake  <ebb9@byu.net>
102162         * lib/xstrtol-error.c: Add missing include.
102164         Move xstrtol messages into gnulib domain, when --pobase is used.
102165         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
102166         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
102167         * modules/xstrtol (Files): Distribute new file.
102168         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
102169         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
102170         * tests/test-xstrtol.c: ...into new file.
102171         * tests/test-xstrtoul.c: Also test xstrtoul.
102172         * tests/test-xstrtoimax.c: Also test xstrtoimax.
102173         * tests/test-xstrtoumax.c: Also test xstrtoumax.
102174         * tests/test-xstrtol.sh: Drive the tests.
102175         * tests/test-xstrtoimax.sh: Likewise.
102176         * tests/test-xstrtoumax.sh: Likewise.
102177         * modules/xstrtol-tests: New module.
102178         * modules/xstrtoimax-tests: Likewise.
102179         * modules/xstrtoumax-tests: Likewise.
102181 2007-08-08  Jim Meyering  <jim@meyering.net>
102183         New function: mfile_name_concat.
102184         * lib/filenamecat.c (mfile_name_concat): New function, just like
102185         file_name_concat, but return NULL upon failure rather than exiting
102186         with a diagnostic.
102187         * lib/filenamecat.h: Declare it.
102189 2007-08-07  Bruno Haible  <bruno@clisp.org>
102191         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
102192         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
102193         warning from gcc.
102194         Reported by Eric Blake.
102196 2007-08-07  Simon Josefsson  <simon@josefsson.org>
102198         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
102199         * modules/crypto/arcfour (License): Likewise.
102200         * modules/crypto/des-tests (License): Likewise.
102201         * modules/crypto/gc-arctwo-tests (License): Likewise.
102202         * modules/crypto/gc-des-tests (License): Likewise.
102203         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
102204         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
102205         * modules/crypto/gc-md2-tests (License): Likewise.
102206         * modules/crypto/gc-md4-tests (License): Likewise.
102207         * modules/crypto/gc-md5-tests (License): Likewise.
102208         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
102209         * modules/crypto/gc-rijndael-tests (License): Likewise.
102210         * modules/crypto/gc-sha1-tests (License): Likewise.
102211         * modules/crypto/gc-tests (License): Likewise.
102212         * modules/crypto/hmac-md5 (License): Likewise.
102213         * modules/crypto/hmac-sha1 (License): Likewise.
102214         * modules/crypto/md2-tests (License): Likewise.
102215         * modules/crypto/md4-tests (License): Likewise.
102216         * modules/crypto/md5 (License): Likewise.
102217         * modules/crypto/rijndael (License): Likewise.
102218         * modules/crypto/sha1 (License): Likewise.
102219         * modules/memxor (License): Likewise.
102221 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
102222         and Bruno Haible  <bruno@clisp.org>
102224         * NEWS: Describe interface changes to human, xstrtol.
102225         * lib/human.h: Include <xstrtol.h>.
102226         (human_options): Return enum strtol_error, not int.  Remove
102227         bool arg; take int * instead.
102228         * lib/human.c: Don't include "gettext.h".
102229         (_): Remove; no longer used.
102230         Don't include <xstrtol.h>, since human.h does it.
102231         (human_options): Adjust to abovementioned interface changes.
102232         Do not report error to stderr; that's now the caller's
102233         responsibility.
102234         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
102235         interface change.
102236         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
102237         Str, Argument_type_string.  All uses changed.  Put " argument"
102238         in diagnostics to make them clearer.  Change wording of suffix
102239         message for clarity.
102240         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
102241         Argument_type_string.
102242         (STRTOL_FATAL_WARN): Remove; no longer used.
102243         * modules/human (Depends-on): Remove gettext-h.
102245 2007-08-06  Simon Josefsson  <simon@josefsson.org>
102247         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
102249 2007-07-31  Bruno Haible  <bruno@clisp.org>
102251         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
102252         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
102253         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
102255 2007-07-31  Bruno Haible  <bruno@clisp.org>
102257         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
102258         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
102260 2007-07-30  Bruno Haible  <bruno@clisp.org>
102262         * modules/base64 (License): Use the synonymous term "LGPLv2+".
102263         * modules/c-ctype (License): Likewise.
102264         * modules/c-strcase (License): Likewise.
102265         * modules/check-version (License): Likewise.
102266         * modules/iconv (License): Likewise.
102267         * modules/iconv_open (License): Likewise.
102268         * modules/read-file (License): Likewise.
102269         * modules/striconv (License): Likewise.
102270         * modules/strverscmp (License): Likewise.
102271         * modules/vasprintf (License): Likewise.
102272         * modules/crypto/des (License): Likewise.
102273         * modules/crypto/gc (License): Likewise.
102274         * modules/crypto/gc-arcfour (License): Likewise.
102275         * modules/crypto/gc-arctwo (License): Likewise.
102276         * modules/crypto/gc-des (License): Likewise.
102277         * modules/crypto/gc-hmac-md5 (License): Likewise.
102278         * modules/crypto/gc-hmac-sha1 (License): Likewise.
102279         * modules/crypto/gc-md2 (License): Likewise.
102280         * modules/crypto/gc-md4 (License): Likewise.
102281         * modules/crypto/gc-md5 (License): Likewise.
102282         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
102283         * modules/crypto/gc-random (License): Likewise.
102284         * modules/crypto/gc-rijndael (License): Likewise.
102285         * modules/crypto/gc-sha1 (License): Likewise.
102286         * modules/crypto/md2 (License): Likewise.
102287         * modules/crypto/md4 (License): Likewise.
102289 2007-07-30  Jim Meyering  <jim@meyering.net>
102291         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
102292         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
102293         it has valid stat data.  This bug would cause du not to count the
102294         sizes of inaccessible directories.
102295         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
102296         in <http://bugzilla.redhat.com/250077>.
102298 2007-07-25  Peter O'Gorman  <peter@pogma.com>
102299             Bruno Haible  <bruno@clisp.org>
102301         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
102302         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
102303         #include_next, gives a diagnostic about it, but reports no error in
102304         the exit code.
102305         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
102307 2007-07-24  Ben Pfaff  <blp@gnu.org>
102309         Improve name: "count-one-bits" is better than "popcount".
102310         * MODULES.html.sh: Update name.
102311         * lib/popcount.h: Renamed lib/count-one-bits.h.
102312         (popcount): Renamed count_one_bits.
102313         (popcountl): Renamed count_one_bits_l.
102314         (popcountll): Renamed count_one_bits_ll.
102315         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
102316         * modules/popcount: Renamed module/count-one-bits.
102317         * modules/popcount-tests: Renamed module/count-one-bits-tests.
102318         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
102320 2007-07-23  Ben Pfaff  <blp@gnu.org>
102322         * lib/popcount.h (popcount32): Reduce size of constants, to allow
102323         better code generation, and add U to large constants to avoid
102324         warnings, in non-GCC case.
102325         Suggested by Bruno Haible.
102327 2007-07-23  Ben Pfaff  <blp@gnu.org>
102329         * lib/popcount.h: Use verify_true instead of if...abort.
102330         * modules/popcount: Depend on verify module.
102331         Suggested by Jim Meyering.
102333 2007-07-23  Bruno Haible  <bruno@clisp.org>
102335         * gnulib-tool (func_import): Create a .cvsignore file also when the
102336         directory is not yet in CVS but the toplevel directory is. When
102337         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
102338         Reported by Karl Berry.
102340 2007-07-22  Ben Pfaff  <blp@gnu.org>
102342         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
102343         case.
102344         Suggested by Eric Blake.
102346 2007-07-22  Ben Pfaff  <blp@gnu.org>
102348         New module: popcount.
102349         * MODULES.html.sh: Add popcount.
102350         * modules/popcount: New file.
102351         * modules/popcount-tests: New file.
102352         * tests/test-popcount.c: New file.
102353         * lib/popcount.h: New file.
102354         * m4/popcount.m4: New file.
102356 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
102358         * build-aux/announce-gen: Update to GPLv3.
102360         * build-aux/config.guess: Update from config.
102362 2007-07-21  Bruno Haible  <bruno@clisp.org>
102364         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
102365         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
102367 2007-07-20  Jim Meyering  <jim@meyering.net>
102369         * check-module: Diagnose a self-dependency.
102371 2007-07-19  Bruno Haible  <bruno@clisp.org>
102373         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
102374         empty.
102375         Reported by Eric Blake.
102377 2007-07-18  Bruno Haible  <bruno@clisp.org>
102379         * gnulib-tool: New options --po-base, --po-domain.
102380         (func_usage): Document them.
102381         (pobase, po_domain): New variables.
102382         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
102383         DEFAULT_TEXT_DOMAIN.
102384         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
102385         (func_import): Consider pobase and po_domain. Create a po/ directory.
102386         (func_create_testdir): Set pobase and po_domain to empty.
102387         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
102388         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
102390 2007-07-18  Bruno Haible  <bruno@clisp.org>
102392         * gnulib-tool (func_get_automake_snippet): Synthesize also an
102393         EXTRA_DIST augmentation for files in build-aux/.
102395 2007-07-16  Bruno Haible  <bruno@clisp.org>
102397         * modules/lseek (License): Use the synonymous term "LGPLv2+".
102398         * modules/getdelim (License): Likewise.
102400 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102402         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
102403         * modules/d-type (License): Likewise.
102404         * modules/extensions (License): Likewise.
102405         * modules/fnmatch (License): Likewise.
102406         * modules/fseeko (License): Likewise.
102407         * modules/getaddrinfo (License): Likewise.
102408         * modules/getline (License): Likewise.
102409         * modules/getlogin_r (License): Likewise.
102410         * modules/getpass (License): Likewise.
102411         * modules/gettimeofday (License): Likewise.
102412         * modules/glob (License): Likewise.
102413         * modules/inet_ntop (License): Likewise.
102414         * modules/malloc (License): Likewise.
102415         * modules/malloca (License): Likewise.
102416         * modules/memmem (License): Likewise.
102417         * modules/mempcpy (License): Likewise.
102418         * modules/memset (License): Likewise.
102419         * modules/minmax (License): Likewise.
102420         * modules/mktime (License): Likewise.
102421         * modules/netinet_in (License): Likewise.
102422         * modules/pathmax (License): Likewise.
102423         * modules/poll (License): Likewise.
102424         * modules/regex (License): Likewise.
102425         * modules/snprintf (License): Likewise.
102426         * modules/stdbool (License): Likewise.
102427         * modules/stdint (License): Likewise.
102428         * modules/stdio (License): Likewise.
102429         * modules/strcase (License): Likewise.
102430         * modules/strcasestr (License): Likewise.
102431         * modules/strdup (License): Likewise.
102432         * modules/string (License): Likewise.
102433         * modules/strndup (License): Likewise.
102434         * modules/strnlen (License): Likewise.
102435         * modules/strpbrk (License): Likewise.
102436         * modules/strptime (License): Likewise.
102437         * modules/strsep (License): Likewise.
102438         * modules/sys_select (License): Likewise.
102439         * modules/sys_socket (License): Likewise.
102440         * modules/sys_stat (License): Likewise.
102441         * modules/sys_time (License): Likewise.
102442         * modules/time (License): Likewise.
102443         * modules/time_r (License): Likewise.
102444         * modules/timegm (License): Likewise.
102445         * modules/unistd (License): Likewise.
102446         * modules/vsnprintf (License): Likewise.
102447         * modules/wctype (License): Likewise.
102449 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102451         * modules/argz (License): LGPLv2+.
102453 2007-07-15  Karl Berry  <karl@gnu.org>
102455         * doc/gnulib.texi: revise node structure per new fdl.texi.
102457 2007-07-14  Bruno Haible  <bruno@clisp.org>
102459         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
102460         the output file.
102461         * lib/uniname/uninames.h: Regenerated.
102463 2007-07-14  Karl Berry  <karl@gnu.org>
102465         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
102466         omitting sectioning and index commands.
102468 2007-07-13  Bruno Haible  <bruno@clisp.org>
102470         New gnulib-tool option --more-symlinks.
102471         * gnulib-tool (func_usage): Document --more-symlinks.
102472         (do_copyrights): New variable.
102473         Recognize option --more-symlinks.
102474         (func_import): Don't add a copyright notice transform to
102475         sed_transform_lib_file if do_copyrights is empty.
102477 2007-07-13  Bruno Haible  <bruno@clisp.org>
102479         * lib/vasnprintf.c (decimal_point_char): Define also if
102480         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
102481         && !NEED_PRINTF_DIRECTIVE_A.
102482         Reported by Clemens Koller <clemens.koller@anagramm.de> via
102483         Gary V. Vaughan <gary@gnu.org>.
102485 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
102487         * lib/inttypes_.h: Undo previous change, since it was fixed
102488         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
102490 2007-07-13  Bruno Haible  <bruno@clisp.org>
102492         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
102493         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
102495 2007-07-13  Jim Meyering  <jim@meyering.net>
102497         df: Don't fail for Tru64's "file-on-file mount".
102498         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
102499         so we fall through and use statfs instead.  Details here:
102500         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
102501         Reported by Albert Chin.
102503 2007-07-13  Bruno Haible  <bruno@clisp.org>
102505         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
102506         * modules/configmake (License): Likewise.
102507         * modules/gettext (License): Likewise.
102508         * modules/gettext-h (License): Likewise.
102509         * modules/include_next (License): Likewise.
102510         * modules/link-warning (License): Likewise.
102511         * modules/localcharset (License): Likewise.
102512         * modules/localename (License): Likewise.
102513         * modules/lock (License): Likewise.
102514         * modules/relocatable-lib-lgpl (License): Likewise.
102515         * modules/size_max (License): Likewise.
102516         * modules/vasnprintf (License): Likewise.
102517         * modules/wchar (License): Likewise.
102518         * modules/xsize (License): Likewise.
102520 2007-07-13  Bruno Haible  <bruno@clisp.org>
102522         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
102523         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
102525 2007-07-12  Bruno Haible  <bruno@clisp.org>
102527         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
102528         in the modules files.
102530 2007-07-11  Karl Berry  <karl@gnu.org>
102532         * MODULES.html.sh (func_module): use
102533          sed -e '\|^'"${includefile}"'$|d'
102534          instead of /.../d, to avoid errors on $includefile's containing /.
102536 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102538         * gnulib-tool (func_import): Avoid duplication of --avoid
102539         statements
102540         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
102541         names to `_' in variable names.
102543 2007-07-10  Eric Blake  <ebb9@byu.net>
102545         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
102546         * NEWS: Document this change.
102548 2007-07-08  Bruno Haible  <bruno@clisp.org>
102550         Update to Unicode 5.0.
102551         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
102552         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
102553         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
102554         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
102555         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
102556         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
102557         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
102558         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
102559         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
102560         U+10A3F, U+1D242..U+1D244.
102561         (nonspacing_table_ind): Update.
102562         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
102563         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
102565 2007-07-08  Bruno Haible  <bruno@clisp.org>
102567         Update to Unicode 5.0.
102568         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
102569         code transform. Extend the name index field of unicode_name_to_code and
102570         unicode_code_to_name from 16 to 24 bits.
102571         * lib/uniname/uniname.c (unicode_character_name,
102572         unicode_name_character): Add the range 0x12xxx to the code transform.
102573         * lib/uniname/uninames.h: Regenerated.
102574         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
102576 2007-07-07  Bruno Haible  <bruno@clisp.org>
102578         * modules/wcwidth-tests: New file.
102579         * tests/test-wcwidth.c: New file.
102581         Work around MacOS X wcwidth() bug.
102582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
102583         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
102584         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
102585         original wcwidth in non-UTF-8 locales.
102586         * modules/wcwidth (Depends-on): Add localcharset, streq,
102587         uniwidth/width.
102588         * doc/functions/wcwidth.texi: Update.
102590 2007-07-07  Bruno Haible  <bruno@clisp.org>
102592         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
102593         (wcwidth): New declaration.
102594         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
102595         macros.
102596         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
102597         here. Prepare for creating <wchar.h> unconditionally.
102598         * modules/wchar (Depends-on): Add link-warning.
102599         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
102600         REPLACE_WCWIDTH, and GL_LINK_WARNING.
102601         * lib/wcwidth.h: Remove file.
102602         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
102603         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
102604         * modules/wcwidth (Files): Remove lib/wcwidth.h.
102605         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
102606         (Include): Replace wcwidth.h with <wchar.h>.
102607         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
102608         * lib/mbchar.h: Don't include wcwidth.h.
102609         * lib/mbswidth.c: Likewise.
102610         * NEWS: Mention the change.
102612 2007-07-07  Bruno Haible  <bruno@clisp.org>
102614         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
102615         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
102616         definition with an external declaration.
102617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
102618         defined as a function. Remove AC_C_INLINE requirement.
102619         * modules/wcwidth (Files): Add lib/wcwidth.c.
102620         (Makefile.am): Remove redundant statement.
102622 2007-07-07  Bruno Haible  <bruno@clisp.org>
102624         * MODULES.html.sh (Unicode string functions): Add the new modules.
102626         * tests/uniwidth/test-u32-strwidth.c: New file.
102627         * modules/uniwidth/u32-strwidth-tests: New file.
102629         * lib/uniwidth/u32-strwidth.c: New file.
102630         * modules/uniwidth/u32-strwidth: New file.
102632         * tests/uniwidth/test-u16-strwidth.c: New file.
102633         * modules/uniwidth/u16-strwidth-tests: New file.
102635         * lib/uniwidth/u16-strwidth.c: New file.
102636         * modules/uniwidth/u16-strwidth: New file.
102638         * tests/uniwidth/test-u8-strwidth.c: New file.
102639         * modules/uniwidth/u8-strwidth-tests: New file.
102641         * lib/uniwidth/u8-strwidth.c: New file.
102642         * modules/uniwidth/u8-strwidth: New file.
102644         * tests/uniwidth/test-u32-width.c: New file.
102645         * modules/uniwidth/u32-width-tests: New file.
102647         * lib/uniwidth/u32-width.c: New file.
102648         * modules/uniwidth/u32-width: New file.
102650         * tests/uniwidth/test-u16-width.c: New file.
102651         * modules/uniwidth/u16-width-tests: New file.
102653         * lib/uniwidth/u16-width.c: New file.
102654         * modules/uniwidth/u16-width: New file.
102656         * tests/uniwidth/test-u8-width.c: New file.
102657         * modules/uniwidth/u8-width-tests: New file.
102659         * lib/uniwidth/u8-width.c: New file.
102660         * modules/uniwidth/u8-width: New file.
102662         * tests/uniwidth/test-uc_width.c: New file.
102663         * modules/uniwidth/width-tests: New file.
102665         * lib/uniwidth/width.c: New file, from GNU libiconv.
102666         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
102667         * modules/uniwidth/width: New file.
102669         * lib/uniwidth.h: New file, from GNU libiconv.
102670         * modules/uniwidth/base: New file.
102672 2007-07-07  Bruno Haible  <bruno@clisp.org>
102674         * lib/uniname.h: New file, from GNU gettext.
102675         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
102676         * lib/uniname/uninames.h: New file, from GNU gettext.
102677         * lib/uniname/uniname.c: New file, from GNU gettext.
102678         * tests/uniname/test-uninames.sh: New file.
102679         * tests/uniname/test-uninames.c: New file, from GNU gettext.
102680         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
102681         * modules/uniname/base: New file.
102682         * modules/uniname/uniname: New file.
102683         * modules/uniname/uniname-tests: New file.
102684         * MODULES.html.sh (Unicode string functions): Add the new modules.
102686 2007-07-06  Bruno Haible  <bruno@clisp.org>
102688         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
102690 2007-07-06  Bruno Haible  <bruno@clisp.org>
102692         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
102693         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
102694         includes <cygwin/sys_time.h> which includes <sys/select.h> which
102695         include <sys/time.h>.
102696         Reported by Eric Blake.
102698 2007-07-06  Eric Blake  <ebb9@byu.net>
102700         Fix testing canonicalize on cygwin.
102701         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102702         Revert patch from 2007-06-19.
102703         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
102704         canonicalize module is also in use.
102705         * tests/test-canonicalize.c: New file.
102706         * tests/test-canonicalize.sh: Likewise.
102707         * modules/canonicalize-tests: Likewise.
102709 2007-07-06  Jim Meyering  <jim@meyering.net>
102711         * lib/getugroups.c (getugroups): Detect getgrent failure.
102712         Adjust comment to reflect reality: this function may return -1.
102714 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
102716         * build-aux/bootstrap (TP_URL,get_translations): Update to use
102717         the new TP address.
102718         (usage): Fix typo
102719         (gnulib_mk): New variable.
102721 2007-07-05  Jim Meyering  <jim@meyering.net>
102723         Don't let endgrent clobber errno, no matter how improbable.
102724         * lib/getugroups.c (getugroups): Save and restore errno around
102725         endgrent call.
102727         Close the group DB even when failing with 2^31 or more members.
102728         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
102730 2007-07-04  Jim Meyering  <jim@meyering.net>
102732         * lib/getugroups.h: New file.
102733         * lib/getugroups.c: Include "getugroups.h".
102734         Remove uses of "register" keyword.
102735         Move local variable, "cp", down into scope where used.
102736         Give "username" parameter the "const" attribute.
102737         * modules/getugroups (Files): Add lib/getugroups.h
102739 2007-07-04  Karl Berry  <karl@gnu.org>
102741         * MODULES.html.sh (func_all_modules): Complete rename of
102742         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
102744 2007-07-02  Bruno Haible  <bruno@clisp.org>
102746         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
102747         mode, when inttypes.h comes from gnulib.
102748         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
102750 2007-07-02  Simon Josefsson  <simon@josefsson.org>
102752         * NEWS: Mention lgpl module name change.
102754         * modules/lgpl-2.1: Renamed from lgpl.
102756         * NEWS: Mention gpl module name change.
102758         * modules/gpl-3.0: New file, based on gpl-2.0.
102760         * modules/gpl-2.0: Renamed from gpl.
102762         * modules/gpl: Fix filename, doc/gpl.texi is now found at
102763         doc/gpl-2.0.texi.
102765 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
102767         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
102768         #define __STDC_LIMIT_MACROS temporarily while including
102769         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
102770         Problem reported by Joel E. Denny in
102771         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
102773 2007-07-01  Bruno Haible  <bruno@clisp.org>
102775         * lib/unistdio.h: New file.
102776         * lib/unistdio/u-asnprintf.h: New file.
102777         * lib/unistdio/u-asprintf.h: New file.
102778         * lib/unistdio/u-printf-args.c: New file.
102779         * lib/unistdio/u-printf-args.h: New file.
102780         * lib/unistdio/u-printf-parse.h: New file.
102781         * lib/unistdio/u-snprintf.h: New file.
102782         * lib/unistdio/u-sprintf.h: New file.
102783         * lib/unistdio/u-vasprintf.h: New file.
102784         * lib/unistdio/u-vsnprintf.h: New file.
102785         * lib/unistdio/u-vsprintf.h: New file.
102786         * lib/unistdio/ulc-asnprintf.c: New file.
102787         * lib/unistdio/ulc-asprintf.c: New file.
102788         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
102789         * lib/unistdio/ulc-printf-parse.c: New file.
102790         * lib/unistdio/ulc-snprintf.c: New file.
102791         * lib/unistdio/ulc-sprintf.c: New file.
102792         * lib/unistdio/ulc-vasnprintf.c: New file.
102793         * lib/unistdio/ulc-vasprintf.c: New file.
102794         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
102795         * lib/unistdio/ulc-vsnprintf.c: New file.
102796         * lib/unistdio/ulc-vsprintf.c: New file.
102797         * lib/unistdio/u8-asnprintf.c: New file.
102798         * lib/unistdio/u8-asprintf.c: New file.
102799         * lib/unistdio/u8-printf-parse.c: New file.
102800         * lib/unistdio/u8-snprintf.c: New file.
102801         * lib/unistdio/u8-sprintf.c: New file.
102802         * lib/unistdio/u8-vasnprintf.c: New file.
102803         * lib/unistdio/u8-vasprintf.c: New file.
102804         * lib/unistdio/u8-vsnprintf.c: New file.
102805         * lib/unistdio/u8-vsprintf.c: New file.
102806         * lib/unistdio/u8-u8-asnprintf.c: New file.
102807         * lib/unistdio/u8-u8-asprintf.c: New file.
102808         * lib/unistdio/u8-u8-snprintf.c: New file.
102809         * lib/unistdio/u8-u8-sprintf.c: New file.
102810         * lib/unistdio/u8-u8-vasnprintf.c: New file.
102811         * lib/unistdio/u8-u8-vasprintf.c: New file.
102812         * lib/unistdio/u8-u8-vsnprintf.c: New file.
102813         * lib/unistdio/u8-u8-vsprintf.c: New file.
102814         * lib/unistdio/u16-asnprintf.c: New file.
102815         * lib/unistdio/u16-asprintf.c: New file.
102816         * lib/unistdio/u16-printf-parse.c: New file.
102817         * lib/unistdio/u16-snprintf.c: New file.
102818         * lib/unistdio/u16-sprintf.c: New file.
102819         * lib/unistdio/u16-vasnprintf.c: New file.
102820         * lib/unistdio/u16-vasprintf.c: New file.
102821         * lib/unistdio/u16-vsnprintf.c: New file.
102822         * lib/unistdio/u16-vsprintf.c: New file.
102823         * lib/unistdio/u16-u16-asnprintf.c: New file.
102824         * lib/unistdio/u16-u16-asprintf.c: New file.
102825         * lib/unistdio/u16-u16-snprintf.c: New file.
102826         * lib/unistdio/u16-u16-sprintf.c: New file.
102827         * lib/unistdio/u16-u16-vasnprintf.c: New file.
102828         * lib/unistdio/u16-u16-vasprintf.c: New file.
102829         * lib/unistdio/u16-u16-vsnprintf.c: New file.
102830         * lib/unistdio/u16-u16-vsprintf.c: New file.
102831         * lib/unistdio/u32-asnprintf.c: New file.
102832         * lib/unistdio/u32-asprintf.c: New file.
102833         * lib/unistdio/u32-printf-parse.c: New file.
102834         * lib/unistdio/u32-snprintf.c: New file.
102835         * lib/unistdio/u32-sprintf.c: New file.
102836         * lib/unistdio/u32-vasnprintf.c: New file.
102837         * lib/unistdio/u32-vasprintf.c: New file.
102838         * lib/unistdio/u32-vsnprintf.c: New file.
102839         * lib/unistdio/u32-vsprintf.c: New file.
102840         * lib/unistdio/u32-u32-asnprintf.c: New file.
102841         * lib/unistdio/u32-u32-asprintf.c: New file.
102842         * lib/unistdio/u32-u32-snprintf.c: New file.
102843         * lib/unistdio/u32-u32-sprintf.c: New file.
102844         * lib/unistdio/u32-u32-vasnprintf.c: New file.
102845         * lib/unistdio/u32-u32-vasprintf.c: New file.
102846         * lib/unistdio/u32-u32-vsnprintf.c: New file.
102847         * lib/unistdio/u32-u32-vsprintf.c: New file.
102848         * tests/unistdio/test-ulc-asnprintf1.c: New file.
102849         * tests/unistdio/test-ulc-asnprintf1.h: New file.
102850         * tests/unistdio/test-ulc-printf1.h: New file.
102851         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
102852         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
102853         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
102854         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
102855         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
102856         * tests/unistdio/test-ulc-vasprintf1.c: New file.
102857         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
102858         * tests/unistdio/test-ulc-vsprintf1.c: New file.
102859         * tests/unistdio/test-u8-asnprintf1.c: New file.
102860         * tests/unistdio/test-u8-asnprintf1.h: New file.
102861         * tests/unistdio/test-u8-printf1.h: New file.
102862         * tests/unistdio/test-u8-vasnprintf1.c: New file.
102863         * tests/unistdio/test-u8-vasnprintf2.c: New file.
102864         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
102865         * tests/unistdio/test-u8-vasnprintf3.c: New file.
102866         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
102867         * tests/unistdio/test-u8-vasprintf1.c: New file.
102868         * tests/unistdio/test-u8-vsnprintf1.c: New file.
102869         * tests/unistdio/test-u8-vsprintf1.c: New file.
102870         * tests/unistdio/test-u16-asnprintf1.c: New file.
102871         * tests/unistdio/test-u16-asnprintf1.h: New file.
102872         * tests/unistdio/test-u16-printf1.h: New file.
102873         * tests/unistdio/test-u16-vasnprintf1.c: New file.
102874         * tests/unistdio/test-u16-vasnprintf2.c: New file.
102875         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
102876         * tests/unistdio/test-u16-vasnprintf3.c: New file.
102877         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
102878         * tests/unistdio/test-u16-vasprintf1.c: New file.
102879         * tests/unistdio/test-u16-vsnprintf1.c: New file.
102880         * tests/unistdio/test-u16-vsprintf1.c: New file.
102881         * tests/unistdio/test-u32-asnprintf1.c: New file.
102882         * tests/unistdio/test-u32-asnprintf1.h: New file.
102883         * tests/unistdio/test-u32-printf1.h: New file.
102884         * tests/unistdio/test-u32-vasnprintf1.c: New file.
102885         * tests/unistdio/test-u32-vasnprintf2.c: New file.
102886         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
102887         * tests/unistdio/test-u32-vasnprintf3.c: New file.
102888         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
102889         * tests/unistdio/test-u32-vasprintf1.c: New file.
102890         * tests/unistdio/test-u32-vsnprintf1.c: New file.
102891         * tests/unistdio/test-u32-vsprintf1.c: New file.
102892         * modules/unistdio/base: New file.
102893         * modules/unistdio/u-printf-args: New file.
102894         * modules/unistdio/ulc-asnprintf: New file.
102895         * modules/unistdio/ulc-asprintf: New file.
102896         * modules/unistdio/ulc-fprintf: New file.
102897         * modules/unistdio/ulc-printf-parse: New file.
102898         * modules/unistdio/ulc-snprintf: New file.
102899         * modules/unistdio/ulc-sprintf: New file.
102900         * modules/unistdio/ulc-vasnprintf: New file.
102901         * modules/unistdio/ulc-vasprintf: New file.
102902         * modules/unistdio/ulc-vfprintf: New file.
102903         * modules/unistdio/ulc-vsnprintf: New file.
102904         * modules/unistdio/ulc-vsprintf: New file.
102905         * modules/unistdio/u8-asnprintf: New file.
102906         * modules/unistdio/u8-asprintf: New file.
102907         * modules/unistdio/u8-printf-parse: New file.
102908         * modules/unistdio/u8-snprintf: New file.
102909         * modules/unistdio/u8-sprintf: New file.
102910         * modules/unistdio/u8-vasnprintf: New file.
102911         * modules/unistdio/u8-vasprintf: New file.
102912         * modules/unistdio/u8-vsnprintf: New file.
102913         * modules/unistdio/u8-vsprintf: New file.
102914         * modules/unistdio/u8-u8-asnprintf: New file.
102915         * modules/unistdio/u8-u8-asprintf: New file.
102916         * modules/unistdio/u8-u8-snprintf: New file.
102917         * modules/unistdio/u8-u8-sprintf: New file.
102918         * modules/unistdio/u8-u8-vasnprintf: New file.
102919         * modules/unistdio/u8-u8-vasprintf: New file.
102920         * modules/unistdio/u8-u8-vsnprintf: New file.
102921         * modules/unistdio/u8-u8-vsprintf: New file.
102922         * modules/unistdio/u16-asnprintf: New file.
102923         * modules/unistdio/u16-asprintf: New file.
102924         * modules/unistdio/u16-printf-parse: New file.
102925         * modules/unistdio/u16-snprintf: New file.
102926         * modules/unistdio/u16-sprintf: New file.
102927         * modules/unistdio/u16-vasnprintf: New file.
102928         * modules/unistdio/u16-vasprintf: New file.
102929         * modules/unistdio/u16-vsnprintf: New file.
102930         * modules/unistdio/u16-vsprintf: New file.
102931         * modules/unistdio/u16-u16-asnprintf: New file.
102932         * modules/unistdio/u16-u16-asprintf: New file.
102933         * modules/unistdio/u16-u16-snprintf: New file.
102934         * modules/unistdio/u16-u16-sprintf: New file.
102935         * modules/unistdio/u16-u16-vasnprintf: New file.
102936         * modules/unistdio/u16-u16-vasprintf: New file.
102937         * modules/unistdio/u16-u16-vsnprintf: New file.
102938         * modules/unistdio/u16-u16-vsprintf: New file.
102939         * modules/unistdio/u32-asnprintf: New file.
102940         * modules/unistdio/u32-asprintf: New file.
102941         * modules/unistdio/u32-printf-parse: New file.
102942         * modules/unistdio/u32-snprintf: New file.
102943         * modules/unistdio/u32-sprintf: New file.
102944         * modules/unistdio/u32-vasnprintf: New file.
102945         * modules/unistdio/u32-vasprintf: New file.
102946         * modules/unistdio/u32-vsnprintf: New file.
102947         * modules/unistdio/u32-vsprintf: New file.
102948         * modules/unistdio/u32-u32-asnprintf: New file.
102949         * modules/unistdio/u32-u32-asprintf: New file.
102950         * modules/unistdio/u32-u32-snprintf: New file.
102951         * modules/unistdio/u32-u32-sprintf: New file.
102952         * modules/unistdio/u32-u32-vasnprintf: New file.
102953         * modules/unistdio/u32-u32-vasprintf: New file.
102954         * modules/unistdio/u32-u32-vsnprintf: New file.
102955         * modules/unistdio/u32-u32-vsprintf: New file.
102956         * modules/unistdio/ulc-asnprintf-tests: New file.
102957         * modules/unistdio/ulc-vasnprintf-tests: New file.
102958         * modules/unistdio/ulc-vasprintf-tests: New file.
102959         * modules/unistdio/ulc-vsnprintf-tests: New file.
102960         * modules/unistdio/ulc-vsprintf-tests: New file.
102961         * modules/unistdio/u8-asnprintf-tests: New file.
102962         * modules/unistdio/u8-vasnprintf-tests: New file.
102963         * modules/unistdio/u8-vasprintf-tests: New file.
102964         * modules/unistdio/u8-vsnprintf-tests: New file.
102965         * modules/unistdio/u8-vsprintf-tests: New file.
102966         * modules/unistdio/u16-asnprintf-tests: New file.
102967         * modules/unistdio/u16-vasnprintf-tests: New file.
102968         * modules/unistdio/u16-vasprintf-tests: New file.
102969         * modules/unistdio/u16-vsnprintf-tests: New file.
102970         * modules/unistdio/u16-vsprintf-tests: New file.
102971         * modules/unistdio/u32-asnprintf-tests: New file.
102972         * modules/unistdio/u32-vasnprintf-tests: New file.
102973         * modules/unistdio/u32-vasprintf-tests: New file.
102974         * modules/unistdio/u32-vsnprintf-tests: New file.
102975         * modules/unistdio/u32-vsprintf-tests: New file.
102976         * MODULES.html.sh (Unicode string functions): Add the new modules.
102978 2007-07-01  Bruno Haible  <bruno@clisp.org>
102980         * lib/sprintf.c (sprintf): Limit the available length estimation,
102981         to avoid address wraparound.
102982         * lib/vsprintf.c (vsprintf): Likewise.
102983         * modules/sprintf-posix (Dependencies): Add stdint.
102984         * modules/vsprintf-posix (Dependencies): Likewise.
102986 2007-07-01  Bruno Haible  <bruno@clisp.org>
102988         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
102989         Windows PATH as well. Conservative double-quoting. Comments.
102991 2007-07-01  Bruno Haible  <bruno@clisp.org>
102992             Eric Blake  <ebb9@byu.net>
102993             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102995         * gnulib-tool (self_abspathname): Fix algorithm to cope with
102996         empty components in $PATH, denoting '.'.
102998 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103000         * gnulib-tool: Fix indentation.
103001         (func_create_megatestdir): Likewise.
103002         Report by Bruno Haible.
103004 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103006         Sync from Automake.
103007         * build-aux/gnupload: Fix shell portability issues with for loops.
103008         Report by Karl Berry.
103010 2007-06-29  Simon Josefsson  <simon@josefsson.org>
103012         * build-aux/maint.mk (POURL): Use translationproject.org.
103014 2007-06-27  Simon Josefsson  <simon@josefsson.org>
103015             Bruno Haible  <bruno@clisp.org>
103017         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
103018         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
103019         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
103020         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
103021         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
103023 2007-06-27  Bruno Haible  <bruno@clisp.org>
103025         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
103026         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
103028 2007-06-26  Karl Berry  <karl@gnu.org>
103030         * MODULES.html.sh: remove xreadlink-with-size.
103032 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103034         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
103035         method that I hope also handles the double-include problem noted
103036         by Bruno Haible in
103037         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
103039 2007-06-23  Bruno Haible  <bruno@clisp.org>
103041         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103042         Don't let the 'mostlyclean' target fail if the last subdirectory could
103043         not be removed.
103044         Reported by Karl Berry.
103046 2007-06-23  Bruno Haible  <bruno@clisp.org>
103048         * gnulib-tool (echo): Add a speedier workaround for ksh.
103049         * tests/test-echo.sh: Likewise.
103051 2007-06-23  Bruno Haible  <bruno@clisp.org>
103053         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
103054         * tests/test-echo.sh: Likewise.
103056 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103058         * gnulib-tool (IFS): Initialize early, so we don't set it to
103059         empty later.
103060         (self_abspathname): Rewrite algorithm to set it, reindent.
103061         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
103062         (func_create_megatestdir): Merge some sed scripts.
103064 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103066         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
103067         exposed by Sun Studio 11 cc on Solaris 8.
103069 2007-06-22  Bruno Haible  <bruno@clisp.org>
103071         * gnulib-tool (echo): Ensure the echo primitive does not interpret
103072         backslashes.
103073         * tests/test-echo.sh: New file.
103075 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103077         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
103078         simplify `sed_replace_build_aux' scripts, they are portable but
103079         echoing them with `echo' is not.
103080         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
103082 2007-06-21  Karl Berry  <karl@gnu.org>
103084         * config/srclist.txt: guess we can't handle the licenses via
103085         srclist at the moment.
103087 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
103089         * MODULES.html.sh: Add include_next.
103090         * modules/include_next: New file.
103092 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
103094         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
103095         INCLUDE_NEXT.
103096         (gl_CHECK_NEXT_HEADERS): New macro.
103097         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
103098         the obsolescent gl_ABSOLUTE_HEADER.
103099         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
103100         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
103101         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
103102         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
103103         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
103104         * m4/math_h.m4 (gl_MATH_H): Likewise.
103105         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
103106         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103107         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
103108         * m4/stdint.m4 (gl_STDINT_H): Likewise.
103109         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
103110         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
103111         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
103112         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
103113         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
103114         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103115         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
103116         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
103117         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
103118         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103119         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
103120         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
103121         * m4/inttypes.m4 (gl_INTTYPES_H): Define
103122         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
103123         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
103124         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
103125         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
103126         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
103127         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
103128         * lib/float_.h: Likewise.
103129         * lib/inttypes_.h: Likewise.
103130         * lib/math_.h: Likewise.
103131         * lib/search_.h: Likewise.
103132         * lib/signal_.h: Likewise.
103133         * lib/stdint_.h: Likewise.
103134         * lib/stdio_.h: Likewise.
103135         * lib/stdlib_.h: Likewise.
103136         * lib/string_.h: Likewise.
103137         * lib/sys_stat_.h: Likewise.
103138         * lib/sys_time_.h: Likewise.
103139         * lib/time_.h: Likewise.
103140         * lib/unistd_.h: Likewise.
103141         * lib/wchar_.h: Likewise.
103142         * lib/wctype_.h: Likewise.
103143         * lib/dirent_.h: Likewise.
103144         * lib/iconv_.h: Likewise.
103145         * lib/locale_.h: Likewise.
103146         * lib/netinet_in_.h: Likewise.
103147         * lib/sys_select_.h: Likewise.
103148         * lib/sys_socket_.h: Likewise.
103149         * lib/sysexits_.h: Likewise.
103150         * modules/fcntl (Depends-on): Depend on include_next, not
103151         absolute_header.
103152         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
103153         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
103154         * modules/fchdir: Likewise.
103155         * modules/float: Likewise.
103156         * modules/iconv_open: Likewise.
103157         * modules/inttypes: Likewise.
103158         * modules/locale: Likewise.
103159         * modules/math: Likewise.
103160         * modules/netinet_in: Likewise.
103161         * modules/search: Likewise.
103162         * modules/signal: Likewise.
103163         * modules/stdint: Likewise.
103164         * modules/stdio: Likewise.
103165         * modules/stdlib: Likewise.
103166         * modules/string: Likewise.
103167         * modules/sys_select: Likewise.
103168         * modules/sys_socket: Likewise.
103169         * modules/sys_stat: Likewise.
103170         * modules/sys_time: Likewise.
103171         * modules/sysexits: Likewise.
103172         * modules/time: Likewise.
103173         * modules/unistd: Likewise.
103174         * modules/wchar: Likewise.
103175         * modules/wctype: Likewise.
103176         * modules/sys_stat: Change maintainer to "all".
103177         * modules/unistd: Likewise.
103179 2007-06-20  Karl Berry  <karl@gnu.org>
103181         * config/srclist.txt: track www changes in license files.
103183 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
103185         * build-aux/bootstrap: Remove stray dot.
103186         Make sure build_aux settings are honored when linking
103187         gnulib_extra_files.
103189 2007-06-19  Eric Blake  <ebb9@byu.net>
103191         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103192         Allow compilation on cygwin.
103194 2007-06-19  Jim Meyering  <jim@meyering.net>
103196         xreadlink-with-size: Remove module.  No longer used.
103197         Ex-callers now use xreadlink or mreadlink-with-size.
103198         * modules/xreadlink-with-size: Remove module.
103199         * lib/xreadlink-with-size.c: Remove file.
103200         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
103201         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
103202         just before the function definition *is* accurate.
103204         Eliminate one way canonicalize_filename_mode could exit.
103205         * lib/canonicalize.c (canonicalize_filename_mode):
103206         Use mreadlink_with_size, not xreadlink_with_size.
103208 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
103210         Detect porting problems to FreeBSD/arm, which has time_t wider than
103211         long int.  Original problem reported for GNU diff by Xin Li in
103212         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
103213         * modules/getdate (Depends-on): Add intprops, verify.
103214         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
103215         is an integer type no wider than long int.
103217 2007-06-18  Jim Meyering  <jim@meyering.net>
103219         New module: mreadlink-with-size.
103220         * MODULES.html.sh: Add mreadlink-with-size.
103221         * modules/mreadlink-with-size: New module
103222         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
103223         not xreadlink-with-size.
103224         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
103226 2007-06-16  Bruno Haible  <bruno@clisp.org>
103228         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
103229         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
103230         Reported by Gary V. Vaughan <gary@gnu.org>.
103232 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
103234         Revamp lchown so that it lives in unistd.h where it belongs.
103235         * lib/lchown.h: Remove.
103236         * lib/dirchownmod.c: Don't include lib/lchown.h.
103237         * lib/fchownat.c: Likewise.
103238         * lib/openat.c: Likewise.
103239         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
103240         does not follow symlinks.
103241         (EOPNOTSUPP): Define if not defined.
103242         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
103243         is defined to 0.
103244         (lchown): New decl.
103245         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
103246         Do not check for lchown decl.
103247         Set REPLACE_LCHOWN.
103248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
103249         REPLACE_LCHOWN.
103250         * modules/chown: Make it clear it follows symlinks.
103251         * modules/lchown: Make it clear it doesn't follow symlinks.
103252         (Files): Remove lib/lchown.h
103253         (Depends-on): Add unistd.
103254         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
103255         (Include): Include <unistd.h>, not "lchown.h".
103256         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
103257         REPLACE_LCHOWN.
103259 2007-06-15  Jim Meyering  <jim@meyering.net>
103261         Change license (GPL to LGPL) of fsusage and dependents.
103262         * modules/fsusage (License): Change to LGPL.
103263         * modules/full-read (License): Likewise.
103264         * modules/full-write (License): Likewise.
103265         * modules/safe-read (License): Likewise.
103266         * modules/safe-write (License): Likewise.
103268 2007-06-14  Ben Pfaff  <blp@gnu.org>
103270         Missing part of allocsa -> malloca transition.
103271         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
103272         gl_MALLOCA.
103274 2007-06-12  Bruno Haible  <bruno@clisp.org>
103276         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
103277         to ia64, x86_64, i386.
103278         Reported by Eric Blake.
103280 2007-06-12  Bruno Haible  <bruno@clisp.org>
103282         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
103283         cross-compiling to x86_64.
103285 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103287         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
103288         glitch reported by Ralf Wildenhues in
103289         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
103291         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
103292         Vin Shelton.
103294 2007-06-11  Bruno Haible  <bruno@clisp.org>
103296         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
103297         replacement string.
103298         Reported by Eric Blake.
103300 2007-06-10  Bruno Haible  <bruno@clisp.org>
103302         Prepare vasnprintf code for use with Unicode strings.
103303         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
103304         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
103305         TYPE_U32_STRING.
103306         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
103307         a_u32_string variants.
103308         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103309         * lib/printf-args.c: Don't include config.h and the specification
103310         header if PRINTF_FETCHARGS is already defined.
103311         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103312         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
103313         TYPE_U16_STRING, TYPE_U32_STRING.
103314         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
103315         u16_directive, u16_directives, u32_directive, u32_directives): New
103316         types.
103317         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
103318         New declarations.
103319         * lib/printf-parse.c: Don't include config.h and the specification
103320         header if PRINTF_PARSE is already defined. Eliminate the set of
103321         parameters for WIDE_CHAR_VERSION; the user of this file must provide
103322         them now. Include c-ctype.h.
103323         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
103324         directive and CHAR_T_ONLY_ASCII.
103325         * lib/vasnprintf.c: Don't include config.h and the specification header
103326         if VASNPRINTF is already defined.
103327         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
103328         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
103329         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
103330         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
103331         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
103332         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
103333         code accordingly.
103334         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
103335         pad_ourselves also in this case, with the 'c' and 's' directives, and
103336         with a different notion of "width".
103337         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
103339 2007-06-10  Bruno Haible  <bruno@clisp.org>
103341         * modules/unistr/u32-mbsnlen: New file.
103342         * lib/unistr/u32-mbsnlen.c: New file.
103344         * modules/unistr/u16-mbsnlen: New file.
103345         * lib/unistr/u16-mbsnlen.c: New file.
103347         * modules/unistr/u8-mbsnlen: New file.
103348         * lib/unistr/u8-mbsnlen.c: New file.
103350         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
103351         declarations.
103353 2007-06-10  Bruno Haible  <bruno@clisp.org>
103355         * lib/string_.h (mbsnlen): New declaration.
103356         * lib/mbsnlen.c: New file.
103357         * m4/mbsnlen.m4: New file.
103358         * modules/mbsnlen: New file.
103359         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
103360         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
103361         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
103363 2007-06-10  Bruno Haible  <bruno@clisp.org>
103365         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
103367 2007-06-10  Bruno Haible  <bruno@clisp.org>
103369         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
103370         * lib/mbuiter.h: Likewise.
103372 2007-06-10  Bruno Haible  <bruno@clisp.org>
103374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
103375         declaration.
103377 2007-06-10  Karl Berry  <karl@gnu.org>
103379         * config/srclist.txt: remove gettext entries, Bruno prefers
103380         to update individually.
103382 2007-06-10  Bruno Haible  <bruno@clisp.org>
103384         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
103385         'maxlen'. Ensure only length + width bytes are allocated, not
103386         length + 1 + width.
103388 2007-06-09  Bruno Haible  <bruno@clisp.org>
103390         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
103391         (CHAR_T): Remove macro.
103392         (VASNPRINTF): Update.
103394 2007-06-09  Bruno Haible  <bruno@clisp.org>
103396         * MODULES.html.sh (Unicode string functions): Add the new modules.
103398         * modules/uniconv/u32-conv-to-enc: New file.
103399         * lib/uniconv/u32-conv-to-enc.c: New file.
103400         * modules/uniconv/u32-conv-to-enc-tests: New file.
103401         * tests/uniconv/test-u32-conv-to-enc.c: New file.
103403         * modules/uniconv/u16-conv-to-enc: New file.
103404         * lib/uniconv/u16-conv-to-enc.c: New file.
103405         * lib/uniconv/u-conv-to-enc.h: New file.
103406         * modules/uniconv/u16-conv-to-enc-tests: New file.
103407         * tests/uniconv/test-u16-conv-to-enc.c: New file.
103409         * modules/uniconv/u8-conv-to-enc: New file.
103410         * lib/uniconv/u8-conv-to-enc.c: New file.
103411         * modules/uniconv/u8-conv-to-enc-tests: New file.
103412         * tests/uniconv/test-u8-conv-to-enc.c: New file.
103414         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
103415         u32_conv_to_encoding): New declarations.
103417 2007-06-09  Bruno Haible  <bruno@clisp.org>
103419         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
103421 2007-06-09  Bruno Haible  <bruno@clisp.org>
103423         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
103424         * modules/malloca: Renamed from modules/allocsa, updated.
103425         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
103426         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
103427         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
103428         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
103429         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
103430         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
103431         * modules/xmalloca: Renamed from modules/xallocsa, updated.
103432         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
103433         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
103434         * modules/c-strcasestr (Depends-on): Update.
103435         * lib/c-strcasestr.c: Update.
103436         * modules/c-strstr (Depends-on): Update.
103437         * lib/c-strstr.c: Update.
103438         * modules/canonicalize-lgpl (Depends-on): Update.
103439         * lib/canonicalize-lgpl.c: Update.
103440         * modules/clean-temp (Depends-on): Update.
103441         * lib/clean-temp.c: Update.
103442         * modules/csharpcomp (Depends-on): Update.
103443         * lib/csharpcomp.c: Update.
103444         * modules/csharpexec (Depends-on): Update.
103445         * lib/csharpexec.c: Update.
103446         * modules/javacomp (Depends-on): Update.
103447         * lib/javacomp.c: Update.
103448         * modules/javaexec (Depends-on): Update.
103449         * lib/javaexec.c: Update.
103450         * modules/mbscasestr (Depends-on): Update.
103451         * lib/mbscasestr.c: Update.
103452         * modules/mbsstr (Depends-on): Update.
103453         * lib/mbsstr.c: Update.
103454         * modules/setenv (Depends-on): Update.
103455         * lib/setenv.c: Update.
103456         * modules/strcasestr (Depends-on): Update.
103457         * lib/strcasestr.c: Update.
103458         * modules/striconveha (Depends-on): Update.
103459         * lib/striconveha.c: Update.
103460         * modules/relocatable-prog-wrapper (Files): Update.
103461         * lib/relocwrapper.c: Update.
103462         * build-aux/install-reloc: Update.
103463         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
103465 2007-06-08  Bruno Haible  <bruno@clisp.org>
103467         Port to uClibc.
103468         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
103469         * lib/fpurge.c (fpurge): Likewise.
103470         * lib/freading.c (freading): Likewise.
103471         * lib/fseeko.c (rpl_fseeko): Likewise.
103472         * lib/fseterr.c (fseterr): Likewise.
103473         * lib/fwriting.c (fwriting): Likewise.
103474         * tests/test-fflush.c (main): Avoid a failure on uClibc.
103476 2007-06-08  Bruno Haible  <bruno@clisp.org>
103478         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
103479         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
103480         * modules/gettext (Files): Add m4/intlmacosx.m4.
103482 2007-06-07  Bruno Haible  <bruno@clisp.org>
103484         * modules/localename-tests: New file.
103485         * tests/test-localename.c: New file.
103487         New module 'localename'.
103488         * lib/localename.h: New file.
103489         * lib/localename.c: New file, from GNU gettext.
103490         * m4/localename.m4: New file.
103491         * modules/localename: New file.
103493 2007-06-07  Bruno Haible  <bruno@clisp.org>
103495         Work around the lack of <wchar.h> on some builds of uClibc.
103496         * doc/headers/wchar.texi: Update.
103497         * lib/wchar_.h: Include <wchar.h> only if it exists.
103498         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
103499         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
103500         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
103501         doesn't exist.
103502         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
103503         * modules/mbfile (Depends-on): Add wchar.
103504         * modules/mbiter (Depends-on): Likewise.
103505         * modules/mbuiter (Depends-on): Likewise.
103506         Reported by Simon Josefsson.
103508 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103510         Work around problem reported by Steven M. Schweda in
103511         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
103512         Tru64 5.1B with the Compaq compiler environment installed declares
103513         an 'isblank' function but does not define it in the C library.
103514         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
103515         * lib/regex_internal.h (isblank): Likewise.
103516         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
103517         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
103519 2007-06-05  Bruno Haible  <bruno@clisp.org>
103521         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
103522         ia64.
103523         * modules/printf-safe: New file.
103524         * modules/fprintf-posix (Depends-on): Add printf-safe.
103525         * modules/printf-posix (Depends-on): Likewise.
103526         * modules/snprintf-posix (Depends-on): Likewise.
103527         * modules/sprintf-posix (Depends-on): Likewise.
103528         * modules/vasnprintf-posix (Depends-on): Likewise.
103529         * modules/vasprintf-posix (Depends-on): Likewise.
103530         * modules/vfprintf-posix (Depends-on): Likewise.
103531         * modules/vprintf-posix (Depends-on): Likewise.
103532         * modules/vsnprintf-posix (Depends-on): Likewise.
103533         * modules/vsprintf-posix (Depends-on): Likewise.
103534         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
103535         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
103536         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
103537         "no" on i386, x86_64, ia64.
103538         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
103539         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103540         on i386, x86_64, ia64.
103541         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
103542         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103543         on i386, x86_64, ia64.
103544         * tests/test-vasnprintf-posix.c: Include float.h.
103545         (LDBL80_WORDS): New macro.
103546         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103547         on i386, x86_64, ia64.
103548         * tests/test-vasprintf-posix.c: Include float.h.
103549         (LDBL80_WORDS): New macro.
103550         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103551         on i386, x86_64, ia64.
103552         * tests/test-snprintf-posix.c: Include float.h.
103553         * tests/test-sprintf-posix.c: Likewise.
103554         * tests/test-vsnprintf-posix.c: Likewise.
103555         * tests/test-vsprintf-posix.c: Likewise.
103557 2007-06-05  Bruno Haible  <bruno@clisp.org>
103559         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
103560         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
103561         non-IEEE numbers on i386, x86_64, ia64.
103562         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
103563         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
103564         * tests/test-isnanl.h: Include float.h.
103565         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
103567 2007-06-05  Bruno Haible  <bruno@clisp.org>
103569         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
103570         also the %a / %A. Handle the %a / %A code before this extra handling.
103572 2007-06-05  Bruno Haible  <bruno@clisp.org>
103574         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
103575         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
103577 2007-06-05  Bruno Haible  <bruno@clisp.org>
103579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
103580         typo in variable name.
103582 2007-06-05  Eric Blake  <ebb9@byu.net>
103584         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
103585         Reported by Simon Josefsson.
103587 2007-06-04  Bruno Haible  <bruno@clisp.org>
103589         Avoid test failures on some PowerPC platforms.
103590         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
103591         Define differently for PowerPC.
103592         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
103593         Reported by Gary V. Vaughan <gary@gnu.org>.
103595 2007-06-02  Bruno Haible  <bruno@clisp.org>
103597         Fix test-stdint failure on FreeBSD/ia64.
103598         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
103599         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
103600         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
103601         * doc/headers/stdint.texi: Update.
103603 2007-06-01  Bruno Haible  <bruno@clisp.org>
103605         * tests/test-binary-io.c (main): Pass a third argument to open().
103606         Reported by Gary V. Vaughan <gary@gnu.org>.
103608 2007-06-01  Bruno Haible  <bruno@clisp.org>
103610         * doc/functions/frexpl.texi: Update for mingw.
103612 2007-06-01  Bruno Haible  <bruno@clisp.org>
103614         * tests/test-lseek.c (main): Disable test of errno for invalid third
103615         argument.
103616         * doc/functions/lseek.texi: Update.
103617         Reported by Gary V. Vaughan <gary@gnu.org>.
103619 2007-05-28  Bruno Haible  <bruno@clisp.org>
103621         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
103623 2007-05-31  Eric Blake  <ebb9@byu.net>
103625         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
103626         cross compiling.
103628 2007-05-30  Eric Blake  <ebb9@byu.net>
103629         and Bruno Haible  <bruno@clisp.org>
103631         Work around mingw test failures exposed by m4-1.4.9b.
103632         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
103633         * tests/test-unistd.c: Disable uid_t and git_t tests for the
103634         moment.
103636 2007-05-30  Bruno Haible  <bruno@clisp.org>
103638         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
103639         assuming that they are closed. Needed on HP-UX 11.
103641 2007-05-29  Bruno Haible  <bruno@clisp.org>
103643         Fix a problem with #include_next.
103644         * lib/dirent_.h: Split the double-inclusion guard.
103645         * lib/fcntl_.h: Likewise.
103646         * lib/float_.h: Likewise.
103647         * lib/iconv_.h: Likewise.
103648         * lib/inttypes_.h: Likewise.
103649         * lib/locale_.h: Likewise.
103650         * lib/math_.h: Likewise.
103651         * lib/netinet_in_.h: Likewise.
103652         * lib/search_.h: Likewise.
103653         * lib/signal_.h: Likewise.
103654         * lib/stdint_.h: Likewise.
103655         * lib/stdio_.h: Likewise.
103656         * lib/stdlib_.h: Likewise.
103657         * lib/string_.h: Likewise.
103658         * lib/sys_select_.h: Likewise.
103659         * lib/sys_socket_.h: Likewise.
103660         * lib/sys_stat_.h: Likewise.
103661         * lib/sys_time_.h: Likewise.
103662         * lib/sysexits_.h: Likewise.
103663         * lib/time_.h: Likewise.
103664         * lib/unistd_.h: Likewise.
103665         * lib/wchar_.h: Likewise.
103666         * lib/wctype_.h: Likewise.
103668 2007-05-29  Bruno Haible  <bruno@clisp.org>
103670         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
103671         for the moment.
103673 2007-05-29  Bruno Haible  <bruno@clisp.org>
103675         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
103676         invocation.
103677         Reported by Eric Blake.
103679 2007-05-29  Bruno Haible  <bruno@clisp.org>
103681         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
103682         compiling case.
103684 2007-05-29  Eric Blake  <ebb9@byu.net>
103685             Bruno Haible  <bruno@clisp.org>
103687         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
103688         cross compiles.
103690 2007-05-28  Eric Blake  <ebb9@byu.net>
103692         * modules/closein-tests (test_closein_LDADD): Support test on
103693         cygwin with libtool.
103695 2007-05-28  Bruno Haible  <bruno@clisp.org>
103697         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
103698         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
103699         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
103700         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
103701         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
103702         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
103703         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
103704         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
103705         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
103707 2007-05-28  Eric Blake  <ebb9@byu.net>
103709         Unconditionally include <config.h> in unit tests.
103710         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
103711         * tests/test-allocsa.c, tests/test-arcfour.c,
103712         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
103713         tests/test-array_list.c, tests/test-array_oset.c,
103714         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
103715         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
103716         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
103717         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
103718         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
103719         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
103720         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
103721         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
103722         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
103723         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
103724         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
103725         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
103726         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
103727         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
103728         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
103729         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
103730         test-md5.c, test-memmem.c, test-printf-posix.c,
103731         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
103732         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
103733         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
103734         test-strcasestr.c, test-striconv.c, test-striconveh.c,
103735         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
103736         test-vasnprintf-posix2.c, test-vasnprintf.c,
103737         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
103738         test-vfprintf-posix.c, test-vprintf-posix.c,
103739         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
103740         test-xvasprintf.c: Likewise.
103742 2007-05-28  Bruno Haible  <bruno@clisp.org>
103744         * gnulib-tool (func_import): Remember the --with-tests command-line
103745         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
103746         Reported by Eric Blake.
103748 2007-05-28  Bruno Haible  <bruno@clisp.org>
103750         * modules/ftell-tests: New file.
103751         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
103752         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
103754         * lib/ftell.c: New file.
103755         * modules/ftell: New file.
103756         * m4/ftell.m4: New file.
103757         * doc/functions/ftell.texi: Update.
103758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
103759         REPLACE_FTELL.
103760         * lib/stdio_.h (rpl_ftell): New declaration.
103761         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
103762         REPLACE_FTELL.
103764 2007-05-28  Eric Blake  <ebb9@byu.net>
103766         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
103768 2007-05-28  Bruno Haible  <bruno@clisp.org>
103770         * modules/fseek-tests: New file.
103771         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
103772         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
103774         * lib/fseek.c: New file.
103775         * modules/fseek: New file.
103776         * m4/fseek.m4: New file.
103777         * doc/functions/fseek.texi: Update.
103778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
103779         REPLACE_FSEEK.
103780         * lib/stdio_.h (rpl_fseek): New declaration.
103781         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
103782         REPLACE_FSEEK.
103784 2007-05-28  Bruno Haible  <bruno@clisp.org>
103786         * lib/stdio_.h (fflush): More comments.
103788 2007-05-28  Bruno Haible  <bruno@clisp.org>
103790         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
103791         runtime test.
103793 2007-05-28  Eric Blake  <ebb9@byu.net>
103795         Improve lseek module.
103796         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
103797         * lib/unistd_.h (lseek): Scale back link warning message.
103798         * tests/test-lseek.c: Beef up test.
103799         * tests/test-lseek.sh: Exercise more facets of lseek.
103800         Reported by Bruno Haible.
103802 2007-05-28  Bruno Haible  <bruno@clisp.org>
103804         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
103805         to define.
103807 2007-05-27  Bruno Haible  <bruno@clisp.org>
103809         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
103811 2007-05-27  Bruno Haible  <bruno@clisp.org>
103813         * modules/openmp: New file.
103814         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
103815         Noah Misch.
103817 2007-05-26  Bruno Haible  <bruno@clisp.org>
103819         * modules/chdir-long (Depends-on): Add fchdir.
103820         * modules/chdir-safer (Depends-on): Likewise.
103821         * modules/fts (Depends-on): Likewise.
103822         * modules/fts-lgpl (Depends-on): Likewise.
103823         * modules/openat (Depends-on): Likewise.
103824         * modules/savewd (Depends-on): Likewise.
103826 2007-05-24  Eric Blake  <ebb9@byu.net>
103828         Fix lseek on mingw.
103829         * modules/lseek: New module.
103830         * m4/lseek.m4: New file.
103831         * lib/lseek.c: New file.
103832         * modules/lseek-tests: New file.
103833         * tests/test-lseek.c: New file.
103834         * tests/test-lseek.sh: New file.
103835         * MODULES.html.sh: Document lseek module.
103836         * modules/fflush (Depends-on): Add lseek, fseeko.
103837         * modules/fseeko (Depends-on): Likewise.
103838         * modules/ftello (Depends-on): Likewise.
103839         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
103840         broken.
103841         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
103842         broken.
103843         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
103844         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
103845         * lib/ftello.c (rpl_ftello): Likewise.
103846         * tests/test-fseeko.c (main): Test this.
103847         * tests/test-fseeko.sh: Likewise.
103848         * tests/test-ftello.c (main): Likewise.
103849         * tests/test-ftello.sh: Likewise.
103850         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
103851         implies replacing fseek.
103852         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
103853         HAVE_FTELLO.
103854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
103855         * modules/unistd (Makefile.am): Likewise.
103856         * lib/unistd_.h (lseek): Declare a replacement.
103857         * doc/functions/lseek.texi (lseek): Document this fix.
103858         * doc/functions/fseek.texi (fseek): Likewise.
103859         * doc/functions/ftell.texi (ftell): Likewise.
103861 2007-05-24  Bruno Haible  <bruno@clisp.org>
103863         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
103864         in the printed representation of a NaN.
103865         * tests/test-vasprintf-posix.c (test_function): Likewise.
103866         * tests/test-snprintf-posix.h (test_function): Likewise.
103867         * tests/test-sprintf-posix.h (test_function): Likewise.
103868         Reported by Eric Blake.
103870 2007-05-23  Eric Blake  <ebb9@byu.net>
103872         Fix fseeko/ftello on cygwin 1.5.24.
103873         * doc/functions/fseeko.texi (fseeko): Document the fix.
103874         * doc/functions/ftello.texi (ftello): Document the fix.
103875         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
103876         * doc/functions/stdout.text (stdout): New file.
103877         * doc/functions/stderr.text (stderr): New file.
103878         * doc/gnulib.texi (Function Substitutes): Use new files.
103879         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
103880         prior to 1.7.0.
103881         * tests/test-ftello.c (main): Likewise for ftello.
103882         * tests/test-fseeko.sh: New file.
103883         * tests/test-ftello.sh: New file.
103884         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
103885         with seekable stdin.
103886         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
103887         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
103888         (gl_REPLACE_FSEEKO): New macro.
103889         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
103890         * modules/fseeko (Files): Distribute fseeko.c.
103891         * modules/ftello (Files): Distribute ftello.c.
103892         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
103893         mode.
103894         * lib/ftello.c (rpl_ftello): New file.
103895         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
103896         fseeko, ftello.
103897         (gl_STDIN_LARGE_OFFSET): New macro.
103898         * modules/stdio (Makefile.am): Perform the replacement.
103899         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
103901 2007-05-23  Bruno Haible  <bruno@clisp.org>
103903         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
103904         GNULIB_POSIXCHECK is defined.
103906 2007-05-21  Bruno Haible  <bruno@clisp.org>
103908         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
103909         Check also the output for NaN arguments. When cross-compiling, guess
103910         no on IRIX.
103911         * lib/vasnprintf.c: Update comments.
103912         * tests/test-vasnprintf-posix.c (strisnan): New function.
103913         (test_function): Use it.
103914         * tests/test-vasprintf-posix.c (strisnan): New function.
103915         (test_function): Use it.
103916         * tests/test-snprintf-posix.h (strisnan): New function.
103917         (test_function): Use it.
103918         * tests/test-sprintf-posix.h (strisnan): New function.
103919         (test_function): Use it.
103920         Reported by Eric Blake.
103922 2007-05-20  Bruno Haible  <bruno@clisp.org>
103924         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
103925         numbers that fails on BeOS.
103926         * doc/functions/frexpl.texi: Update.
103928 2007-05-20  Jim Meyering  <jim@meyering.net>
103930         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
103931         forced upon us by glibc-2.6.
103933 2007-05-20  Bruno Haible  <bruno@clisp.org>
103935         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
103936         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
103937         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
103938         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
103939         NEED_PRINTF_INFINITE.
103940         (is_infinitel): New function.
103941         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
103942         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
103943         gl_PREREQ_VASNPRINTF_INFINITE.
103944         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
103945         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103946         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
103947         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
103948         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
103949         gl_PREREQ_VASNPRINTF_INFINITE.
103950         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103951         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103952         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103953         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103954         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103955         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103956         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103957         * doc/functions/fprintf.texi: Update.
103958         * doc/functions/printf.texi: Update.
103959         * doc/functions/snprintf.texi: Update.
103960         * doc/functions/sprintf.texi: Update.
103961         * doc/functions/vfprintf.texi: Update.
103962         * doc/functions/vprintf.texi: Update.
103963         * doc/functions/vsnprintf.texi: Update.
103964         * doc/functions/vsprintf.texi: Update.
103966 2007-05-20  Bruno Haible  <bruno@clisp.org>
103968         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
103969         was not found in libc.
103970         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
103972 2007-05-20  Bruno Haible  <bruno@clisp.org>
103974         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
103975         printed as "-nan" instead of "nan".
103976         * tests/test-vasprintf-posix.c (test_function): Likewise.
103977         * tests/test-snprintf-posix.h (test_function): Likewise.
103978         * tests/test-sprintf-posix.h (test_function): Likewise.
103979         Needed for HP-UX 11.
103981 2007-05-20  Jim Meyering  <jim@meyering.net>
103983         Fix buggy test for the fchownat-deref bug.
103984         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
103985         symlink required for the run-test.  Without it, this test would
103986         always declare that fchownat doesn't work, and client code would
103987         unnecessarily use the replacement function with fixed libc.
103988         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
103989         Reported by Greg Schafer.
103991 2007-05-19  Bruno Haible  <bruno@clisp.org>
103993         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
103994         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
103995         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
103996         Needed for IRIX 6.5 and Solaris 2.5.1.
103998 2007-05-19  Bruno Haible  <bruno@clisp.org>
104000         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
104001         (test_function): Skip tests involving -0.0 on platforms where
104002         -0.0 = 0.0.
104003         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
104004         (test_function): Skip tests involving -0.0 on platforms where
104005         -0.0 = 0.0.
104006         * tests/test-snprintf-posix.h (have_minus_zero): New function.
104007         (test_function): Skip tests involving -0.0 on platforms where
104008         -0.0 = 0.0.
104009         * tests/test-sprintf-posix.h (have_minus_zero): New function.
104010         (test_function): Skip tests involving -0.0 on platforms where
104011         -0.0 = 0.0.
104012         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
104013         tests.
104014         * tests/test-printf-posix.h (test_function): Likewise.
104015         * tests/test-printf-posix.output: Remove all -0.0 related results.
104016         Needed for IRIX 6.5.
104018 2007-05-19  Bruno Haible  <bruno@clisp.org>
104020         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104021         printed as "nan0x7fffffff" instead of "nan".
104022         * tests/test-vasprintf-posix.c (test_function): Likewise.
104023         * tests/test-snprintf-posix.h (test_function): Likewise.
104024         * tests/test-sprintf-posix.h (test_function): Likewise.
104025         * tests/test-fprintf-posix.h (NaN): Remove macro.
104026         (test_function): Remove all NaN related tests.
104027         * tests/test-printf-posix.h (NaN): Remove macro.
104028         (test_function): Remove all NaN related tests.
104029         * tests/test-printf-posix.output: Remove all NaN related results.
104030         Needed for IRIX 6.5.
104032 2007-05-19  Bruno Haible  <bruno@clisp.org>
104034         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
104035         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
104037 2007-05-19  Bruno Haible  <bruno@clisp.org>
104039         * lib/float_.h: New file.
104040         * m4/float_h.m4: New file.
104041         * modules/float: New file.
104042         * modules/isnanl (Dependencies): Add float.
104043         * modules/isnanl-nolibm (Dependencies): Likewise.
104044         * modules/mathl (Dependencies): Likewise.
104045         * modules/printf-frexpl (Dependencies): Likewise.
104046         * modules/signbit (Dependencies): Likewise.
104047         * modules/vasnprintf (Dependencies): Likewise.
104048         * doc/headers/float.texi: Update.
104050 2007-05-19  Jim Meyering  <jim@meyering.net>
104052         * lib/utimens.c (gl_futimens): Rename from futimens,
104053         now that glibc-2.6 declares futimens.
104054         * lib/utimens.h: Likewise.
104056 2007-05-19  Bruno Haible  <bruno@clisp.org>
104058         Avoid test failures on mingw.
104059         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
104060         * tests/test-printf-posix.sh: Likewise.
104061         * tests/test-vfprintf-posix.sh: Likewise.
104062         * tests/test-vprintf-posix.sh: Likewise.
104064 2007-05-19  Bruno Haible  <bruno@clisp.org>
104066         Fix *printf result for NaN, Inf, -0.0 on mingw.
104067         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
104068         * lib/vasnprintf.c: Include math.h and isnan.h.
104069         (is_infinite_or_zero): New function.
104070         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
104071         values in the %f, %F, %e, %E, %g, %G directives.
104072         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
104073         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104074         gl_PRINTF_INFINITE and test its result. Invoke
104075         gl_PREREQ_VASNPRINTF_INFINITE.
104076         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104077         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104078         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104079         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104080         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104081         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104082         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104083         * doc/functions/fprintf.texi: Update.
104084         * doc/functions/printf.texi: Update.
104085         * doc/functions/snprintf.texi: Update.
104086         * doc/functions/sprintf.texi: Update.
104087         * doc/functions/vfprintf.texi: Update.
104088         * doc/functions/vprintf.texi: Update.
104089         * doc/functions/vsnprintf.texi: Update.
104090         * doc/functions/vsprintf.texi: Update.
104092 2007-05-19  Bruno Haible  <bruno@clisp.org>
104094         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
104095         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
104096         Instead of multiplying with 10^k, set extra_zeroes to k.
104097         (scale10_round_long_double): Remove function.
104099 2007-05-18  Bruno Haible  <bruno@clisp.org>
104101         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
104102         introduced on 2007-05-06.
104104 2007-05-18  Bruno Haible  <bruno@clisp.org>
104106         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
104107         %g directives.
104108         * tests/test-vasprintf-posix.c (test_function): Likewise.
104109         * tests/test-snprintf-posix.h (test_function): Likewise.
104110         * tests/test-sprintf-posix.h (test_function): Likewise.
104112 2007-05-18  Bruno Haible  <bruno@clisp.org>
104114         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
104115         (strmatch): New function.
104116         (test_function): Test the %f directive on numbers of various exponents.
104117         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
104118         (strmatch): New function.
104119         (test_function): Test the %f directive on numbers of various exponents.
104120         * tests/test-snprintf-posix.h (strmatch): New function.
104121         (test_function): Test the %f directive on numbers of various exponents.
104122         * tests/test-sprintf-posix.h (strmatch): New function.
104123         (test_function): Test the %f directive on numbers of various exponents.
104124         * tests/test-snprintf-posix.c (SIZEOF): New macro.
104125         * tests/test-sprintf-posix.c (SIZEOF): New macro.
104126         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
104127         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
104129 2007-05-18  Bruno Haible  <bruno@clisp.org>
104131         Add support for 'long double' number output.
104132         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
104133         * lib/vasnprintf.c: Include math.h and float+.h.
104134         (mp_limb_t): New type.
104135         (GMP_LIMB_BITS): New macro.
104136         (mp_twolimb_t): New type.
104137         (GMP_TWOLIMB_BITS): New macro.
104138         (mpn_t): New type.
104139         (multiply, divide, convert_to_decimal, decode_long_double,
104140         scale10_round_long_double, scale10_round_decimal_long_double,
104141         floorlog10l): New functions.
104142         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
104143         for the %f, %F, %e, %E, %g, %G directives.
104144         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
104145         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104146         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
104147         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
104148         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104149         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104150         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104151         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104152         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104153         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104154         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104155         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
104156         * modules/snprintf-posix (Depends-on): Likewise.
104157         * modules/sprintf-posix (Depends-on): Likewise.
104158         * modules/vasnprintf-posix (Depends-on): Likewise.
104159         * modules/vasprintf-posix (Depends-on): Likewise.
104160         * modules/vfprintf-posix (Depends-on): Likewise.
104161         * modules/vsnprintf-posix (Depends-on): Likewise.
104162         * modules/vsprintf-posix (Depends-on): Likewise.
104163         * modules/vasnprintf (Files): Add lib/float+.h.
104164         * doc/functions/fprintf.texi: Update.
104165         * doc/functions/printf.texi: Update.
104166         * doc/functions/snprintf.texi: Update.
104167         * doc/functions/sprintf.texi: Update.
104168         * doc/functions/vfprintf.texi: Update.
104169         * doc/functions/vprintf.texi: Update.
104170         * doc/functions/vsnprintf.texi: Update.
104171         * doc/functions/vsprintf.texi: Update.
104173 2007-05-18  Bruno Haible  <bruno@clisp.org>
104175         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
104177 2007-05-18  Bruno Haible  <bruno@clisp.org>
104179         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
104180         for printing 64-bit integers. Needed for mingw.
104182 2007-05-18  Bruno Haible  <bruno@clisp.org>
104184         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104185         gl_FUNC_FREXPL_WORKS.
104186         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
104188 2007-05-18  Bruno Haible  <bruno@clisp.org>
104190         * modules/frexpl-nolibm-tests: New file.
104192         * modules/frexpl-nolibm: New file.
104193         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
104195 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
104197         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
104198         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104199         GCC 4.2, which otherwise issues a lot of warnings.
104200         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
104201         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
104202         Likewise.
104203         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
104204         * modules/iconv_open (iconv.h): Likewise.
104205         * modules/locale (locale.h): Likewise.
104206         * modules/netinet_in (netinet/in.h): Likewise.
104207         * modules/sys_select (sys_select.h): Likewise.
104208         * modules/sys_socket (sys/socket.h): Likewise.
104209         * modules/sys_stat (sys/stat.h): Likewise.
104210         * modules/sysexits (sysexits.h): Likewise.
104211         * modules/unistd (unistd.h): Likewise.
104213 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104215         * modules/closein-tests (Makefile.am): Distribute
104216         `test-closein.sh'.
104218 2007-05-17  Bruno Haible  <bruno@clisp.org>
104220         * tests/test-printf-posix.output: Renamed from
104221         tests/test-fprintf-posix.out.
104222         * modules/fprintf-posix-tests: Update.
104223         * modules/printf-posix-tests: Update.
104224         * modules/vfprintf-posix-tests: Update.
104225         * modules/vprintf-posix-tests: Update.
104226         * tests/test-fprintf-posix.sh: Update.
104227         * tests/test-printf-posix.sh: Update.
104228         * tests/test-vfprintf-posix.sh: Update.
104229         * tests/test-vprintf-posix.sh: Update.
104230         Reported by Ralf Wildenhues.
104232 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
104234         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
104235         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104236         GCC 4.2, which otherwise issues a lot of warnings.
104237         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
104238         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
104239         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
104240         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
104241         it should no longer be needed.
104242         * lib/string_.h: Likewise.
104243         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
104244         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
104245         * modules/inttypes (inttypes.h): Likewise.
104246         * modules/math (math.h): Likewise.
104247         * modules/search (search.h): Likewise.
104248         * modules/signal (signal.h): Likewise.
104249         * modules/stdint (stdint.h): Likewise.
104250         * modules/stdio (stdio.h): Likewise.
104251         * modules/stdlib (stdlib.h): Likewise.
104252         * modules/string (string.h): Likewise.
104253         * modules/sys_time (sys/time.h): Likewise.
104254         * modules/time (time.h): Likewise.
104255         * modules/wchar (wchar.h): Likewise.
104256         * modules/wctype (wtype.h): Likewise.
104258 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
104260         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
104262 2007-05-13  Bruno Haible  <bruno@clisp.org>
104264         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
104265         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
104266         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
104267         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
104268         (gl_PREREQ_STRTOK_R): Don't require it here.
104270 2007-05-13  Bruno Haible  <bruno@clisp.org>
104272         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
104273         when used in C++ mode.
104275 2007-05-12  Bruno Haible  <bruno@clisp.org>
104277         * lib/linebuffer.h: Tweak doc.
104278         * lib/linebuffer.c: Likewise.
104280 2007-05-12  James Youngman  <jay@gnu.org>
104282         * lib/linebuffer.c (readlinebuffer_delim): New function,
104283         like readlinebuffer, but use a caller-specified delimiter.
104284         (readlinebuffer): Just call readlinebuffer_delim with '\n'
104285         as the delimiter.
104286         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
104288 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
104290         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
104291         * modules/openat (Files): Remove openat-die.c.
104292         (Depends-on): Add openat-die.
104293         * modules/openat-die: New module.
104295 2007-05-06  Bruno Haible  <bruno@clisp.org>
104297         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
104298         Update with info about Cygwin.
104299         * doc/functions/fprintf.texi: Update.
104300         * doc/functions/printf.texi: Update.
104301         * doc/functions/snprintf.texi: Update.
104302         * doc/functions/sprintf.texi: Update.
104303         * doc/functions/vfprintf.texi: Update.
104304         * doc/functions/vprintf.texi: Update.
104305         * doc/functions/vsnprintf.texi: Update.
104306         * doc/functions/vsprintf.texi: Update.
104307         Reported by Eric Blake.
104309 2007-05-06  Bruno Haible  <bruno@clisp.org>
104311         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
104312         padding ourselves for the floating-point directives.
104313         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
104314         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
104315         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104316         gl_PRINTF_FLAG_ZERO and test its result. Invoke
104317         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
104318         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104319         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104322         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104323         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104324         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104325         * tests/test-snprintf-posix.h (test_function): Also check the width
104326         and some flags in the %f directive.
104327         * tests/test-sprintf-posix.h (test_function): Likewise.
104328         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104329         * tests/test-vasprintf-posix.c (test_function): Likewise.
104330         * doc/functions/fprintf.texi: Update.
104331         * doc/functions/printf.texi: Update.
104332         * doc/functions/snprintf.texi: Update.
104333         * doc/functions/sprintf.texi: Update.
104334         * doc/functions/vfprintf.texi: Update.
104335         * doc/functions/vprintf.texi: Update.
104336         * doc/functions/vsnprintf.texi: Update.
104337         * doc/functions/vsprintf.texi: Update.
104339 2007-05-06  Bruno Haible  <bruno@clisp.org>
104341         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
104342         pass the ' flag character to sprintf or snprintf.
104343         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
104344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
104345         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104346         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
104347         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
104348         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104349         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104350         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104351         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104352         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104353         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104354         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104355         * tests/test-snprintf-posix.h (test_function): Also check the grouping
104356         flag.
104357         * tests/test-sprintf-posix.h (test_function): Likewise.
104358         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104359         * tests/test-vasprintf-posix.c (test_function): Likewise.
104360         * doc/functions/fprintf.texi: Update.
104361         * doc/functions/printf.texi: Update.
104362         * doc/functions/snprintf.texi: Update.
104363         * doc/functions/sprintf.texi: Update.
104364         * doc/functions/vfprintf.texi: Update.
104365         * doc/functions/vprintf.texi: Update.
104366         * doc/functions/vsnprintf.texi: Update.
104367         * doc/functions/vsprintf.texi: Update.
104369 2007-05-01  Bruno Haible  <bruno@clisp.org>
104371         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
104373 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
104375         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
104376         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
104378 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
104380         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
104381         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
104382         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
104384 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
104386         * lib/argp-help.c (struct hol_entry): New member `ord'.
104387         (HOL_ENTRY_PTRCMP): Use ord for comparison
104388         (hol_sort): Initialize ord.
104390 2007-05-01  Bruno Haible  <bruno@clisp.org>
104392         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
104393         Reported by Eric Blake.
104394         * doc/gnulib.texi (Function Substitutes): Update.
104396 2007-05-01  Bruno Haible  <bruno@clisp.org>
104398         * doc/functions.texi: Remove file, now redundant through
104399         doc/functions/*.texi.
104401 2007-05-01  Bruno Haible  <bruno@clisp.org>
104403         * modules/argp (Depends-on): Add sleep.
104405 2007-05-01  Bruno Haible  <bruno@clisp.org>
104407         * modules/sleep-tests: New file.
104408         * tests/test-sleep.c: New file.
104410         * modules/sleep: New file.
104411         * lib/sleep.c: New file.
104412         * m4/sleep.m4: New file.
104413         * lib/unistd_.h (sleep): New declaration.
104414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
104415         HAVE_SLEEP.
104416         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
104417         * doc/functions/sleep.texi: Document the sleep module.
104419 2007-05-01  Bruno Haible  <bruno@clisp.org>
104421         * lib/sigprocmask.h: Remove file.
104422         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
104423         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
104424         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
104425         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
104426         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
104427         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
104428         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
104429         HAVE_SIGSET_T as a shell variable.
104430         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
104431         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
104432         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
104433         (Depends-on): Add signal. Remove verify.
104434         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
104435         (Include): Mention <signal.h> instead of sigprocmask.h.
104436         * NEWS: Mention the change.
104437         * lib/fatal-signal.c: Don't include sigprocmask.h.
104439 2007-05-01  Bruno Haible  <bruno@clisp.org>
104441         * modules/signal: New file.
104442         * lib/signal_.h: New file.
104443         * m4/signal_h.m4: New file.
104445 2007-05-01  Bruno Haible  <bruno@clisp.org>
104447         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
104448         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
104449         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
104450         HAVE_WCTYPE_CTMP_BUG into wctype.h.
104452 2007-05-01  Bruno Haible  <bruno@clisp.org>
104454         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
104455         configure time.
104456         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
104457         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
104458         * modules/sys_stat (Makefile.am): Substitute their values into
104459         sys/stat.h.
104461 2007-05-01  Bruno Haible  <bruno@clisp.org>
104463         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
104464         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
104465         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
104467 2007-05-01  Bruno Haible  <bruno@clisp.org>
104469         * doc/header/assert.texi: Undo last change: don't mention the gnulib
104470         'assert' module here.
104472 2007-05-01  Bruno Haible  <bruno@clisp.org>
104474         * doc/functions/*.texi: New files.
104475         * doc/functions/google-ranking.txt: New file.
104476         * doc/gnulib.texi (Function Substitutes): New chapter.
104477         (ctime, inet_ntoa): Remove sections.
104478         * doc/ctime.texi: Remove file.
104479         * doc/inet_ntoa.texi: Remove file.
104480         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
104481         dependencies.
104482         (%.info): New rule, specifying a --reference-limit.
104484 2007-05-01  Bruno Haible  <bruno@clisp.org>
104486         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
104488 2007-05-01  Bruno Haible  <bruno@clisp.org>
104490         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
104491         the portability of 'mkdir' to mingw systems.
104493 2007-05-01  Bruno Haible  <bruno@clisp.org>
104495         * doc/headers/google-ranking.txt: New file.
104497 2007-04-30  Eric Blake  <ebb9@byu.net>
104499         Prefer fseeko to fseek.
104500         * modules/getpass (Depends-on): Add fseeko.
104501         * lib/getpass.c (getpass): Use fseeko, not fseek.
104503 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
104505         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
104506         assumes the sorting is stable, while most qsort implementations
104507         are not.  Use argument addresses to ensure they never compare as
104508         equal.
104510         * tests/test-argp-2.sh (usage-indent test): Fix output
104511         (func_compare): Restore diff options
104512         * tests/test-argp.c: Restore #include "progname.h"
104514 2007-04-29  Bruno Haible  <bruno@clisp.org>
104516         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
104517         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104518         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
104519         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104520         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
104521         (configure.ac): Define CHECK_SNPRINTF_POSIX.
104522         (TESTS, check_PROGRAMS): Add test-snprintf.
104523         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
104524         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
104525         (TESTS, check_PROGRAMS): Add test-vsnprintf.
104526         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
104527         assertions that fail on HP-UX, OSF/1, or IRIX.
104528         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
104530 2007-04-29  Bruno Haible  <bruno@clisp.org>
104532         * MODULES.html.sh (posix_functions): Remove 'contents'.
104534 2007-04-29  Karl Berry  <karl@gnu.org>
104536         * config/srclist.txt (gendocs_template_min): new entry.
104538 2007-04-29  Bruno Haible  <bruno@clisp.org>
104540         Work around fpurge bug on BSD systems.
104541         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
104542         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
104543         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
104544         fpurge to rpl_fpurge if the system already has this function.
104545         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
104546         the case where the system already has this function. Correct invariants
104547         on BSD systems.
104548         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
104549         BSD systems.
104551 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
104553         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
104554         proposed by Sven Verdoolaege.
104556         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
104557         options.
104558         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
104559         (usage and help tests): Update
104561 2007-04-29  Bruno Haible  <bruno@clisp.org>
104563         * tests/test-fflush.c (main): Use a file of size 17, not 10.
104564         Print more information in case of failure. Disable a test on BeOS.
104566 2007-04-29  Bruno Haible  <bruno@clisp.org>
104568         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
104569         This helps debugging on systems on which no gdb is available.
104571 2007-04-29  Bruno Haible  <bruno@clisp.org>
104573         * lib/freading.h: Improve comments.
104574         * lib/fwriting.h: Likewise.
104575         * tests/test-freading.c (main): Don't check freading immediately after
104576         repositioning. Needed for glibc.
104578 2007-04-29  Bruno Haible  <bruno@clisp.org>
104580         * lib/freading.c (freading): Trivial simplification.
104582 2007-04-28  Bruno Haible  <bruno@clisp.org>
104584         * tests/test-fwriting.c (main): Also test the interaction between
104585         fflush and fwriting.
104586         * modules/fwriting-tests (Depends-on): Add fflush.
104588         * tests/test-freading.c (main): Also test the interaction between
104589         fflush and freading.
104590         * modules/freading-tests (Depends-on): Add fflush.
104592 2007-04-28  Bruno Haible  <bruno@clisp.org>
104594         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
104595         fseeko and ftello.
104596         Suggested by Eric Blake.
104598 2007-04-28  Jim Meyering  <jim@meyering.net>
104600         Avoid false-negative in gl_STDINT_H's C99 conformance test.
104601         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
104602         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
104604 2007-04-27  Eric Blake  <ebb9@byu.net>
104606         * doc/headers/assert.texi (assert.h): Document assert module use.
104608 2007-04-27  Bruno Haible  <bruno@clisp.org>
104610         * doc/headers/*.texi: New files.
104611         * doc/gnulib.texi (Header File Substitutes): New chapter.
104612         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
104613         dependencies.
104614         (standards.info ,standards.html, standards.dvi): Update dependencies.
104615         (mostlyclean, clean): New targets.
104617 2007-04-27  Bruno Haible  <bruno@clisp.org>
104619         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
104620         * modules/sysexits (Files, Makefile.am): Update.
104622         * lib/sys_socket_.h: Renamed from lib/socket_.h.
104623         * modules/sys_socket (Files, Makefile.am): Update.
104625         * lib/sys_stat_.h: Renamed from lib/stat_.h.
104626         * modules/sys_stat (Files, Makefile.am): Update.
104628 2007-04-27  Eric Blake  <ebb9@byu.net>
104630         * lib/freading.h: Improve comments.
104631         * lib/fwriting.h: Likewise.
104632         * lib/fflush.c: Likewise.
104634         Fix closein for mingw.
104635         * modules/closein-tests: Add tests for closein.
104636         * tests/test-closein.c: New file.
104637         * tests/test-closein.sh: Likewise.
104638         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
104639         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
104641 2007-04-27  Bruno Haible  <bruno@clisp.org>
104643         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
104644         version is < 6.
104645         * lib/math_.h [__DECC]: Likewise.
104646         * lib/stdio_.h [__DECC]: Likewise.
104647         * lib/stdlib_.h [__DECC]: Likewise.
104648         * lib/string_.h [__DECC]: Likewise.
104649         * lib/time_.h [__DECC]: Likewise.
104650         * lib/wchar_.h [__DECC]: Likewise.
104651         * lib/wctype_.h [__DECC]: Likewise.
104653 2007-04-27  Bruno Haible  <bruno@clisp.org>
104655         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
104657 2007-04-27  Bruno Haible  <bruno@clisp.org>
104659         * lib/fflush.c: Add comments.
104660         * modules/fpurge-tests (Depends-on): Add fflush.
104661         * modules/freadable-tests (Depends-on): Likewise.
104662         * modules/fwritable-tests (Depends-on): Likewise.
104664 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
104666         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
104667         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
104668         Report by Bruno Haible <bruno@clisp.org>.
104670 2007-04-26  Eric Blake  <ebb9@byu.net>
104672         Fix fflush on mingw.
104673         * modules/fflush (Depends-on): Add freading.
104674         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
104675         but unread data.
104677 2007-04-26  Eric Blake  <ebb9@byu.net>
104678         and Bruno Haible  <bruno@clisp.org>
104680         Implement freading and fwriting.
104681         * lib/freading.c: New file.
104682         * lib/freading.h: Likewise.
104683         * m4/freading.m4: Likewise.
104684         * modules/freading: Likewise.
104685         * modules/freading-tests: Likewise.
104686         * tests/test-freading.c: Likewise.
104687         * lib/fwriting.c: New file.
104688         * lib/fwriting.h: Likewise.
104689         * m4/fwriting.m4: Likewise.
104690         * modules/fwriting: Likewise.
104691         * modules/fwriting-tests: Likewise.
104692         * tests/test-fwriting.c: Likewise.
104693         * MODULES.html.sh (File stream based Input/Output): Mention them.
104695 2007-04-26  Bruno Haible  <bruno@clisp.org>
104697         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
104698         'long' when we assume it.
104699         Suggested by Eric Blake.
104701 2007-04-26  Bruno Haible  <bruno@clisp.org>
104703         Ensure fseeko, ftello are declared on glibc systems.
104704         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
104705         * modules/fseeko (configure.ac-early): Likewise.
104706         * modules/ftello (configure.ac-early): Likewise.
104707         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
104708         AC_FUNC_FSEEKO for this.
104709         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
104710         (gl_CHECK_FSEEKO): Remove macro.
104712 2007-04-26  Bruno Haible  <bruno@clisp.org>
104714         * tests/test-fflush.c (main): Also check the ftell result after
104715         fflush and fseek/fseeko.
104716         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
104717         file descriptor position cache in the stream.
104718         * lib/fseeko.c (rpl_fseeko): Likewise.
104720 2007-04-26  Bruno Haible  <bruno@clisp.org>
104722         * modules/fflush-tests (Depends-on): Add fseeko.
104724 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
104725             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104727         * lib/argz_.h: ensure error_t definition is obtained in same
104728         mechanism system argz.h would have.
104729         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
104730         argz facilities are known bad.  Err on the side of caution if
104731         cross-compiling.
104733 2007-04-25  Eric Blake  <ebb9@byu.net>
104735         * lib/fpurge.c (includes): Use stdlib.h for free.
104736         * tests/test-fflush.c (main): Also test fflush-fseeko.
104738 2007-04-25  Bruno Haible  <bruno@clisp.org>
104740         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
104741         * lib/fseeko.c: New file.
104742         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
104743         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
104744         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
104745         gl_FUNC_FSEEKO.
104746         (gl_FUNC_FSEEKO): Invoke it.
104747         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
104748         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
104749         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
104751 2007-04-25  Bruno Haible  <bruno@clisp.org>
104753         * modules/fflush (Depends-on): Add ftello.
104755 2007-04-25  Bruno Haible  <bruno@clisp.org>
104757         * modules/ftello-tests: New file.
104758         * tests/test-ftello.c: New file.
104760         * modules/ftello: New file.
104761         * m4/ftello.m4: New file.
104762         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
104763         HAVE_FTELLO.
104764         * lib/stdio_.h (ftello): New declaration.
104765         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
104766         HAVE_FTELLO.
104768 2007-04-25  Bruno Haible  <bruno@clisp.org>
104770         * modules/fseeko-tests: New file.
104771         * tests/test-fseeko.c: New file.
104773         * modules/fseeko: New file.
104774         * m4/fseeko.m4: New file.
104775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
104776         HAVE_FSEEKO.
104777         * lib/stdio_.h (fseeko): New declaration.
104778         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
104779         HAVE_FSEEKO.
104781 2007-04-25  Bruno Haible  <bruno@clisp.org>
104783         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
104785 2007-04-25  Bruno Haible  <bruno@clisp.org>
104787         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
104788         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
104789         * tests/test-unistd.c: Likewise.
104790         * tests/test-fcntl.c: Likewise.
104792 2007-04-23  Eric Blake  <ebb9@byu.net>
104794         * lib/fflush.c: Fix missing include.
104795         Reported by Bruno Haible.
104797 2007-04-23  Bruno Haible  <bruno@clisp.org>
104799         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
104800         Reported by Eric Blake.
104802 2007-04-23  Bruno Haible  <bruno@clisp.org>
104804         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
104806 2007-04-23  Bruno Haible  <bruno@clisp.org>
104808         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
104810 2007-04-23  Bruno Haible  <bruno@clisp.org>
104812         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
104813         Needed on HP-UX 11.
104815 2007-04-16  Eric Blake  <ebb9@byu.net>
104817         Make fflush rely on fpurge.
104818         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
104819         open coding all variants.
104820         * modules/fflush (Depends-on): Add fpurge and unistd.
104821         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
104822         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
104824         Fix --with-tests compilation on cygwin.
104825         * modules/argmatch-tests (Makefile.am): List gnulib library first
104826         in LDADD.
104827         * modules/argp-tests (Makefile.am): Likewise.
104828         * modules/array-list-tests (Makefile.am): Likewise.
104829         * modules/array-oset-tests (Makefile.am): Likewise.
104830         * modules/avltree-list-tests (Makefile.am): Likewise.
104831         * modules/avltree-oset-tests (Makefile.am): Likewise.
104832         * modules/avltreehash-list-tests (Makefile.am): Likewise.
104833         * modules/carray-list-tests (Makefile.am): Likewise.
104834         * modules/dirname-tests (Makefile.am): Likewise.
104835         * modules/frexp-tests (Makefile.am): Likewise.
104836         * modules/isnanl-tests (Makefile.am): Likewise.
104837         * modules/linked-list-tests (Makefile.am): Likewise.
104838         * modules/linkedhash-list-tests (Makefile.am): Likewise.
104839         * modules/lock-tests (Makefile.am): Likewise.
104840         * modules/rbtree-list-tests (Makefile.am): Likewise.
104841         * modules/rbtree-oset-tests (Makefile.am): Likewise.
104842         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
104843         * modules/tls-tests (Makefile.am): Likewise.
104844         * modules/tsearch-tests (Makefile.am): Likewise.
104845         * modules/xvasprintf-tests (Makefile.am): Likewise.
104847         Fix fpurge for cygwin.
104848         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
104849         value.
104850         * modules/fpurge-tests (Depends-on): Clean up trash.
104852 2007-04-16  Simon Josefsson  <simon@josefsson.org>
104854         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
104856         * m4/autobuild.m4: Re-indent.
104858 2007-04-13  Bruno Haible  <bruno@clisp.org>
104860         * modules/fpurge-tests: New file.
104861         * tests/test-fpurge.c: New file.
104863         * modules/fpurge: New file.
104864         * lib/fpurge.h: New file.
104865         * lib/fpurge.c: New file.
104866         * m4/fpurge.m4: New file.
104868 2007-04-13  Bruno Haible  <bruno@clisp.org>
104870         * modules/fbufmode-tests: New file.
104871         * tests/test-fbufmode.c: New file.
104873         * modules/fbufmode: New file.
104874         * lib/fbufmode.h: New file.
104875         * lib/fbufmode.c: New file.
104876         * m4/fbufmode.m4: New file.
104878 2007-04-13  Bruno Haible  <bruno@clisp.org>
104880         * modules/fwritable-tests: New file.
104881         * tests/test-fwritable.c: New file.
104883         * modules/fwritable: New file.
104884         * lib/fwritable.h: New file.
104885         * lib/fwritable.c: New file.
104886         * m4/fwritable.m4: New file.
104888 2007-04-13  Bruno Haible  <bruno@clisp.org>
104890         * modules/freadable-tests: New file.
104891         * tests/test-freadable.c: New file.
104893         * modules/freadable: New file.
104894         * lib/freadable.h: New file.
104895         * lib/freadable.c: New file.
104896         * m4/freadable.m4: New file.
104898 2007-04-13  Bruno Haible  <bruno@clisp.org>
104900         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
104901         MOSTLYCLEANFILES.
104903 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
104905         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
104906         gzip bootstrap.conf to avoid dragging in i18n machinery.
104907         (gnulib_tool_option): Use it.
104909 2007-04-13  Bruno Haible  <bruno@clisp.org>
104911         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
104912         %F directives.
104913         * tests/test-vasprintf-posix.c (test_function): Likewise.
104914         * tests/test-snprintf-posix.h (test_function): Likewise.
104915         * tests/test-sprintf-posix.h (test_function): Likewise.
104916         * tests/test-fprintf-posix.h (test_function): Likewise.
104917         * tests/test-printf-posix.h (test_function): Likewise.
104918         * tests/test-fprintf-posix.out: Likewise.
104920 2007-04-13  Bruno Haible  <bruno@clisp.org>
104922         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
104923         * modules/tls-tests (configure.ac): Likewise.
104924         Reported by Arto C. Nirkko <anirkko@insel.ch>.
104926 2007-04-13  Bruno Haible  <bruno@clisp.org>
104928         * lib/tls.c (glthread_tls_get): Fix return type.
104929         Patch by Arto C. Nirkko <anirkko@insel.ch>.
104931 2007-04-12  Eric Blake  <ebb9@byu.net>
104933         * modules/gettime (Depends-on): Remove gettime.
104934         Reported by Dmitry V. Levin.
104936 2007-04-12  Bruno Haible  <bruno@clisp.org>
104938         * modules/fflush (Include): Mention <stdio.h>.
104939         * modules/strtoimax (Include): Mention <inttypes.h>.
104940         * modules/strtoumax (Include): Likewise.
104942 2007-04-12  Eric Blake  <ebb9@byu.net>
104944         * .cvsignore: New file.
104945         * .gitignore: Likewise.
104947 2007-04-12  Bruno Haible  <bruno@clisp.org>
104949         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
104950         not before, since $(LDADD) often contains libgnu.a.
104951         * modules/striconv-tests (test_striconv_LDADD): Likewise.
104952         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
104953         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
104954         Needed on Cygwin.
104956 2007-04-12  Eric Blake  <ebb9@byu.net>
104958         Work around glibc's failure to flush stdin on fclose.
104959         * lib/closein.c (close_stdin): Flush stdin before closing.
104961         Work around glibc's failure to reset seekable stdin on exit.
104962         * modules/closein: New module.
104963         * lib/closein.c: New file.
104964         * lib/closein.h: Likewise.
104965         * m4/closein.m4: Likewise.
104966         * MODULES.html.sh (File stream based Input/Output): Document it.
104968 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104970         * gnulib-tool: Rename generated 'autobuild' script to
104971         'do-autobuild' in --create-megatestdir output.
104973         * doc/gnulib.texi (Build robot for gnulib): Fix.
104975 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104977         * modules/sysexits (Depends-on): Add absolute-header.
104979 2007-04-12  Eric Blake  <ebb9@byu.net>
104981         No need to preserve errno on success.
104982         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
104983         Reported by Bruno Haible.
104985 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104987         * MODULES.html.sh (Support for maintaining and releasing
104988         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
104990 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104992         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
104994 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104996         * modules/autobuild: New module.
104998         * m4/autobuild.m4: New file.
105000 2007-04-11  Bruno Haible  <bruno@clisp.org>
105002         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
105003         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
105004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
105005         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
105006         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105007         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105008         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105009         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105010         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105011         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105012         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
105013         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105014         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105015         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
105016         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105017         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105018         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
105019         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105020         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
105022         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105023         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105024         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
105025         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105026         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105027         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
105028         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105029         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105030         Reported by Eric Blake.
105032 2007-04-11  Bruno Haible  <bruno@clisp.org>
105034         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
105036 2007-04-10  Bruno Haible  <bruno@clisp.org>
105038         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
105039         for NaN and Infinity. Needed on FreeBSD 6.1.
105040         * tests/test-vasnprintf-posix.c (test_function): Undo last change
105041         regarding results for "%010a" of Infinity and NaN.
105042         * tests/test-vasprintf-posix.c (test_function): Likewise.
105043         * tests/test-snprintf-posix.h (test_function): Likewise.
105044         * tests/test-sprintf-posix.h (test_function): Likewise.
105045         * tests/test-fprintf-posix.h (test_function): Likewise.
105046         * tests/test-printf-posix.h (test_function): Likewise.
105047         * tests/test-fprintf-posix.out: Likewise.
105049 2007-04-10  Bruno Haible  <bruno@clisp.org>
105051         * modules/locale-tests: New file.
105052         * tests/test-locale.c: New file.
105054         * modules/locale: New file.
105055         * lib/locale_.h: New file.
105056         * m4/locale_h.m4: New file.
105058 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
105059             Bruno Haible  <bruno@clisp.org>
105061         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
105062         be determined, test for availability of the copysignf, copysign,
105063         copysignl functions.
105064         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
105065         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
105066         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
105068 2007-04-09  Eric Blake  <ebb9@byu.net>
105070         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
105071         * modules/stdio (Makefile.am): Support fflush.
105072         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
105073         * modules/fflush: New file.
105074         * lib/fflush.c: Likewise.
105075         * m4/fflush.m4: Likewise.
105076         * modules/fflush-tests: New test.
105077         * tests/test-fflush.c: Likewise.
105078         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
105080 2007-04-06  Bruno Haible  <bruno@clisp.org>
105082         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
105083         (VASNPRINTF): Use signbit for faster determination whether to print a
105084         minus sign.
105085         * modules/vasnprintf (Files): Remove lib/float+.h.
105086         * modules/fprintf-posix (Depends-on): Add signbit.
105087         * modules/snprintf-posix (Depends-on): Likewise.
105088         * modules/sprintf-posix (Depends-on): Likewise.
105089         * modules/vasnprintf-posix (Depends-on): Likewise.
105090         * modules/vasprintf-posix (Depends-on): Likewise.
105091         * modules/vfprintf-posix (Depends-on): Likewise.
105092         * modules/vsnprintf-posix (Depends-on): Likewise.
105093         * modules/vsprintf-posix (Depends-on): Likewise.
105095 2007-04-06  Bruno Haible  <bruno@clisp.org>
105097         * tests/test-frexp.c (main): Test also the sign bit of zero results.
105098         * tests/test-frexpl.c (main): Likewise.
105099         * tests/test-ldexpl.c (main): Likewise.
105100         * modules/frexp-tests (Depends-on): Add signbit.
105101         * modules/frexpl-tests (Depdends-on): Likewise.
105102         * modules/ldexpl-tests (Depdends-on): Likewise.
105104 2007-04-06  Bruno Haible  <bruno@clisp.org>
105106         * modules/signbit-tests: New file.
105107         * tests/test-signbit.c: New file.
105109         * modules/signbit: New file.
105110         * lib/signbitf.c: New file.
105111         * lib/signbitd.c: New file.
105112         * lib/signbitl.c: New file.
105113         * m4/signbit.m4: New file.
105114         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
105115         (signbit): New macro.
105116         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
105117         REPLACE_SIGNBIT.
105118         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
105119         REPLACE_FREXPL into math.h.
105121 2007-04-06  Bruno Haible  <bruno@clisp.org>
105123         * modules/isnanf-nolibm-tests: New file.
105124         * tests/test-isnanf.c: New file.
105126         * modules/isnanf-nolibm: New file.
105127         * lib/isnanf.h: New file.
105128         * lib/isnanf.c: New file.
105129         * lib/isnan.c: Consider the USE_FLOAT macro.
105130         * m4/isnanf.m4: New file.
105132 2007-04-06  Bruno Haible  <bruno@clisp.org>
105134         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
105135         (Link): New section.
105137         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
105139 2007-04-06  Bruno Haible  <bruno@clisp.org>
105141         Assume the 'long double' type.
105142         * m4/longdouble.m4: Remove file.
105143         * config/srclist.txt: Don't mention longdouble.m4.
105144         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
105145         * lib/float+.h: Likewise.
105146         * lib/frexp.c: Likewise.
105147         * lib/printf-args.h: Likewise.
105148         * lib/printf-args.c: Likewise.
105149         * lib/printf-frexp.c: Likewise.
105150         * lib/printf-parse.c: Likewise.
105151         * lib/vasnprintf.c: Likewise.
105152         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
105153         * m4/intl.m4: Likewise.
105154         * m4/isnanl.m4: Likewise.
105155         * m4/printf.m4: Likewise.
105156         * m4/printf-frexpl.m4: Likewise.
105157         * m4/vasnprintf.m4: Likewise.
105158         * modules/allocsa (Files): Remove m4/longdouble.m4.
105159         * modules/gettext (Files): Likewise.
105160         * modules/relocatable-prog-wrapper (Files): Likewise.
105161         * modules/vasnprintf (Files): Likewise.
105162         * modules/isnanl (Files): Likewise.
105163         (Include): Simplify.
105164         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
105165         (Include): Simplify.
105166         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
105167         (Include): Simplify.
105168         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
105169         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105170         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
105171         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105172         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105173         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105174         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
105175         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105176         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105177         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105178         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
105179         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105180         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
105181         * tests/test-isnanl.c: Likewise.
105182         * tests/test-snprintf-posix.h: Likewise.
105183         * tests/test-sprintf-posix.h: Likewise.
105184         * tests/test-vasnprintf-posix.c: Likewise.
105185         * tests/test-vasnprintf-posix2.c: Likewise.
105186         * tests/test-vasprintf-posix.c: Likewise.
105188 2007-04-06  Bruno Haible  <bruno@clisp.org>
105190         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
105191         * lib/math_.h [__DECC]: Include the overridden include file through
105192         #include_next, outside the double-inclusion guard.
105193         * lib/stdio_.h [__DECC]: Likewise.
105194         * lib/stdlib_.h [__DECC]: Likewise.
105195         * lib/string_.h [__DECC]: Likewise.
105196         * lib/time_.h [__DECC]: Likewise.
105197         * lib/wchar_.h [__DECC]: Likewise.
105198         * lib/wctype_.h [__DECC]: Likewise.
105199         * lib/inttypes_.h [__DECC]: Likewise.
105200         Reported by Albert Chin <china@thewrittenword.com> in
105201         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
105203 2007-04-04  Eric Blake  <ebb9@byu.net>
105205         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
105206         1.5.x.
105208 2007-04-04  Bruno Haible  <bruno@clisp.org>
105210         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
105211         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
105213 2007-04-04  Bruno Haible  <bruno@clisp.org>
105215         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
105216         results for "%010a" of Infinity and NaN.
105217         * tests/test-vasprintf-posix.c (test_function): Likewise.
105218         * tests/test-snprintf-posix.h (test_function): Likewise.
105219         * tests/test-sprintf-posix.h (test_function): Likewise.
105220         * tests/test-fprintf-posix.h (test_function): Remove these tests.
105221         * tests/test-printf-posix.h (test_function): Likewise.
105222         * tests/test-fprintf-posix.out: Update.
105223         Needed for FreeBSD 6.1.
105225 2007-04-04  Bruno Haible  <bruno@clisp.org>
105227         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
105228         directly used by the gnulib modules nor by gnulib-tool.
105230 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105232         * DEPENDENCIES: Give overall description of version dependency
105233         desirability.  Use more-typical names for apps.
105234         Add shell, coreutils, diffutils, grep, tar, gzip.
105236 2007-04-04  Simon Josefsson  <simon@josefsson.org>
105238         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
105240 2007-04-04  Karl Berry  <karl@gnu.org>
105242         * MODULES.html.sh (func_module): missing '.
105244 2007-04-03  Bruno Haible  <bruno@clisp.org>
105246         * modules/argmatch-tests (Makefile.am): New variable
105247         test_argmatch_LDADD.
105248         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
105249         * modules/array-list-tests (Makefile.am): New variable
105250         test_array_list_LDADD.
105251         * modules/array-oset-tests (Makefile.am): New variable
105252         test_array_oset_LDADD.
105253         * modules/avltree-list-tests (Makefile.am): New variable
105254         test_avltree_list_LDADD.
105255         * modules/avltree-oset-tests (Makefile.am): New variable
105256         test_avltree_oset_LDADD.
105257         * modules/avltreehash-list-tests (Makefile.am): New variable
105258         test_avltreehash_list_LDADD.
105259         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
105260         test_canonicalize_lgpl_LDADD.
105261         * modules/carray-list-tests (Makefile.am): New variable
105262         test_carray_list_LDADD.
105263         * modules/dirname-tests (Makefile.am): New variable
105264         test_dirname_LDADD.
105265         * modules/linked-list-tests (Makefile.am): New variable
105266         test_linked_list_LDADD.
105267         * modules/linkedhash-list-tests (Makefile.am): New variable
105268         test_linkedhash_list_LDADD.
105269         * modules/rbtree-list-tests (Makefile.am): New variable
105270         test_rbtree_list_LDADD.
105271         * modules/rbtree-oset-tests (Makefile.am): New variable
105272         test_rbtree_oset_LDADD.
105273         * modules/rbtreehash-list-tests (Makefile.am): New variable
105274         test_rbtreehash_list_LDADD.
105275         * modules/xvasprintf-tests (Makefile.am): New variable
105276         test_xvasprintf_LDADD.
105277         Reported by Eric Blake.
105279 2007-04-03  Eric Blake  <ebb9@byu.net>
105281         * DEPENDENCIES: Weaken m4 requirements.
105283 2007-04-03  Bruno Haible  <bruno@clisp.org>
105285         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
105286         * modules/isnanl-tests (configure.ac): Likewise.
105288 2007-04-03  Ben Pfaff  <blp@gnu.org>
105290         * modules/iconv_open: Add $(srcdir)/ to source directory
105291         references in Makefile fragments that call gperf, to fix VPATH
105292         builds.
105294 2007-04-03  Bruno Haible  <bruno@clisp.org>
105296         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
105297         * lib/ldexpl.c: Undo last change.
105299 2007-04-03  Bruno Haible  <bruno@clisp.org>
105301         * modules/printf-frexpl (Depends-on): Undo last change.
105302         (Files): Add m4/ldexpl.m4.
105304 2007-04-03  Bruno Haible  <bruno@clisp.org>
105306         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
105307         * modules/isnanl (Link): New section.
105309         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
105310         * modules/frexp (Link): New section.
105312         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
105313         * modules/frexpl (Link): New section.
105315         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
105316         * modules/ldexpl (Link): New section.
105318 2007-04-03  Bruno Haible  <bruno@clisp.org>
105320         * modules/TEMPLATE-EXTENDED: New file.
105321         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
105323 2007-04-03  Bruno Haible  <bruno@clisp.org>
105325         * DEPENDENCIES: New file.
105326         Suggested by Simon Josefsson.
105328 2007-04-03  Bruno Haible  <bruno@clisp.org>
105330         * doc/gnulib.texi: Escape @.
105332 2007-04-03  James Youngman  <jay@gnu.org>
105333         and Paul Eggert  <eggert@cs.ucla.edu>
105335         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
105336         birthtime on all systems that have birthtime, not just those which
105337         use st_birthtimensec rather than st_birthtim.  Putting zero in
105338         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
105339         that the birth time is not available for files on an NFS mount.
105341 2007-04-03  Simon Josefsson  <simon@josefsson.org>
105343         * modules/memxor: Move back from crypto/, suggested by Bruno.
105344         * modules/crypto/hmac-sha1: Fix memxor dependency.
105346         * modules/crypto/gc: Moved from ../.
105348 2007-04-02  Eric Blake  <ebb9@byu.net>
105350         * lib/ldexpl.c (includes): Avoid libm.
105352         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
105354 2007-04-02  Bruno Haible  <bruno@clisp.org>
105356         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
105357         on IRIX.
105359 2007-04-02  Bruno Haible  <bruno@clisp.org>
105361         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
105362         x86 or x86_64 platforms running MacOS X.
105363         Reported by Ryan Schmidt <@ryandesign.com>.
105365 2007-04-02  Bruno Haible  <bruno@clisp.org>
105367         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
105368         i386.
105370 2007-04-01  Simon Josefsson  <simon@josefsson.org>
105372         * modules/crypto/arcfour: Moved from ../.
105373         * modules/crypto/arcfour-tests: Moved from ../.
105374         * modules/crypto/arctwo: Moved from ../.
105375         * modules/crypto/arctwo-tests: Moved from ../.
105376         * modules/crypto/des: Moved from ../.
105377         * modules/crypto/des-tests: Moved from ../.
105378         * modules/crypto/gc-arcfour: Moved from ../.
105379         * modules/crypto/gc-arcfour-tests: Moved from ../.
105380         * modules/crypto/gc-arctwo: Moved from ../.
105381         * modules/crypto/gc-arctwo-tests: Moved from ../.
105382         * modules/crypto/gc-des: Moved from ../.
105383         * modules/crypto/gc-des-tests: Moved from ../.
105384         * modules/crypto/gc-hmac-md5: Moved from ../.
105385         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
105386         * modules/crypto/gc-hmac-sha1: Moved from ../.
105387         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
105388         * modules/crypto/gc-md2: Moved from ../.
105389         * modules/crypto/gc-md2-tests: Moved from ../.
105390         * modules/crypto/gc-md4: Moved from ../.
105391         * modules/crypto/gc-md4-tests: Moved from ../.
105392         * modules/crypto/gc-md5: Moved from ../.
105393         * modules/crypto/gc-md5-tests: Moved from ../.
105394         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
105395         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
105396         * modules/crypto/gc-random: Moved from ../.
105397         * modules/crypto/gc-rijndael: Moved from ../.
105398         * modules/crypto/gc-rijndael-tests: Moved from ../.
105399         * modules/crypto/gc-sha1: Moved from ../.
105400         * modules/crypto/gc-sha1-tests: Moved from ../.
105401         * modules/crypto/gc-tests: Moved from ../.
105402         * modules/crypto/hmac-md5: Moved from ../.
105403         * modules/crypto/hmac-md5-tests: Moved from ../.
105404         * modules/crypto/hmac-sha1: Moved from ../.
105405         * modules/crypto/hmac-sha1-tests: Moved from ../.
105406         * modules/crypto/md2: Moved from ../.
105407         * modules/crypto/md2-tests: Moved from ../.
105408         * modules/crypto/md4: Moved from ../.
105409         * modules/crypto/md4-tests: Moved from ../.
105410         * modules/crypto/md5: Moved from ../.
105411         * modules/crypto/md5-tests: Moved from ../.
105412         * modules/crypto/memxor: Moved from ../.
105413         * modules/crypto/rijndael: Moved from ../.
105414         * modules/crypto/rijndael-tests: Moved from ../.
105415         * modules/crypto/sha1: Moved from ../.
105417 2007-03-30  James Youngman  <jay@gnu.org>
105419         * tests/test-stat-time.c (prepare_test): use chmod() rather than
105420         rename() to change the ctime of a file (because ctime is unaffected
105421         by rename on jfs2 on AIX 5.1).
105422         (main): Start by doing cleanup, in case a previous run failed leaving
105423         test files behind.
105425 2007-03-31  Bruno Haible  <bruno@clisp.org>
105427         Support old proprietary implementations of iconv.
105428         * modules/iconv_open: New file.
105429         * lib/iconv_.h: New file.
105430         * m4/iconv_h.m4: New file.
105431         * lib/iconv_open.c: New file.
105432         * lib/iconv_open-aix.gperf: New file.
105433         * lib/iconv_open-hpux.gperf: New file.
105434         * lib/iconv_open-irix.gperf: New file.
105435         * lib/iconv_open-osf.gperf: New file.
105436         * m4/iconv_open.m4: New file.
105437         * modules/linebreak (Depends-on): Add iconv_open.
105438         * modules/striconv (Depends-on): Likewise.
105439         * modules/striconveh (Depends-on): Likewise.
105440         * modules/unicodeio (Depends-on): Likewise.
105441         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
105442         (iconv_t)(-1).
105443         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
105444         conversion if cd is (iconv_t)(-1).
105445         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
105446         is not possible.
105448 2007-03-31  Bruno Haible  <bruno@clisp.org>
105450         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105451         work on Solaris either. Protect also second use of "autodetect_jp".
105453 2007-03-31  Bruno Haible  <bruno@clisp.org>
105455         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
105456         the function is not present.
105458 2007-03-31  Bruno Haible  <bruno@clisp.org>
105460         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
105461         the function is not present.
105463 2007-03-31  Bruno Haible  <bruno@clisp.org>
105465         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
105466         a bug in HP-UX iconv_open().
105468 2007-03-31  Bruno Haible  <bruno@clisp.org>
105470         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
105471         (Mathematics <math.h>): New section, add fpieee.
105472         (Input/output <stdio.h>): Add fseterr.
105473         (Mathematics <math.h>): New section, add printf-frexp.
105474         (Container data structures): Add sublist.
105475         (Core language properties): Add fpucw, inline.
105476         (Functions for greatest-width integer types <inttypes.h>): Add
105477         imaxabs, imaxdiv, inttypes.
105478         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
105479         isnanl-nolibm, ldexp.
105480         (Mathematics <math.h>): New section, add printf-frexpl.
105481         (Support for systems lacking POSIX:2001): Add fprintf-posix,
105482         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
105483         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
105484         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
105485         (Unicode string functions): Add unistr/u*-mbtoucr.
105486         (Java): Add javacomp-script, javaexec-script.
105487         (C#): Add csharpcomp-script, csharpexec-script.
105488         (Support for building libraries and executables): Add havelib,
105489         relocatable-*.
105490         (Support for maintaining and releasing projects): Renamed from
105491         'Support for maintaining and release projects'. Add announce-gen.
105493 2007-03-31  Bruno Haible  <bruno@clisp.org>
105495         * README: Talk primarily about git.
105496         (git and CVS): Renamed from CVS.
105497         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
105498         gnulib is available through git.
105499         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
105501 2007-03-30  Bruno Haible  <bruno@clisp.org>
105503         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
105504         * lib/poll_.h: Likewise.
105505         * lib/stat_.h: Likewise.
105506         * lib/sys_time_.h: Likewise.
105507         * lib/sysexit_.h: Likewise.
105508         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
105509         * lib/stdbool_.h: Likewise.
105510         * lib/byteswap_.h: Add double-inclusion guard.
105512 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
105514         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
105516 2007-03-30  Karl Berry  <karl@gnu.org>
105518         * config/srclist-update: double space after USA in the license
105519         substitution, since that's how it's usually (?) written.
105521 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
105523         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
105524         reported by Bruno Haible.
105526 2007-03-29  Bruno Haible  <bruno@clisp.org>
105528         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
105529         a bug in AIX iconv().
105531 2007-03-29  Bruno Haible  <bruno@clisp.org>
105533         * modules/ldexpl-tests: New file.
105534         * tests/test-ldexpl.c: New file.
105536 2007-03-29  Bruno Haible  <bruno@clisp.org>
105538         * lib/ldexpl.c: Include fpucw.h.
105539         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
105540         multiplication.
105541         * modules/ldexpl (Depends-on): Add fpucw.
105543 2007-03-29  Bruno Haible  <bruno@clisp.org>
105545         * modules/ldexpl: New file.
105546         * m4/ldexpl.m4: New file.
105547         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
105548         set.
105549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
105550         REPLACE_LDEXPL.
105551         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
105552         REPLACE_LDEXPL.
105553         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105554         gl_FUNC_LDEXPL_WORKS.
105555         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
105556         * modules/mathl (Files): Remove lib/ldexpl.c.
105557         (Depends-on): Add ldexpl.
105559 2007-03-29  Bruno Haible  <bruno@clisp.org>
105561         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
105563 2007-03-29  Bruno Haible  <bruno@clisp.org>
105565         * tests/test-striconveh.c (main): Don't assume that a direct conversion
105566         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
105567         and possibly also HP-UX.
105568         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105569         work on AIX, IRIX, HP-UX, OSF/1.
105570         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
105571         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
105572         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
105573         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
105574         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
105575         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
105577 2007-03-29  Bruno Haible  <bruno@clisp.org>
105579         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
105581 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105583         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
105584         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
105586 2007-03-29  Eric Blake  <ebb9@byu.net>
105588         * lib/acl-internal.h: Remove redundant include.
105589         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
105590         Cygwin when a file is locked.
105592 2007-03-29  Bruno Haible  <bruno@clisp.org>
105594         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
105595         file.
105596         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
105598 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105600         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
105601         try to remove a parent directory if the child couldn't be removed
105602         (except for the first rmdir, which could fail because the child
105603         doesn't exist).  Problem reported by Jeff Blaine in
105604         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
105606 2007-03-28  Bruno Haible  <bruno@clisp.org>
105608         * lib/striconveh.c (utf8conv_carefully): New function.
105609         (mem_cd_iconveh_internal): Invoke it.
105611 2007-03-28  Bruno Haible  <bruno@clisp.org>
105613         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
105614         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
105615         input.
105616         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
105617         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
105618         unistr/u8-uctomb.
105620 2007-03-28  Bruno Haible  <bruno@clisp.org>
105622         * modules/unistr/u8-mbtoucr: New file.
105623         * lib/unistr/u8-mbtoucr.c: New file.
105624         * modules/unistr/u16-mbtoucr: New file.
105625         * lib/unistr/u16-mbtoucr.c: New file.
105626         * modules/unistr/u16-mbtoucr: New file.
105627         * lib/unistr/u16-mbtoucr.c: New file.
105628         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
105630 2007-03-27  Simon Josefsson  <simon@josefsson.org>
105631             Bruno Haible  <bruno@clisp.org>
105633         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
105634         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
105635         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
105637         * m4/stdio_h.m4: Add stubs for vasprintf too.
105639         * modules/stdio: Support vasprintf in sed command.
105641         * modules/vasprintf: Depend on stdio for prototypes.  Remove
105642         vasprintf.h.  Add stdio module indicator.
105644         * lib/stdio_.h: Declare asprintf and vasprintf, based on
105645         vasprintf.h.
105647         * lib/vasprintf.h: File removed.
105649         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
105650         * lib/vasprintf.c: Ditto.
105651         * lib/xvasprintf.c: Ditto.
105652         * tests/test-vasprintf-posix.c: Ditto.
105653         * tests/test-vasprintf.c: Ditto.
105655 2007-03-27  Bruno Haible  <bruno@clisp.org>
105657         Make vasnprintf multithread-safe.
105658         * lib/vasnprintf.c (decimal_point_char): New function.
105659         (VASNPRINTF): Use it.
105660         Suggested by Simon Josefsson.
105662 2007-03-27  Eric Blake  <ebb9@byu.net>
105664         Support sub-second birthtime on cygwin.
105665         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
105666         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
105667         (get_stat_birthtime): Also work with st_birthtim.
105669 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
105671         * lib/stat-time.h (USE_BIRTHTIME): Remove.
105672         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
105673         (get_stat_birthtime_ns): Do not try to use "spare" fields.
105674         (get_stat_birthtime_ns): Simplify compile-time tests.
105675         (get_stat_birthtime): Change the API to look like
105676         get_stat_mtime etc., except return a negative tv_nsec on error.
105677         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
105678         Don't check for "spare" fields.
105679         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
105680         or for struct stat.st_birthtime, as these tests aren't used.
105681         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
105683 2007-03-27  Bruno Haible  <bruno@clisp.org>
105685         * lib/stat-time.h: Include <sys/stat.h>.
105687 2007-03-27  James Youngman  <jay@gnu.org>
105689         * lib/stat-time.h (get_stat_birthtime): New function for
105690           retrieving st_birthtime as provided by UFS2 (hence *BSD).
105691         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
105692           and its variants.
105693         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
105694         * modules/stat-time-test: New file.
105695         * tests/test-stat-time.c: New test, devised by Bruno Haible.
105697 2007-03-26  Bruno Haible  <bruno@clisp.org>
105699         Better support of signalling NaNs.
105700         * lib/atanl.c: Include isnanl.h.
105701         (atanl): Perform test for NaN at the beginning of the function and
105702         through a call to isnanl.
105703         * lib/cosl.c: Include isnanl.h.
105704         (cosl): Perform test for NaN at the beginning of the function and
105705         through a call to isnanl.
105706         * lib/ldexpl.c: Include isnanl.h.
105707         (ldexpl): Perform test for NaN through a call to isnanl.
105708         * lib/logl.c: Include isnanl.h.
105709         (logl): Perform test for NaN at the beginning of the function and
105710         through a call to isnanl.
105711         * lib/sinl.c: Include isnanl.h.
105712         (sinl): Perform test for NaN at the beginning of the function and
105713         through a call to isnanl.
105714         * lib/sqrtl.c: Include isnanl.h.
105715         (sqrtl): Perform test for NaN at the beginning of the function and
105716         through a call to isnanl.
105717         * lib/tanl.c: Include isnanl.h.
105718         (tanl): Perform test for NaN at the beginning of the function and
105719         through a call to isnanl.
105720         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
105721         * modules/mathl (Depends-on): Add isnanl.
105723 2007-03-26  Eric Blake  <ebb9@byu.net>
105725         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
105726         regression in logic sense of previous patch.
105728 2007-03-26  Bruno Haible  <bruno@clisp.org>
105730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
105731         unportable shell command "if ! ...".
105732         Reported by Ralf Wildenhues.
105734 2007-03-25  Bruno Haible  <bruno@clisp.org>
105736         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
105737         <sysexits.h> file, and only add EX_CONFIG.
105738         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
105739         absolute file name and whether it is sufficient. Substitute also
105740         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
105741         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
105742         ABSOLUTE_SYSEXITS_H into sysexits.h.
105744 2007-03-25  Bruno Haible  <bruno@clisp.org>
105746         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
105747         hints is NULL.
105749 2007-03-25  Bruno Haible  <bruno@clisp.org>
105751         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
105752         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
105754 2007-03-25  Bruno Haible  <bruno@clisp.org>
105756         * lib/vasnprintf.c: Include langinfo.h.
105757         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
105758         multithread-safe.
105759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
105760         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
105761         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105762         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105763         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105764         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105765         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105766         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
105767         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105768         Reported by Simon Josefsson.
105770 2007-03-25  Bruno Haible  <bruno@clisp.org>
105772         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
105773         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
105774         * modules/vasnprintf (Depends-on): Add stdint.
105776 2007-03-25  Bruno Haible  <bruno@clisp.org>
105778         * modules/fpieee: New file.
105779         * m4/fpieee.m4: New file.
105780         * modules/isnan-nolibm (Depends-on): Add fpieee.
105781         * modules/isnanl-nolibm (Depends-on): Add fpieee.
105782         * modules/isnanl (Depends-on): Add fpieee.
105784 2007-03-25  Bruno Haible  <bruno@clisp.org>
105786         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
105788 2007-03-25  Bruno Haible  <bruno@clisp.org>
105790         Avoid test failures on IRIX 6.5.
105791         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
105792         (main): Use it.
105793         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
105794         macros.
105795         (main): Use them.
105797 2007-03-25  Bruno Haible  <bruno@clisp.org>
105799         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
105800         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
105801         exists but doesn't work.
105802         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
105803         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
105804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
105805         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
105806         math.h.
105808 2007-03-25  Bruno Haible  <bruno@clisp.org>
105810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
105811         returns inf. Needed on IRIX 6.5.
105813 2007-03-25  Bruno Haible  <bruno@clisp.org>
105815         * tests/test-frexpl.c: Include isnanl-nolibm.h.
105816         (main): Use isnanl instead of x != x idiom.
105817         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
105819         * tests/test-frexp.c: Include isnan.h.
105820         (main): Use isnan instead of x != x idiom.
105821         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
105823 2007-03-25  Bruno Haible  <bruno@clisp.org>
105825         * tests/test-frexp.c (NaN): New function/macro.
105826         (main): Use it instead of 0.0 / 0.0.
105827         * tests/test-isnan.c (NaN): New function/macro.
105828         (main): Use it instead of 0.0 / 0.0.
105829         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
105830         (test_function): Use it instead of 0.0 / 0.0.
105831         * tests/test-vasprintf-posix.c (NaN): New function/macro.
105832         (test_function): Use it instead of 0.0 / 0.0.
105833         * tests/test-snprintf-posix.h (NaN): New function/macro.
105834         (test_function): Use it instead of 0.0 / 0.0.
105835         * tests/test-sprintf-posix.h (NaN): New function/macro.
105836         (test_function): Use it instead of 0.0 / 0.0.
105837         * tests/test-fprintf-posix.h (NaN): New function/macro.
105838         (test_function): Use it instead of 0.0 / 0.0.
105839         * tests/test-printf-posix.h (NaN): New function/macro.
105840         (test_function): Use it instead of 0.0 / 0.0.
105842         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
105844 2007-03-25  Bruno Haible  <bruno@clisp.org>
105846         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
105848 2007-03-25  Bruno Haible  <bruno@clisp.org>
105850         * lib/regexec.c (merge_state_with_log): Make static.
105852 2007-03-25  Bruno Haible  <bruno@clisp.org>
105854         * lib/trigl.c (kernel_rem_pio2): Make static.
105856 2007-03-25  Bruno Haible  <bruno@clisp.org>
105858         * lib/sincosl.c (sincosl_table): Make static.
105860 2007-03-25  Bruno Haible  <bruno@clisp.org>
105862         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
105863         if the compiler does not support C99.
105865 2007-03-25  Bruno Haible  <bruno@clisp.org>
105867         * modules/time (Makefile.am): Ensure all rule action lines start with a
105868         tab.
105870 2007-03-24  Bruno Haible  <bruno@clisp.org>
105872         * modules/tsearch-tests: New file.
105873         * tests/test-tsearch.sh: New file.
105874         * tests/test-tsearch.c: New file, mostly copied from glibc.
105876         * modules/search-tests: New file.
105877         * tests/test-search.c: New file.
105879         * modules/search: New file.
105880         * lib/search_.h: New file, incorporating lib/tsearch.h.
105881         * m4/search_h.m4: New file.
105882         * lib/tsearch.h: Remove file.
105883         * lib/tsearch.c: Include search.h instead of tsearch.h.
105884         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
105885         HAVE_TSEARCH.
105886         * modules/tsearch (Files): Remove lib/tsearch.h.
105887         (Depends-on): Add search.
105888         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
105889         (Include): Change tsearch.h into search.h.
105891 2007-03-24  Bruno Haible  <bruno@clisp.org>
105893         * modules/fpucw: New file.
105894         * lib/fpucw.h: New file.
105895         * lib/frexp.c: Include fpucw.h.
105896         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105897         (FUNC): Use them.
105898         * lib/printf-frexp.c: Include fpucw.h.
105899         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105900         (FUNC): Use them.
105901         * lib/vasnprintf.c: Include fpucw.h.
105902         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
105903         'long double' calculations.
105904         * tests/test-frexpl.c: Include fpucw.h.
105905         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105906         * tests/test-printf-frexpl.c: Include fpucw.h.
105907         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105908         * modules/frexpl (Depends-on): Add fpucw.
105909         * modules/printf-frexpl (Depends-on): Likewise.
105910         * modules/fprintf-posix (Depends-on): Likewise.
105911         * modules/snprintf-posix (Depends-on): Likewise.
105912         * modules/sprintf-posix (Depends-on): Likewise.
105913         * modules/vasnprintf-posix (Depends-on): Likewise.
105914         * modules/vasprintf-posix (Depends-on): Likewise.
105915         * modules/vfprintf-posix (Depends-on): Likewise.
105916         * modules/vsnprintf-posix (Depends-on): Likewise.
105917         * modules/vsprintf-posix (Depends-on): Likewise.
105918         * modules/frexpl-tests (Depends-on): Likewise.
105919         * modules/printf-frexpl-tests (Depends-on): Likewise.
105921 2007-03-24  Bruno Haible  <bruno@clisp.org>
105923         * lib/float+.h: New file.
105924         * lib/isnan.c: Include float+.h.
105925         (SIZE): New macro.
105926         (FUNC): Compare only SIZE bytes of the value.
105927         * lib/vasnprintf.c: Include float+.h.
105928         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
105929         SIZEOF_LDBL or SIZEOF_DBL bytes.
105930         * modules/isnan-nolibm (Files): Add lib/float+.h.
105931         * modules/isnanl-nolibm (Files): Add lib/float+.h.
105932         * modules/isnanl (Files): Add lib/float+.h.
105933         * modules/vasnprintf (Files): Add lib/float+.h.
105935 2007-03-24  Bruno Haible  <bruno@clisp.org>
105937         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
105938         include isnanl-nolibm.h.
105940 2007-03-24  Bruno Haible  <bruno@clisp.org>
105942         * tests/test-read-file.c (main): Don't produce spurious output for
105943         expected situations. Make the test fail if it encountered unexpected
105944         results.
105946 2007-03-24  Bruno Haible  <bruno@clisp.org>
105948         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
105949         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
105951 2007-03-24  Bruno Haible  <bruno@clisp.org>
105953         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
105955 2007-03-24  Bruno Haible  <bruno@clisp.org>
105957         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
105958         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
105960         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
105961         * modules/utf8-ucs4: Turn into a symbolic link to module
105962         unistr/u8-mbtouc.
105964         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
105965         utf8-ucs4-unsafe.
105966         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
105967         unistr/u8-mbtouc-unsafe.
105969         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
105970         * modules/utf16-ucs4: Turn into a symbolic link to module
105971         unistr/u16-mbtouc.
105973         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
105974         utf16-ucs4-unsafe.
105975         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
105976         unistr/u16-mbtouc-unsafe.
105978         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
105979         * modules/ucs4-utf8: Turn into a symbolic link to module
105980         unistr/u8-ubtomb.
105982         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
105983         * modules/ucs4-utf16: Turn into a symbolic link to module
105984         unistr/u16-ubtomb.
105986 2007-03-24  Bruno Haible  <bruno@clisp.org>
105988         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
105989         Enable the function only if HAVE_INLINE.
105990         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
105991         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105992         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
105993         Enable the function only if HAVE_INLINE.
105994         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
105995         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105996         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
105997         Enable the function only if HAVE_INLINE.
105998         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
105999         Enable the function only if HAVE_INLINE.
106000         * modules/utf8-ucs4: Update.
106001         * modules/utf8-ucs4-unsafe: Update.
106002         * modules/utf16-ucs4: Update.
106003         * modules/utf16-ucs4-unsafe: Update.
106004         * modules/ucs4-utf8: Update.
106005         * modules/ucs4-utf16: Update.
106007 2007-03-24  Bruno Haible  <bruno@clisp.org>
106009         * lib/utf8-ucs4.h: Remove file.
106010         * lib/utf8-ucs4-unsafe.h: Remove file.
106011         * lib/utf16-ucs4.h: Remove file.
106012         * lib/utf16-ucs4-unsafe.h: Remove file.
106013         * lib/ucs4-utf8.h: Remove file.
106014         * lib/ucs4-utf16.h: Remove file.
106015         * lib/unistr.h: Include their previous contents.
106016         * m4/utf-ucs4.m4: Remove file.
106017         * m4/ucs4-utf.m4: Remove file.
106018         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
106019         (Depends-on): Add unistr/base.
106020         (configure.ac): Remove gl_UTF_UCS4.
106021         (Makefile.am): Update.
106022         (Include): Change to unistr.h.
106023         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
106024         (Depends-on): Add unistr/base.
106025         (configure.ac): Remove gl_UTF_UCS4.
106026         (Makefile.am): Update.
106027         (Include): Change to unistr.h.
106028         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
106029         (Depends-on): Add unistr/base.
106030         (configure.ac): Remove gl_UTF_UCS4.
106031         (Makefile.am): Update.
106032         (Include): Change to unistr.h.
106033         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
106034         (Depends-on): Add unistr/base.
106035         (configure.ac): Remove gl_UTF_UCS4.
106036         (Makefile.am): Update.
106037         (Include): Change to unistr.h.
106038         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
106039         (Depends-on): Add unistr/base.
106040         (configure.ac): Remove gl_UCS4_UTF.
106041         (Makefile.am): Update.
106042         (Include): Change to unistr.h.
106043         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
106044         (Depends-on): Add unistr/base.
106045         (configure.ac): Remove gl_UCS4_UTF.
106046         (Makefile.am): Update.
106047         (Include): Change to unistr.h.
106048         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
106049         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
106050         utf8-ucs4-unsafe.h.
106051         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
106052         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
106053         utf16-ucs4-unsafe.h.
106054         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
106055         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
106056         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
106057         * lib/unistr/u8-strchr.c: Likewise.
106058         * lib/unistr/u8-strrchr.c: Likewise.
106059         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
106060         * lib/unistr/u16-strchr.c: Likewise.
106061         * lib/unistr/u16-strrchr.c: Likewise.
106062         * lib/striconveh.c: Update.
106063         * lib/linebreak.c: Update.
106065 2007-03-24  Bruno Haible  <bruno@clisp.org>
106067         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
106068         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
106070 2007-03-22  Bruno Haible  <bruno@clisp.org>
106072         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
106074 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106076         * MODULES.html.sh (File system functions): New module write-any-file.
106077         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
106078         * m4/write-any-file.m4: New files.
106080 2007-03-23  Eric Blake  <ebb9@byu.net>
106082         * gnulib-tool: Rearrange space-tab sequences, since some editors
106083         like to eat them.
106085 2007-03-23  Eric Blake  <ebb9@byu.net>
106087         * lib/version-etc.c (version_etc_va): Update license wording to
106088         be more concise.  Recommended by Richard Stallman.
106090 2007-03-22  Bruno Haible  <bruno@clisp.org>
106092         * lib/poll.c (MSG_PEEK): New fallback definition.
106094 2007-03-22  Bruno Haible  <bruno@clisp.org>
106096         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
106097         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
106098         (main): Update.
106099         Fixes a compilation error on BeOS.
106101 2007-03-22  Bruno Haible  <bruno@clisp.org>
106103         * modules/frexpl-tests: New file.
106104         * tests/test-frexpl.c: New file.
106106         * modules/frexpl: New file.
106107         * m4/frexpl.m4: New file.
106108         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
106109         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
106110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
106111         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
106112         (Depends-on): Add frexpl. Remove isnanl-nolibm.
106113         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
106115 2007-03-22  Bruno Haible  <bruno@clisp.org>
106117         * lib/frexpl.c: Share code with lib/frexp.c.
106118         * modules/mathl (Files): Add lib/frexp.c.
106119         (Depends-on): Add isnanl-nolibm.
106121 2007-03-22  Bruno Haible  <bruno@clisp.org>
106123         * modules/printf-frexp (Files): Add m4/frexp.m4.
106124         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
106125         only if the found frexp function actually works.
106127 2007-03-22  Bruno Haible  <bruno@clisp.org>
106129         * lib/frexp.c: Remove older implementation that uses divisions.
106131 2007-03-21  Bruno Haible  <bruno@clisp.org>
106133         * modules/frexp-tests: New file.
106134         * tests/test-frexp.c: New file.
106136         * modules/frexp: New file.
106137         * lib/frexp.c: New file.
106138         * m4/frexp.m4: New file.
106139         * lib/math_.h (frexp): New declaration.
106140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
106141         REPLACE_FREXP.
106142         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
106144 2007-03-21  Bruno Haible  <bruno@clisp.org>
106146         * modules/isnanl-tests: New file.
106147         * tests/test-isnanl.c: New file.
106149         * modules/isnanl: New file.
106150         * lib/isnanl.h: New file.
106151         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
106152         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
106153         gl_FUNC_ISNANL_WORKS.
106154         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
106155         New macros.
106157 2007-03-21  Bruno Haible  <bruno@clisp.org>
106159         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
106160         lib/isnanl.h.
106161         (Include): Update.
106162         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
106163         * lib/vasnprintf.c: Update.
106164         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
106165         tests/test-isnanl.h, remove tests/test-isnanl.c.
106166         (Makefile.am): Update.
106167         * tests/test-isnanl-nolibm.c: New file.
106168         * tests/test-isnanl.h: New file.
106169         * tests/test-isnanl.c: Remove file.
106171 2007-03-21  Jim Meyering  <jim@meyering.net>
106173         When trying to open ".", treat ESTALE like EACCES.
106174         * lib/savewd.c (savewd_save): Resort to forking not just upon
106175         failure with EACCES, but also when errno is ESTALE.
106177 2007-03-20  Bruno Haible  <bruno@clisp.org>
106179         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
106180         Needed on AIX 5.1. Reported by Matthew Woehlke.
106182 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106184         Suggestions by Bruno Haible:
106185         * lib/acl-internal.h: Include "gettext.h" rather than rolling
106186         our own.
106187         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
106188         * modules/acl (Depends-on): Add gettext.
106190 2007-03-19  Bruno Haible  <bruno@clisp.org>
106192         * modules/iconvme: Remove file.
106193         * lib/iconvme.h: Remove file.
106194         * lib/iconvme.c: Remove file.
106195         * m4/iconvme.m4: Remove file.
106197 2007-03-19  Bruno Haible  <bruno@clisp.org>
106199         * doc/relocatable-maint.texi: Break long shell script line.
106200         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106202 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106204         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
106205         handle file_has_acl.
106206         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
106207         * lib/acl.c: Move header inclusions and related macro defns into
106208         lib/acl-internal.h.
106209         (S_ISLNK): Remove defn, since that's now done for us.
106210         (file_has_acl): Move to lib/file-has-acl.c.
106211         Call acl_trivial if available.  This is the crucial part of the fix.
106212         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
106213         shared within the library.  Rewrite a bit, partly to make it compatible
106214         with the GNU coding style.
106215         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
106216         Remove unnecessary double-quotes.
106217         Don't test for acl_to_text; the build will catch that.
106218         Replace acl_entries if it doesn't exist and it is needed.
106219         Check for -lsec and acl_trivial (as used on Solaris 10).
106220         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
106221         lib/file-has-acl.c.
106222         (Depends-on): Add sys_stat, for S_ISLNK.
106224 2007-03-19  Ben Pfaff  <blp@gnu.org>
106226         * doc/gnulib.texi: Fix typos.
106227         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106229 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106231         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
106232         If size is zero here, buf must be zero.
106234 2007-03-19  Simon Josefsson  <simon@josefsson.org>
106236         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
106237         <bruno@clisp.org>.
106239 2007-03-18  Bruno Haible  <bruno@clisp.org>
106241         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
106242         Suggested by Eric Blake.
106244 2007-03-18  Ben Pfaff  <blp@gnu.org>
106246         * doc/relocatable.texi: Recommend using as prefix a directory
106247         that does not exist and will never be created.  Based on
106248         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
106249         and others.
106251 2007-03-17  Bruno Haible  <bruno@clisp.org>
106253         * lib/fchownat.c: Include lchown.h.
106255 2007-03-17  Bruno Haible  <bruno@clisp.org>
106257         Fix endless loop when the given allocated size was > INT_MAX.
106258         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
106259         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
106260         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
106261         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
106262         * lib/sprintf.c (sprintf): Likewise.
106264 2007-03-17  Bruno Haible  <bruno@clisp.org>
106266         * tests/test-argp-2.sh (func_compare): Output a context diff.
106268 2007-03-17  Bruno Haible  <bruno@clisp.org>
106270         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
106271         locale's decimal-point character.
106273 2007-03-17  Bruno Haible  <bruno@clisp.org>
106275         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
106276         before comparing it. Needed because on some platforms (e.g. x86) a
106277         'long double' occupies less bytes than sizeof (long double).
106279 2007-03-17  Bruno Haible  <bruno@clisp.org>
106281         * tests/test-crc.c (main): Make printf statements 64-bit clean.
106282         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
106283         * tests/test-getaddrinfo.c (simple): Likewise.
106284         * tests/test-read-file.c (main): Likewise.
106286 2007-03-17  Bruno Haible  <bruno@clisp.org>
106288         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
106290 2007-03-17  Bruno Haible  <bruno@clisp.org>
106292         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
106293         unused variable.
106295 2007-03-17  Bruno Haible  <bruno@clisp.org>
106297         * tests/test-c-strcasecmp.c: Include c-strcase.h.
106298         * tests/test-c-strncasecmp.c: Likewise.
106300 2007-03-17  Bruno Haible  <bruno@clisp.org>
106302         * modules/stdlib (Depends-on): Add unistd.
106303         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
106304         Needed for MacOS X 10.3.
106306 2007-03-17  Bruno Haible  <bruno@clisp.org>
106308         * lib/unistr/u-strdup.h: Include <stdlib.h>.
106310 2007-03-17  Bruno Haible  <bruno@clisp.org>
106312         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
106314 2007-03-17  Bruno Haible  <bruno@clisp.org>
106316         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
106317         to reflect files copied from gnulib (with or without modifications).
106318         Suggested by Jim Meyering.
106320 2007-03-17  Eric Blake  <ebb9@byu.net>
106322         * NEWS: Document stdlib change from 2007-02-18.
106324 2007-03-17  Jim Meyering  <jim@meyering.net>
106326         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
106327         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
106328         someone uses a name containing shell meta-characters.
106329         Reported by Alfred M. Szmidt.
106331         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
106333 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106335         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
106336         and copy gettext configuration files only if configure.ac contains
106337         a use of AM_GNU_GETTEXT_VERSION.
106339 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106341         * build-aux/bootstrap (gnulib_name): New variable.
106342         (gnulib_tool_options): Use it.
106344 2007-03-13  Simon Josefsson  <simon@josefsson.org>
106346         * tests/test-des.c: Use new namespace.
106348 2007-03-15  Bruno Haible  <bruno@clisp.org>
106350         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
106351         Reported by James Youngman <jay@gnu.org>.
106353 2007-03-15  Bruno Haible  <bruno@clisp.org>
106355         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
106356         declared prototype. Needed with cc on OSF/1 5.1.
106358 2007-03-15  Bruno Haible  <bruno@clisp.org>
106360         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
106361         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
106362         (struct gl_list_implementation): Add dispose_fn argument to the
106363         'create_empty', 'create' methods.
106364         (struct gl_list_impl_base): Add field 'dispose_fn'.
106365         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
106366         argument.
106367         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
106368         dispose_fn argument.
106369         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
106370         dispose_fn on the dropped values.
106371         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
106372         dispose_fn argument.
106373         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
106374         dropped values.
106375         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
106376         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106377         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
106378         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106379         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
106380         argument.
106381         (gl_tree_list_free): Call dispose_fn on the dropped values.
106382         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
106383         the dropped values.
106384         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
106385         Add dispose_fn argument.
106386         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
106387         Call dispose_fn on the dropped values.
106388         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
106389         Add dispose_fn argument.
106390         (gl_sublist_create): Initialize the 'dispose_fn' field.
106391         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
106392         * tests/test-array_list.c (main): Update.
106393         * tests/test-carray_list.c (main): Update.
106394         * tests/test-avltree_list.c (main): Update.
106395         * tests/test-rbtree_list.c (main): Update.
106396         * tests/test-avltreehash_list.c (main): Update.
106397         * tests/test-rbtreehash_list.c (main): Update.
106398         * tests/test-linked_list.c (main): Update.
106399         * tests/test-linkedhash_list.c (main): Update.
106400         * tests/test-array_oset.c (main): Update.
106402 2007-03-15  Bruno Haible  <bruno@clisp.org>
106404         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
106405         (gl_oset_create_empty): Add dispose_fn argument.
106406         (struct gl_oset_implementation): Add dispose_fn argument to
106407         'create_empty' method.
106408         (struct gl_oset_impl_base): Add dispose_fn field.
106409         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
106410         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
106411         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
106412         values.
106413         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
106414         (gl_tree_oset_free): Call dispose_fn on the dropped values.
106415         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106416         dropped value.
106417         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106418         dropped value.
106419         * tests/test-array_oset.c (main): Update.
106420         * tests/test-avltree_oset.c (main): Update.
106421         * tests/test-rbtree_oset.c (main): Update.
106422         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
106424 2007-03-13  Bruno Haible  <bruno@clisp.org>
106426         * tests/test-stdbool.c (i): Update after last patch.
106428 2007-03-12  Bruno Haible  <bruno@clisp.org>
106430         * lib/quotearg.c: Include <wctype.h> early, before the definition of
106431         the iswprint macro. Needed on Solaris 2.5.1.
106433 2007-03-12  Bruno Haible  <bruno@clisp.org>
106435         * tests/test-printf-frexp.c (main): Declare x as volatile.
106437 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106439         * doc/gnulib.texi (Build robot for gnulib): New section.
106441 2007-03-12  Jim Meyering  <jim@meyering.net>
106443         * build-aux/bootstrap: New file.
106444         * build-aux/bootstrap.conf: New file, from coreutils.
106446 2007-03-11  Bruno Haible  <bruno@clisp.org>
106448         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
106450 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106452         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
106453         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
106454         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
106456 2007-03-11  Bruno Haible  <bruno@clisp.org>
106458         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
106459         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
106461 2007-03-11  Bruno Haible  <bruno@clisp.org>
106463         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
106464         formula. Needed for SunPRO C 5.0.
106466 2007-03-11  Bruno Haible  <bruno@clisp.org>
106468         * modules/long-options (Depends-on): Add getopt.
106470 2007-03-11  Bruno Haible  <bruno@clisp.org>
106472         * modules/modechange (Depends-on): Add stdbool.
106474 2007-03-11  Bruno Haible  <bruno@clisp.org>
106476         * modules/i-ring (Depends-on): Add stdbool.
106478 2007-03-11  Bruno Haible  <bruno@clisp.org>
106480         * modules/gc-des (Depends-on): Add stdbool.
106482 2007-03-11  Bruno Haible  <bruno@clisp.org>
106484         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
106486 2007-03-11  Bruno Haible  <bruno@clisp.org>
106488         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
106490 2007-03-11  Bruno Haible  <bruno@clisp.org>
106492         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
106494 2007-03-11  Bruno Haible  <bruno@clisp.org>
106496         * lib/vasnprintf.c (sprintf): Undefine.
106498 2007-03-11  Bruno Haible  <bruno@clisp.org>
106500         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
106501         initializers in SunPRO C and Compaq C compilers.
106503 2007-03-11  Bruno Haible  <bruno@clisp.org>
106505         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
106506         decrementing code ANSI C compliant.
106508 2007-03-11  Bruno Haible  <bruno@clisp.org>
106510         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
106511         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
106513 2007-03-11  Bruno Haible  <bruno@clisp.org>
106515         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
106516         <stdbool.h> substitute doesn't pass.
106518 2007-03-11  Bruno Haible  <bruno@clisp.org>
106520         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
106522 2007-03-11  Bruno Haible  <bruno@clisp.org>
106524         * gnulib-tool (func_create_megatestdir): Create also an autobuild
106525         script, for submission to autobuild.josefsson.org.
106527 2007-03-10  Bruno Haible  <bruno@clisp.org>
106529         * modules/canonicalize-lgpl-tests: New file.
106530         * tests/test-canonicalize-lgpl.sh: New file.
106531         * tests/test-canonicalize-lgpl.c: New file.
106533         * modules/c-strcase-tests: New file.
106534         * tests/test-c-strcase.sh: New file.
106535         * tests/test-c-strcasecmp.c: New file.
106536         * tests/test-c-strncasecmp.c: New file.
106538         * modules/atexit-tests: New file.
106539         * tests/test-atexit.sh: New file.
106540         * tests/test-atexit.c: New file.
106542 2007-03-10  Bruno Haible  <bruno@clisp.org>
106544         * tests/test-binary-io.sh: Use temporary filenames that are not so
106545         likely to clash with those of other tests (in a parallel make).
106546         * tests/test-binary-io.c: Likewise.
106548 2007-03-10  Bruno Haible  <bruno@clisp.org>
106550         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
106551         fallback; use #error instead.
106552         Suggested by Simon Josefsson.
106554 2007-03-10  Bruno Haible  <bruno@clisp.org>
106556         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
106557         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
106558         first and the last.
106560 2007-03-10  Bruno Haible  <bruno@clisp.org>
106562         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
106564 2007-03-10  Bruno Haible  <bruno@clisp.org>
106566         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
106567         "make distcheck".
106568         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
106569         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
106570         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
106572 2007-03-10  Bruno Haible  <bruno@clisp.org>
106574         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
106575         variable.
106576         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
106577         variable.
106579 2007-03-09  Eric Blake  <ebb9@byu.net>
106580         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
106582         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106583         types are not being provided by gnulib.
106584         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
106585         types are supported.
106587 2007-03-10  Bruno Haible  <bruno@clisp.org>
106589         * lib/stdio_.h (__attribute__): New macro.
106590         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
106591         vsprintf): Specify __attribute__ __format__ for GCC.
106592         Suggested by Eric Blake.
106594 2007-03-09  Bruno Haible  <bruno@clisp.org>
106596         * modules/printf-posix-tests: New file.
106597         * tests/test-printf-posix.sh: New file.
106598         * tests/test-printf-posix.c: New file.
106600         * modules/printf-posix: New file.
106601         * lib/printf.c: New file.
106602         * m4/printf-posix-rpl.m4: New file.
106603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
106604         REPLACE_PRINTF.
106605         * lib/stdio_.h (printf): New declaration.
106606         (format, __format__, ____printf____, ____scanf____, ____strftime____,
106607         ____strfmon____): New macros.
106608         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
106609         REPLACE_PRINTF.
106611 2007-03-09  Bruno Haible  <bruno@clisp.org>
106613         * tests/test-vasnprintf-posix2.sh: New file.
106614         * tests/test-vasnprintf-posix2.c: New file.
106615         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
106616         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
106617         (Makefile.am): Activate test-vasnprintf-posix2.sh.
106619         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
106620         a locale dependent decimal point, rather than always '.'.
106622 2007-03-09  Eric Blake  <ebb9@byu.net>
106624         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
106625         spite of platforms like Tandem/NSK that define it to -1.
106627 2007-03-08  Bruno Haible  <bruno@clisp.org>
106629         * modules/vprintf-posix-tests: New file.
106630         * tests/test-vprintf-posix.sh: New file.
106631         * tests/test-vprintf-posix.c: New file.
106632         * tests/test-printf-posix.h: New file.
106634         * modules/vprintf-posix: New file.
106635         * lib/vprintf.c: New file.
106636         * m4/vprintf-posix.m4: New file.
106637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
106638         REPLACE_VPRINTF.
106639         * lib/stdio_.h (vprintf): New declaration.
106640         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
106641         REPLACE_VPRINTF.
106643 2007-03-08  Bruno Haible  <bruno@clisp.org>
106645         * modules/fprintf-posix-tests: New file.
106646         * tests/test-fprintf-posix.sh: New file.
106647         * tests/test-fprintf-posix.c: New file.
106649         * modules/fprintf-posix: New file.
106650         * lib/fprintf.c: New file.
106651         * m4/fprintf-posix.m4: New file.
106652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
106653         REPLACE_FPRINTF.
106654         * lib/stdio_.h (fprintf): New declaration.
106655         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
106656         REPLACE_FPRINTF.
106658 2007-03-08  Bruno Haible  <bruno@clisp.org>
106660         * modules/vfprintf-posix-tests: New file.
106661         * tests/test-vfprintf-posix.sh: New file.
106662         * tests/test-vfprintf-posix.c: New file.
106663         * tests/test-fprintf-posix.h: New file.
106664         * tests/test-fprintf-posix.out: New file.
106666         * modules/vfprintf-posix: New file.
106667         * lib/vfprintf.c: New file.
106668         * m4/vfprintf-posix.m4: New file.
106669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
106670         REPLACE_VFPRINTF.
106671         * lib/stdio_.h (vfprintf): New declaration.
106672         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
106673         REPLACE_VFPRINTF.
106675 2007-03-08  Bruno Haible  <bruno@clisp.org>
106677         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
106679 2007-03-08  Bruno Haible  <bruno@clisp.org>
106681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
106682         instead of 'expr' invocations.
106683         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106684         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106685         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
106687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106688         Suggested by Paul Eggert.
106690 2007-03-08  Bruno Haible  <bruno@clisp.org>
106692         * modules/fseterr-tests: New file.
106693         * tests/test-fseterr.c: New file.
106695         * modules/fseterr: New file.
106696         * lib/fseterr.h: New file.
106697         * lib/fseterr.c: New file.
106699 2007-03-08  Bruno Haible  <bruno@clisp.org>
106701         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
106702         * lib/getopt_.h: Likewise.
106703         * lib/mbswidth.h: Likewise.
106704         * lib/setenv.h: Likewise.
106705         * lib/vasnprintf.h: Likewise.
106706         * lib/vasprintf.h: Likewise.
106707         * lib/verror.h: Likewise.
106708         * lib/xsetenv.h: Likewise.
106709         * lib/xvasprintf.h: Likewise.
106711 2007-03-08  Jim Meyering  <jim@meyering.net>
106713         * users.txt: Add parted.
106715         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
106717 2007-03-07  Bruno Haible  <bruno@clisp.org>
106719         * m4/printf.m4: Make the shell script snippets copy&pastable.
106721 2007-03-02  Bruno Haible  <bruno@clisp.org>
106723         * lib/netinet_in_.h: New file.
106724         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
106725         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
106726         * modules/netinet_in (Files): Add lib/netinet_in_.h.
106727         (Depends-on): Add absolute-header.
106728         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
106729         into netinet/in.h.
106731 2007-03-03  Bruno Haible  <bruno@clisp.org>
106733         * lib/sys_select_.h: New file.
106734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
106735         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
106736         * modules/sys_select (Files): Add lib/sys_select_.h.
106737         (Depends-on): Add absolute-header.
106738         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
106739         into sys/select.h.
106741 2007-03-02  Bruno Haible  <bruno@clisp.org>
106743         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
106744         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
106745         values.
106746         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
106747         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
106748         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
106749         * modules/sys_socket (Depends-on): Add absolute-header.
106750         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
106751         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
106752         (Include): Remove requirement of inclusion of <sys/types.h>.
106754 2007-03-02  Bruno Haible  <bruno@clisp.org>
106756         * lib/byteswap_.h (bswap_32): Fix formula.
106758 2007-03-06  Bruno Haible  <bruno@clisp.org>
106760         * modules/sprintf-posix-tests: New file.
106761         * tests/test-sprintf-posix.c: New file.
106763         * modules/sprintf-posix: New file.
106764         * lib/sprintf.c: New file.
106765         * m4/sprintf-posix.m4: New file.
106766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
106767         REPLACE_SPRINTF.
106768         * lib/stdio_.h (sprintf): New declaration.
106769         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
106770         REPLACE_SPRINTF.
106772 2007-03-06  Bruno Haible  <bruno@clisp.org>
106774         * modules/vsprintf-posix-tests: New file.
106775         * tests/test-vsprintf-posix.c: New file.
106776         * tests/test-sprintf-posix.h: New file.
106778         * modules/vsprintf-posix: New file.
106779         * lib/vsprintf.c: New file.
106780         * m4/vsprintf-posix.m4: New file.
106781         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
106782         REPLACE_VSPRINTF.
106783         * lib/stdio_.h (vsprintf): New declaration.
106784         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
106785         REPLACE_VSPRINTF.
106787 2007-03-06  Bruno Haible  <bruno@clisp.org>
106789         * modules/vsnprintf (Depend-on): Remove minmax.
106791 2007-03-06  Bruno Haible  <bruno@clisp.org>
106793         * modules/snprintf-posix-tests: New file.
106794         * tests/test-snprintf-posix.c: New file.
106796         * modules/snprintf-posix: New file.
106797         * m4/snprintf-posix.m4: New file.
106798         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
106799         gl_FUNC_SNPRINTF.
106800         (gl_FUNC_SNPRINTF): Invoke it.
106801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
106802         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
106803         is set.
106804         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
106806 2007-03-06  Bruno Haible  <bruno@clisp.org>
106808         * modules/vsnprintf-posix-tests: New file.
106809         * tests/test-vsnprintf-posix.c: New file.
106810         * tests/test-snprintf-posix.h: New file.
106812         * modules/vsnprintf-posix: New file.
106813         * m4/vsnprintf-posix.m4: New file.
106814         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
106815         gl_FUNC_VSNPRINTF.
106816         (gl_FUNC_VSNPRINTF): Invoke it.
106817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
106818         * lib/stdio_.h (vsnprintf): Define as a replacement if
106819         REPLACE_VSNPRINTF is set.
106820         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
106822 2007-03-06  Bruno Haible  <bruno@clisp.org>
106824         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
106825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
106827 2007-03-06  Bruno Haible  <bruno@clisp.org>
106829         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
106830         (asinl): Declare also if HAVE_DECL_ASINL is set.
106831         (atanl): Declare also if HAVE_DECL_ATANL is set.
106832         (ceill): Declare also if HAVE_DECL_CEILL is set.
106833         (cosl): Declare also if HAVE_DECL_COSL is set.
106834         (expl): Declare also if HAVE_DECL_EXPL is set.
106835         (floorl): Declare also if HAVE_DECL_FLOORL is set.
106836         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
106837         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
106838         (logl): Declare also if HAVE_DECL_LOGL is set.
106839         (sinl): Declare also if HAVE_DECL_SINL is set.
106840         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
106841         (tanl): Declare also if HAVE_DECL_TANL is set.
106842         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
106843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
106844         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
106845         declaration of frexpl, ldexpl.
106846         * modules/printf-frexpl (Depends-on): Add math.
106847         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
106849 2007-03-05  Bruno Haible  <bruno@clisp.org>
106851         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
106852         frexpl and ldexpl are declared.
106853         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
106855 2007-03-05  Bruno Haible  <bruno@clisp.org>
106857         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
106858         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
106860 2007-03-05  Bruno Haible  <bruno@clisp.org>
106862         * lib/stdio_.h: Include <stddef.h>.
106864 2007-03-05  Bruno Haible  <bruno@clisp.org>
106866         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
106868 2007-03-05  Bruno Haible  <bruno@clisp.org>
106870         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
106871         NetBSD 4, from Ralf Wildenhues.
106873 2007-03-04  Bruno Haible  <bruno@clisp.org>
106875         * lib/vasprintf.h: Update #if logic for the case when the functions
106876         exist but are overridden.
106878 2007-03-04  Bruno Haible  <bruno@clisp.org>
106880         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
106881         implementations: glibc-2.4 and MacOS X 10.3.
106882         * tests/test-vasnprintf-posix.c (test_function): Test also the case
106883         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
106884         * tests/test-vasprintf-posix.c (test_function): Likewise.
106886 2007-03-04  Bruno Haible  <bruno@clisp.org>
106888         * modules/vasprintf-posix-tests: New file.
106889         * tests/test-vasprintf-posix.c: New file.
106891         * modules/vasprintf-posix: New file.
106892         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
106893         defined.
106894         * m4/vasprintf-posix.m4: New file.
106895         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
106896         gl_FUNC_VASPRINTF.
106897         (gl_FUNC_VASPRINTF): Invoke it.
106898         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
106899         here.
106900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
106902 2007-03-04  Bruno Haible  <bruno@clisp.org>
106904         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
106905         REPLACE_GETTIMEOFDAY.
106906         * modules/sys_time (Makefile.am): Likewise.
106907         * m4/sys_time_h.m4: Likewise.
106908         * m4/gettimeofday.m4: Likewise.
106910 2007-03-04  Bruno Haible  <bruno@clisp.org>
106912         * modules/vasnprintf-posix-tests: New file.
106913         * tests/test-vasnprintf-posix.c: New file.
106915         * modules/vasnprintf-posix: New file.
106916         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
106917         printf-frexpl.h.
106918         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
106919         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
106920         REPLACE_VASNPRINTF is defined.
106921         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
106922         gl_FUNC_VASNPRINTF.
106923         (gl_FUNC_VASNPRINTF): Invoke it.
106924         * m4/vasnprintf-posix.m4: New file.
106925         * m4/printf.m4: New file.
106927 2007-03-04  Bruno Haible  <bruno@clisp.org>
106929         Compile progreloc.c only if --enable-relocatable is specified.
106930         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
106931         if --enable-relocatable was specified.
106932         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
106933         lib_SOURCES.
106935 2007-03-04  Jim Meyering  <jim@meyering.net>
106937         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
106938         Use it consistently, rather than enumerating errno constants.
106940 2007-03-04  Bruno Haible  <bruno@clisp.org>
106942         * modules/xvasprintf-tests: New file.
106943         * tests/test-xvasprintf.c: New file.
106945         * modules/vasprintf-tests: New file.
106946         * tests/test-vasprintf.c: New file.
106948         * modules/vasnprintf-tests: New file.
106949         * tests/test-vasnprintf.c: New file.
106951         * modules/vsnprintf-tests: New file.
106952         * tests/test-vsnprintf.c: New file.
106954         * modules/snprintf-tests: New file.
106955         * tests/test-snprintf.c: New file.
106957 2007-03-04  Bruno Haible  <bruno@clisp.org>
106959         Compile relocatable.c only if --enable-relocatable is specified.
106960         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
106961         gl_RELOCATABLE_LIBRARY.
106962         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
106963         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
106964         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
106965         gl_RELOCATABLE_LIBRARY.
106966         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
106967         (Makefile.am): Remove lib_SOURCES.
106968         * modules/relocatable-lib-lgpl (configure.ac): Invoke
106969         gl_RELOCATABLE_LIBRARY.
106970         (Makefile.am): Remove lib_SOURCES.
106971         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
106972         always.
106973         * modules/relocatable-prog-wrapper (configure.ac): Invoke
106974         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
106976 2007-03-04  Bruno Haible  <bruno@clisp.org>
106978         * modules/argmatch-tests: New file.
106979         * tests/test-argmatch.c: New file.
106981         * tests/test-allocsa.c (main): Halve the number of loop runs.
106983         * modules/alloca-opt-tests: New file.
106984         * tests/test-alloca-opt.c: New file.
106986 2007-03-04  Jim Meyering  <jim@meyering.net>
106988         Work around difference between Linux ACLs and Solaris 10 ZFS.
106989         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
106990         for EINVAL.
106992 2007-03-03  Bruno Haible  <bruno@clisp.org>
106994         * modules/relocatable-prog (Depends-on): Add back progreloc's
106995         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
106997 2007-03-03  Bruno Haible  <bruno@clisp.org>
106999         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
107000         * modules/relocatable-lib: New file.
107002 2007-03-03  Bruno Haible  <bruno@clisp.org>
107004         * modules/relocatable-prog: Renamed from modules/relocatable.
107005         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
107007 2007-03-03  Bruno Haible  <bruno@clisp.org>
107009         * modules/relocatable-script (Files): Add doc/relocatable.texi,
107010         m4/relocatable-lib.m4.
107011         (Depends-on): Remove 'relocatable'.
107012         (configure.ac): Add gl_RELOCATABLE_NOP.
107014 2007-03-03  Bruno Haible  <bruno@clisp.org>
107016         * modules/relocatable-prog-wrapper: New file.
107017         * modules/relocatable (Depends-on): Add it. Remove all other
107018         dependencies except progname.
107019         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
107021         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
107022         (gl_FUNC_STRERROR): Nop.
107023         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
107025         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
107026         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
107028         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
107029         (gl_FUNC_READLINK): Update.
107031         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
107033 2007-03-03  Bruno Haible  <bruno@clisp.org>
107035         * lib/xreadlink.c: Include <unistd.h> unconditionally.
107036         * modules/xreadlink (Depends-on): Add unistd.
107037         * modules/xreadlink-with-size (Depends-on): Likewise.
107039 2007-03-03  Bruno Haible  <bruno@clisp.org>
107041         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
107042         extracted from gt_FUNC_SETENV.
107043         (gt_FUNC_SETENV): Remove macro.
107044         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
107045         remove gt_FUNC_SETENV.
107047 2007-03-03  Bruno Haible  <bruno@clisp.org>
107049         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
107050         ENABLE_RELOCATABLE here.
107051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
107053 2007-03-03  Bruno Haible  <bruno@clisp.org>
107055         * modules/rbtreehash-list-tests (Depends-on): Add progname.
107056         * tests/test-rbtreehash_list.c: Include progname.h.
107057         (main): Call set_program_name.
107059         * modules/rbtree-oset-tests (Depends-on): Add progname.
107060         * tests/test-rbtree_oset.c: Include progname.h.
107061         (main): Call set_program_name.
107063         * modules/rbtree-list-tests (Depends-on): Add progname.
107064         * tests/test-rbtree_list.c: Include progname.h.
107065         (main): Call set_program_name.
107067         * modules/linked-list-tests (Depends-on): Add progname.
107068         * tests/test-linked_list.c: Include progname.h.
107069         (main): Call set_program_name.
107071 2007-03-03  Bruno Haible  <bruno@clisp.org>
107073         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
107074         All uses of __restrict changed to _Restrict_.
107075         * lib/glob_.h (__restrict): Remove macro.
107077 2007-03-02  Bruno Haible  <bruno@clisp.org>
107079         * modules/gettext (configure.ac): Require gettext infrastructure
107080         from version 0.16.1.
107082 2007-03-02  Bruno Haible  <bruno@clisp.org>
107084         * modules/linkedhash-list-tests (Depends-on): Add progname.
107085         * tests/test-linkedhash_list.c: Include progname.h.
107086         (main): Call set_program_name.
107088         * modules/carray-list-tests (Depends-on): Add progname.
107089         * tests/test-carray_list.c: Include progname.h.
107090         (main): Call set_program_name.
107092         * modules/avltreehash-list-tests (Depends-on): Add progname.
107093         * tests/test-avltreehash_list.c: Include progname.h.
107094         (main): Call set_program_name.
107096         * modules/avltree-oset-tests (Depends-on): Add progname.
107097         * tests/test-avltree_oset.c: Include progname.h.
107098         (main): Call set_program_name.
107100         * modules/avltree-list-tests (Depends-on): Add progname.
107101         * tests/test-avltree_list.c: Include progname.h.
107102         (main): Call set_program_name.
107104         * modules/array-oset-tests (Depends-on): Add progname.
107105         * tests/test-array_oset.c: Include progname.h.
107106         (main): Call set_program_name.
107108         * modules/array-list-tests (Depends-on): Add progname.
107109         * tests/test-array_list.c: Include progname.h.
107110         (main): Call set_program_name.
107112         * modules/argp-tests (Depends-on): Add progname.
107113         * tests/test-argp.c: Include argp.h first. Include progname.h.
107114         (main): Call set_program_name.
107116 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
107118         * doc/gnulib-tool.texi (Initial import): Reword description of
107119         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
107120         limited effect even if defined after the first system include.
107122 2007-03-01  Bruno Haible  <bruno@clisp.org>
107124         * build-aux/config.libpath: Update to libtool-1.5.22.
107125         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
107127 2007-03-01  Bruno Haible  <bruno@clisp.org>
107129         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
107130         foo_CFLAGS.
107131         Reported by Ralf Wildenhues.
107133 2007-03-01  Bruno Haible  <bruno@clisp.org>
107135         * build-aux/install-reloc: Remove object files left over by some
107136         compilers.
107137         Reported by Ralf Wildenhues.
107139 2007-03-01  Bruno Haible  <bruno@clisp.org>
107141         * build-aux/install-reloc: Break long lines.
107143 2007-03-01  Bruno Haible  <bruno@clisp.org>
107145         * doc/relocatable.texi: Document that it may not work on OpenBSD.
107146         Reported by Ralf Wildenhues.
107148 2007-03-01  Bruno Haible  <bruno@clisp.org>
107150         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
107151         include ordering constraints.
107153 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107155         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
107156         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
107157         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
107158         as another example.
107159         * lib/time_.h: Fix misspelling.
107160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107161         Require gl_HEADER_TIME_H_DEFAULTS.
107162         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
107163         * m4/time_r.m4 (gl_TIME_R): Likewise.
107164         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
107166 2007-03-01  Bruno Haible  <bruno@clisp.org>
107168         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
107169         * m4/utimens.m4 (gl_UTIMENS): Likewise.
107171 2007-03-01  Jim Meyering  <jim@meyering.net>
107173         * modules/xreadlink (Maintainer): Add my name.
107174         * modules/xreadlink-with-size (Depends-on): Alphabetize.
107176 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
107177             Bruno Haible  <bruno@clisp.org>
107179         * build-aux/install-reloc: Compile also c-ctype.c.
107180         * build-aux/relocatable.sh.in: New file.
107181         * doc/relocatable.texi: New file.
107182         * doc/relocatable-maint.texi: New file.
107183         * doc/gnulib.texi: Include relocatable-maint.texi.
107184         * lib/progreloc.c: Include unistd.h unconditionally.
107185         * lib/relocwrapper.c: Include unistd.h unconditionally.
107186         Include c-ctype.h.
107187         (add_dotbin): Use c_tolower.
107188         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
107189         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
107190         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
107191         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
107192         to m4/relocatable-lib.m4.
107193         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
107194         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
107195         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107196         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
107197         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
107198         * modules/relocatable: New file.
107199         * modules/relocatable-lib: New file.
107200         * modules/relocatable-script: New file.
107202 2007-02-28  Bruno Haible  <bruno@clisp.org>
107204         Import --enable-relocatable infrastructure.
107205         * build-aux/config.libpath: New file, from GNU gettext.
107206         * build-aux/install-reloc: New file, from GNU gettext.
107207         * build-aux/reloc-ldflags: New file, from GNU gettext.
107208         * lib/relocatable.h: New file, from GNU gettext.
107209         * lib/relocatable.c: New file, from GNU gettext.
107210         * lib/relocwrapper.c: New file, from GNU gettext.
107211         * m4/relocatable.m4: New file, from GNU gettext.
107213 2007-02-28  Bruno Haible  <bruno@clisp.org>
107215         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
107217         * modules/xreadlink: New file, from GNU gettext with modifications.
107218         * lib/xreadlink.c: New file, from GNU gettext.
107219         * lib/xreadlink.h: Add comments.
107220         (xreadlink): New declaration.
107222         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
107223         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
107224         lib/xreadlink-with-size.c.
107225         (configure.ac): Remove gl_XREADLINK invocation.
107226         (Makefile.am): Augment lib_SOURCES.
107227         * m4/xreadlink.m4: Remove file.
107228         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
107229         (xreadlink_with_size): Renamed from xreadink.
107230         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
107231         * modules/canonicalize (Depends-on): Replace xreadlink with
107232         xreadlink-with-size.
107233         * lib/canonicalize.c (canonicalize_filename_mode): Update.
107235 2007-02-25  Jim Meyering  <jim@meyering.net>
107237         * build-aux/announce-gen: When complaining about excess arguments,
107238         list them.
107240 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107242         * README: Document signed integer overflow situation more
107243         accurately.
107245 2007-02-25  Bruno Haible  <bruno@clisp.org>
107247         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
107248         'a' or 'A' conversion.
107250 2007-02-25  Bruno Haible  <bruno@clisp.org>
107252         * modules/filename: Renamed from modules/pathname.
107253         (Files): Replace lib/pathname.h with lib/filename.h. Replace
107254         lib/concatpath.c with lib/concat-filename.c.
107255         (Makefile.am): Update.
107256         (Include): Replace pathname.h with filename.h.
107257         * lib/filename.h: Renamed from lib/pathname.h.
107258         (concatenated_filename): Renamed from concatenated_pathname.
107259         * lib/concat-filename.c: Renamed from lib/concatpath.c.
107260         (concatenated_filename): Renamed from concatenated_pathname.
107261         * lib/findprog.c: Include filename.h instead of pathname.h.
107262         (find_in_path): Update.
107263         * lib/javacomp.c: Include filename.h instead of pathname.h.
107264         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
107265         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
107266         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
107267         is_oldgcj_14_13_usable, is_javac_usable): Update.
107268         * lib/javaexec.c: Include filename.h instead of pathname.h.
107269         (execute_java_class): Update.
107270         * modules/findprog: Update.
107271         * modules/javacomp: Update.
107272         * modules/javaexec: Update.
107273         * MODULES.html.sh (File system functions): Add 'filename', remove
107274         'pathname'.
107276 2007-02-25  Bruno Haible  <bruno@clisp.org>
107278         * modules/printf-frexpl-tests: New file.
107279         * tests/test-printf-frexpl.c: New file.
107281         * modules/printf-frexpl: New file.
107282         * lib/printf-frexpl.h: New file.
107283         * lib/printf-frexpl.c: New file.
107284         * m4/printf-frexpl.m4: New file.
107286 2007-02-25  Bruno Haible  <bruno@clisp.org>
107288         * modules/printf-frexp-tests: New file.
107289         * tests/test-printf-frexp.c: New file.
107291         * modules/printf-frexp: New file.
107292         * lib/printf-frexp.h: New file.
107293         * lib/printf-frexp.c: New file.
107294         * m4/printf-frexp.m4: New file.
107296 2007-02-25  Bruno Haible  <bruno@clisp.org>
107298         Assume automake >= 1.10 for the tests.
107299         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
107300         * modules/arctwo-tests: Likewise.
107301         * modules/argp-tests: Likewise.
107302         * modules/avltree-list-tests: Likewise.
107303         * modules/avltree-oset-tests: Likewise.
107304         * modules/avltreehash-list-tests: Likewise.
107305         * modules/carray-list-tests: Likewise.
107306         * modules/crc-tests: Likewise.
107307         * modules/des-tests: Likewise.
107308         * modules/gc-arcfour-tests: Likewise.
107309         * modules/gc-arctwo-tests: Likewise.
107310         * modules/gc-des-tests: Likewise.
107311         * modules/gc-hmac-md5-tests: Likewise.
107312         * modules/gc-hmac-sha1-tests: Likewise.
107313         * modules/gc-md2-tests: Likewise.
107314         * modules/gc-md4-tests: Likewise.
107315         * modules/gc-md5-tests: Likewise.
107316         * modules/gc-pbkdf2-sha1-tests: Likewise.
107317         * modules/gc-rijndael-tests: Likewise.
107318         * modules/gc-sha1-tests: Likewise.
107319         * modules/gc-tests: Likewise.
107320         * modules/getaddrinfo-tests: Likewise.
107321         * modules/hmac-md5-tests: Likewise.
107322         * modules/hmac-sha1-tests: Likewise.
107323         * modules/linked-list-tests: Likewise.
107324         * modules/linkedhash-list-tests: Likewise.
107325         * modules/lock-tests: Likewise.
107326         * modules/md2-tests: Likewise.
107327         * modules/md4-tests: Likewise.
107328         * modules/md5-tests: Likewise.
107329         * modules/rbtree-list-tests: Likewise.
107330         * modules/rbtree-oset-tests: Likewise.
107331         * modules/rbtreehash-list-tests: Likewise.
107332         * modules/read-file-tests: Likewise.
107333         * modules/rijndael-tests: Likewise.
107334         * modules/stdint-tests: Likewise.
107335         * modules/tls-tests: Likewise.
107337 2007-02-24  Bruno Haible  <bruno@clisp.org>
107339         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
107340         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
107341         function; instead check whether isnan with a double argument links.
107342         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
107343         function; instead check whether isnan with a 'long double' argument
107344         links.
107345         Reported by Eric Blake <ebb9@byu.net>.
107347 2007-02-24  Bruno Haible  <bruno@clisp.org>
107349         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
107350         defined.
107351         * lib/isnanl.c: Remove all code. Just include isnan.c.
107352         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
107354 2007-02-25  Jim Meyering  <jim@meyering.net>
107356         Avoid conflicting types for 'unsetenv' on FreeBSD.
107357         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
107358         conflicting with FreeBSD's (5.0 and 6.1) function declaration
107359         in stdlib.h.
107361 2007-02-24  Bruno Haible  <bruno@clisp.org>
107363         * modules/isnanl-nolibm-tests: New file.
107364         * tests/test-isnanl.c: New file.
107366         * modules/isnanl-nolibm: New file.
107367         * lib/isnanl.h: New file.
107368         * lib/isnanl.c: New file.
107369         * m4/isnanl.m4: New file.
107371 2007-02-24  Bruno Haible  <bruno@clisp.org>
107373         * modules/isnan-nolibm-tests: New file.
107374         * tests/test-isnan.c: New file.
107376         * modules/isnan-nolibm: New file.
107377         * lib/isnan.h: New file.
107378         * lib/isnan.c: New file.
107379         * m4/isnan.m4: New file.
107381 2007-02-24  Bruno Haible  <bruno@clisp.org>
107383         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
107384         assume that an exponent fits in 20 bits.
107386 2007-02-24  Jim Meyering  <jim@meyering.net>
107388         * m4/regex.m4: Update the description of the configure-time option,
107389         --without-included-regex, to state accurately what the defaults are,
107390         and perhaps to give people an idea why using this option is risky.
107392 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
107394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
107395         loops on small arguments.  This attempts to avoid the problem
107396         Bruno Haible reported for AIX 4.3.2 in
107397         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
107399 2007-02-23  Bruno Haible  <bruno@clisp.org>
107401         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
107402         Needed for help2man.
107404 2007-02-23  Karl Berry  <karl@gnu.org>
107406         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
107407         exists, foo.h should be cvs-ignored, not committed.
107409 2007-02-23  Eric Blake  <ebb9@byu.net>
107411         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
107412         * lib/stat-time.h (includes): Likewise.
107413         * lib/utimecmp.c (includes): Likewise.
107414         * lib/utimens.h (includes): Likewise.
107415         * lib/getdate.y (includes): Also include "timespec.h" for use
107416         internal to the module.
107417         * modules/utimens (Depends-on): Revert yesterday's patch.
107418         * modules/nanosleep (Depends-on): Add missing dependency.
107420 2007-02-22  Bruno Haible  <bruno@clisp.org>
107422         * lib/glob.c: Don't include getlogin_r.h.
107424 2007-02-22  Jim Meyering  <jim@meyering.net>
107426         * modules/utimens (Depends-on): Add timespec, required for
107427         utimens.h's inclusion of timespec.h.
107429 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
107431         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
107432         long unreadable paths in GNU/Linux.  Problem reported by Andreas
107433         Schwab in
107434         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
107435         I'll try to think of a better way to fix the Solaris problem.
107437         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
107438         like glibc; on Solaris 10, it fails with errno == EINVAL.
107439         POSIX says the behavior is unspecified if the first argument is NULL,
107440         so play it safe and never pass NULL to the system getcwd.
107442 2007-02-21  Jim Meyering  <jim@meyering.net>
107444         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
107445         of gettimeofday.  It would conflict with the one now always
107446         provided via sys_time_.h.  Reported by Matthew Woehlke, as
107447         an IRIX 6.5 build failure.
107449 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
107451         Minor fixups to port to Solaris 10 with Sun C 5.8.
107452         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
107453         * modules/getcwd (Depends-on): Add dirfd.
107454         * lib/putenv.c (putenv): #undef it.
107455         (rpl_putenv): New decl.
107456         (malloc, free): Include <stdlib.h> rather than prototyping separately.
107458 2007-02-20  Bruno Haible  <bruno@clisp.org>
107460         * modules/stdio-tests: New file.
107461         * tests/test-stdio.c: New file.
107463         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
107464         (Depends-on): Add stdio.
107465         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107466         (Include): Use <stdio.h> instead of vsnprintf.h.
107467         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107468         HAVE_DECL_VSNPRINTF.
107469         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
107471         * modules/snprintf (Files): Remove lib/snprintf.h.
107472         (Depends-on): Add stdio.
107473         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107474         (Include): Use <stdio.h> instead of snprintf.h.
107475         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107476         HAVE_DECL_SNPRINTF.
107477         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
107478         * lib/getaddrinfo.c: Likewise.
107480         * modules/stdio: New file.
107481         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
107482         * lib/snprintf.h: Remove file.
107483         * lib/vsnprintf.h: Remove file.
107484         * lib/.cppi-disable: Remove snprintf.h.
107485         * m4/stdio_h.m4: New file.
107486         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
107488 2007-02-20  Jim Meyering  <jim@meyering.net>
107490         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
107491         used by e.g., mingw.  From Bruno Haible.
107493 2007-02-19  Bruno Haible  <bruno@clisp.org>
107495         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
107496         warnings.
107497         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107499 2007-02-19  Bruno Haible  <bruno@clisp.org>
107501         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
107502         from mingw users.
107504 2007-02-19  Bruno Haible  <bruno@clisp.org>
107506         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
107507         warnings.
107508         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
107510 2007-02-19  Jim Meyering  <jim@meyering.net>
107512         Don't use FD after a successful "fdopendir (fd)".
107513         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
107514         Reset it by calling dirfd on the just-obtained DIR*.
107516         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
107517         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
107519 2007-02-18  Bruno Haible  <bruno@clisp.org>
107521         * lib/readlink.c: Include <unistd.h>.
107522         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
107523         HAVE_READLINK.
107524         * modules/readlink (Depends-on): Add unistd.
107525         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107526         (Include): Add <unistd.h>.
107528         * lib/getlogin_r.h: Remove file.
107529         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
107530         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
107531         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
107532         HAVE_DECL_GETLOGIN_R.
107533         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
107534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107535         (Include): Use <unistd.h> instead of getlogin_r.h.
107537         * lib/getcwd.h: Remove file.
107538         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
107539         * lib/xgetcwd.c: Likewise.
107540         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
107541         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
107542         * modules/getcwd (Files): Remove lib/getcwd.h.
107543         (Depends-on): Add unistd.
107544         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107545         (Include): Use <unistd.h> instad of getcwd.h.
107547         * lib/ftruncate.c: Include <unistd.h> first.
107548         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
107549         Set HAVE_FTRUNCATE.
107550         * modules/ftruncate (Depends-on): Add unistd.
107551         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107553         * lib/fchdir.c: Include <unistd.h> first.
107554         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
107555         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
107556         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
107557         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107558         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
107560         * lib/dup2.c: Include <unistd.h> first.
107561         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
107562         HAVE_DUP2.
107563         * modules/dup2 (Depends-on): Add unistd.
107564         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107566         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
107567         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
107568         REPLACE_CHOWN. Don't define chown as a macro here.
107569         * modules/chown (Depends-on): Add unistd.
107570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107572         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
107573         Add definition for GL_LINK_WARNING.
107574         (chown, dup2): New declarations.
107575         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
107576         link warning.
107577         (ftruncate): New declaration.
107578         (getcwd): New declaration, taken from old getcwd.h.
107579         (getlogin_r): New declaration, taken from old getlogin_r.h.
107580         (readlink): New declaration.
107581         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
107582         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
107583         (gl_PREREQ_UNISTD): Remove macro.
107584         (gl_UNISTD_MODULE_INDICATOR): New macro.
107585         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
107586         many new variables. Don't set UNISTD_H.
107587         * modules/unistd (Description): Change.
107588         (Depends-on): Add link-warning.
107589         (configure.ac): Update.
107590         (Makefile.am): Create unistd.h always. Substitute many new variables
107591         into it.
107593 2007-02-18  Bruno Haible  <bruno@clisp.org>
107595         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
107596         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
107597         HAVE_GETSUBOPT.
107598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
107599         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
107600         * lib/getsubopt.h: Remove file.
107601         * modules/getsubopt (Files): Remove lib/getsubopt.h.
107602         (Depends-on): Add stdlib.
107603         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107604         (Includes): Use <stdlib.h> instead of getsubopt.h.
107605         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
107606         Set HAVE_GETSUBOPT.
107607         * lib/getsubopt.c: Don't include getsubopt.h.
107609 2007-02-18  Bruno Haible  <bruno@clisp.org>
107611         * modules/fchdir (Depends-on): Add dup2.
107613 2007-02-18  Bruno Haible  <bruno@clisp.org>
107615         * lib/stdlib_.h: Handle glibc's special invocation convention
107616         specially.
107618 2007-02-18  Bruno Haible  <bruno@clisp.org>
107620         * modules/stdlib-tests: New file.
107621         * tests/test-stdlib.c: New file.
107623         * modules/mkstemp (Files): Remove lib/mkstemp.h.
107624         (Depends-on): Add stdlib.
107625         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107626         (Includes): Use <stdlib.h> instead of mkstemp.h.
107627         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107628         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
107629         * lib/mkstemp.c: Don't include mkstemp.h.
107630         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
107631         * lib/stdlib--.h: Don't include mkstemp.h.
107633         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
107634         (Depends-on): Add stdlib.
107635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107636         (Includes): Use <stdlib.h> instead of mkdtemp.h.
107637         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107638         HAVE_MKDTEMP.
107639         * lib/mkdtemp.c: Don't include mkdtemp.h.
107640         * lib/clean-temp.c: Don't include mkdtemp.h.
107642         * modules/exit (Files): Remove lib/exit.h.
107643         (Depends-on): Add stdlib.
107644         (Makefile.am): Remove lib_SOURCES.
107645         (Include): Use <stdlib.h> instead of exit.h.
107646         * lib/argmatch.c: Don't include exit.h.
107647         * lib/execute.c: Likewise.
107648         * lib/pagealign_alloc.c: Likewise.
107649         * lib/pipe.c: Likewise.
107650         * lib/wait-process.c: Likewise.
107651         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
107652         * lib/exitfail.c: Likewise.
107653         * lib/savewd.c: Likewise.
107654         * lib/xsetenv.c: Likewise.
107656         * modules/stdlib: New file.
107657         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
107658         and extra comments about mkstemp().
107659         * lib/exit.h: Remove file.
107660         * lib/mkdtemp.h: Remove file.
107661         * lib/mkstemp.h: Remove file.
107662         * m4/stdlib_h.m4: New file.
107663         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
107665 2007-02-18  Bruno Haible  <bruno@clisp.org>
107667         * modules/math-tests: New file.
107668         * tests/test-math.c: New file.
107670         * modules/math: New file.
107671         * modules/mathl (Files): Remove lib/mathl.h.
107672         (Depends-on): Add math.
107673         (Makefile.am): Don't mention mathl.h.
107674         (Include): Use <math.h> instead of mathl.h.
107675         * lib/math_.h: New file.
107676         * lib/mathl.h: Remove file.
107677         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
107678         mathl.h.
107679         * lib/asinl.c: Likewise.
107680         * lib/atanl.c: Likewise.
107681         * lib/ceill.c: Likewise.
107682         * lib/cosl.c: Likewise.
107683         * lib/expl.c: Likewise.
107684         * lib/floorl.c: Likewise.
107685         * lib/frexpl.c: Likewise.
107686         * lib/ldexpl.c: Likewise.
107687         * lib/logl.c: Likewise.
107688         * lib/sincosl.c: Likewise.
107689         * lib/sinl.c: Likewise.
107690         * lib/sqrtl.c: Likewise.
107691         * lib/tanl.c: Likewise.
107692         * lib/trigl.c: Likewise.
107693         * m4/math_h.m4: New file.
107694         * MODULES.html.sh (Mathematics): Add math.
107696 2007-02-17  Bruno Haible  <bruno@clisp.org>
107698         * modules/wctype-tests: New file.
107699         * tests/test-wctype.c: New file.
107701         * modules/wchar-tests: New file.
107702         * tests/test-wchar.c: New file.
107704         * modules/unistd-tests: New file.
107705         * tests/test-unistd.c: New file.
107707         * modules/time-tests: New file.
107708         * tests/test-time.c: New file.
107710         * modules/sysexits-tests: New file.
107711         * tests/test-sysexits.c: New file.
107713         * modules/sys_time-tests: New file.
107714         * tests/test-sys_time.c: New file.
107716         * modules/sys_stat-tests: New file.
107717         * tests/test-sys_stat.c: New file.
107719         * modules/sys_socket-tests: New file.
107720         * tests/test-sys_socket.c: New file.
107722         * modules/sys_select-tests: New file.
107723         * tests/test-sys_select.c: New file.
107725         * modules/string-tests: New file.
107726         * tests/test-string.c: New file.
107728         * modules/stdbool-tests: New file.
107729         * tests/test-stdbool.c: New file.
107731         * modules/netinet_in-tests: New file.
107732         * tests/test-netinet_in.c: New file.
107734         * modules/inttypes-tests: New file.
107735         * tests/test-inttypes.c: New file.
107737         * modules/fcntl-tests: New file.
107738         * tests/test-fcntl.c: New file.
107740         * modules/byteswap-tests: New file.
107741         * tests/test-byteswap.c: New file.
107743         * modules/arpa_inet-tests: New file.
107744         * tests/test-arpa_inet.c: New file.
107746 2007-02-17  Bruno Haible  <bruno@clisp.org>
107748         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
107749         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
107750         if the corresponding module is not enabled. Emit link warnings if
107751         the function is used nevertheless.
107752         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
107753         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
107754         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
107755         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
107756         * modules/inttypes (Depends-on): Add link-warning.
107757         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107758         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
107759         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
107760         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
107761         * modules/imaxdiv (configure.ac): Likewise.
107762         * modules/strtoimax (configure.ac): Likewise.
107763         * modules/strtoumax (configure.ac): Likewise.
107765 2007-02-17  Bruno Haible  <bruno@clisp.org>
107767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
107768         gl_STRING_MODULE_INDICATOR_DEFAULTS.
107769         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
107770         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
107772 2007-02-17  Bruno Haible  <bruno@clisp.org>
107774         * modules/link-warning: New file.
107775         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
107776         * lib/string_.h (GL_LINK_WARNING): Remove definition.
107777         * modules/string (Depends-on): Add link-warning.
107778         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107779         string.h.
107780         * MODULES.html.sh (Support for building libraries and executables): Add
107781         link-warning.
107783 2007-02-17  Bruno Haible  <bruno@clisp.org>
107785         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
107786         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
107787         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
107788         long lines.
107790 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
107791             Bruno Haible  <bruno@clisp.org>
107793         * modules/tmpfile: New file.
107794         * lib/tmpfile.c: New file.
107795         * m4/tmpfile.m4: New file.
107796         * MODULES.html.sh (func_all_modules): New section "Input/output".
107798 2007-02-15  Bruno Haible  <bruno@clisp.org>
107800         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
107801         (supports_delete_on_close): New function.
107802         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
107804 2007-02-14  Bruno Haible  <bruno@clisp.org>
107806         * modules/mbspcasecmp-tests: New file.
107807         * tests/test-mbspcasecmp.sh: New file.
107808         * tests/test-mbspcasecmp.c: New file.
107810         New module mbspcasecmp.
107811         * modules/mbspcasecmp: New file.
107812         * lib/mbspcasecmp.c: New file.
107813         * lib/string_.h (strncasecmp): Change warning message.
107814         (mbspcasecmp): New declaration.
107815         * m4/mbspcasecmp.m4: New file.
107816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107817         GNULIB_MBSPCASECMP.
107818         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
107819         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
107821 2007-02-14  Bruno Haible  <bruno@clisp.org>
107823         * modules/mbsncasecmp-tests: New file.
107824         * tests/test-mbsncasecmp.sh: New file.
107825         * tests/test-mbsncasecmp.c: New file.
107827         New module mbsncasecmp.
107828         * modules/mbsncasecmp: New file.
107829         * lib/mbsncasecmp.c: New file.
107830         * lib/string_.h (mbsncasecmp): New declaration.
107831         * m4/mbsncasecmp.m4: New file.
107832         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107833         GNULIB_MBSNCASECMP.
107834         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
107835         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
107837 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
107839         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
107840         Verify that it doesn't overlap with our flags.
107841         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
107842         do not have the desired effect in multibyte locales; instead, use
107843         mbscasecmp.
107844         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
107845         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
107846         we don't require GNU fnmatch ourselves (if our users require it, they
107847         should do so explicitly).
107849         Fix regex code so it doesn't rely on strcasecmp.
107850         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
107851         Otherwise, include gnulib's langinfo.h.
107852         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
107853         undesirable behavior in non-C locales.  Instead, rely on localecharset.
107854         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
107855         * modules/regex (FILES): Remove m4/codeset.m4.
107856         (Depends-on): Add localcharset.  Remove strcase.
107858 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107860         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
107861         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
107863 2007-02-13  Bruno Haible  <bruno@clisp.org>
107865         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
107866         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107868 2007-02-12  Bruno Haible  <bruno@clisp.org>
107870         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107871         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
107872         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
107873         time warning rather than a link error.
107875 2007-02-12  Bruno Haible  <bruno@clisp.org>
107877         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
107878         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
107879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107881 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107883         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
107884         args, not 2.
107886 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107888         New module 'time', so that apps can include <time.h> as per
107889         POSIX and GNU instead of separate include files like time_r.h
107890         and timegm.h.  This implementation tries out a simpler approach
107891         for replacing decls in standard include files (as compared to
107892         the string module), somewhat as an experiment.
107894         * config/srclist.txt: Comment out mktime.c for now.
107895         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
107896         since it doesn't apply any more.  Use generic wording instead.
107897         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
107898         'time'.
107899         * lib/time_.h, m4/time_h.m4, modules/time: New files.
107900         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
107901         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
107902         Don't include <sys/types.h>; no longer needed since we assume C89.
107903         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
107904         * lib/strftime.c: Likewise.
107905         * lib/time_r.c: Likewise.
107906         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
107907         * lib/nanosleep.c: Include <time.h> first, to check interface.
107908         * lib/strptime.c: Likewise.
107909         * lib/time_r.c: Likewise.
107910         * lib/timegm.c: Likewise.
107911         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
107912         needed.
107913         * lib/timegm.c: Don't include timegm.h; no longer needed.
107914         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
107915         time.h now handles any problems in that area.
107916         (struct timespec, nanosleep): Remove; time.h now arranges for these.
107917         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
107918         that time.h defines struct timespec.
107919         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
107920         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
107921         handles that.
107922         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
107923         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
107924         needed.  Set REPLACE_LOCALTIME.
107925         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
107926         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
107927         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
107928         nanosleep; time_h.m4 now does that.  Don't require
107929         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
107930         module handles this now.
107931         * modules/getdate (Depends-on): Remove timespec.  Add time.
107932         * modules/nanosleep (Depends-on): Likewise.
107933         * modules/stat-time (Depends-on): Likewise.
107934         * modules/nanosleep (Include): Include time.h, not timespec.h.
107935         * modules/strptime (Files): Remove lib/strptime.h.
107936         (Depends-on): Add extensions, time.
107937         (Include): Include time.h, not strptime.h.
107938         * modules/time_r (Files): Remove lib/time_r.h.
107939         (Depends-on): Add time.
107940         (Include): Include time.h, not time_r.h.
107941         * modules/timegm: Likewise.
107942         * modules/timespec (Description): Now does timespec-related decls
107943         of our own, instead of struct timespec itself.
107944         (Depends-on): Add time; remove extensions.
107945         (Maintainer): Add self.
107946         * modules/utimecmp (Depends-on): Add time; remove timespec.
107947         * modules/utimens (Depends-on): Likewise.
107948         * modules/xnanosleep (Depends-on): Likewise.
107950 2007-02-11  Bruno Haible  <bruno@clisp.org>
107952         * lib/c-strstr.c: Include allocsa.h.
107953         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107954         * lib/c-strcasestr.c: Include allocsa.h.
107955         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107956         * lib/strcasestr.c: Include allocsa.h.
107957         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107958         * lib/mbsstr.c: Include allocsa.h.
107959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107960         allocsa/freesa instead of malloc/free.
107961         * lib/mbscasestr.c: Include allocsa.h.
107962         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107963         allocsa/freesa instead of malloc/free.
107964         * modules/c-strstr (Depends-on): Add allocsa.
107965         * modules/c-strcasestr (Depends-on): Likewise.
107966         * modules/strcasestr (Depends-on): Likewise.
107967         * modules/mbsstr (Depends-on): Likewise.
107968         * modules/mbscasestr (Depends-on): Likewise.
107970 2007-02-11  Bruno Haible  <bruno@clisp.org>
107972         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
107974         * modules/mbsspn-tests: New file.
107975         * tests/test-mbsspn.sh: New file.
107976         * tests/test-mbsspn.c: New file.
107978 2007-02-11  Bruno Haible  <bruno@clisp.org>
107980         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
107982         * modules/mbspbrk-tests: New file.
107983         * tests/test-mbspbrk.sh: New file.
107984         * tests/test-mbspbrk.c: New file.
107986 2007-02-11  Bruno Haible  <bruno@clisp.org>
107988         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
107989         unneeded cast.
107991         * modules/mbscspn-tests: New file.
107992         * tests/test-mbscspn.sh: New file.
107993         * tests/test-mbscspn.c: New file.
107995 2007-02-11  Bruno Haible  <bruno@clisp.org>
107997         * modules/mbscasecmp-tests: New file.
107998         * tests/test-mbscasecmp.sh: New file.
107999         * tests/test-mbscasecmp.c: New file.
108001 2007-02-11  Bruno Haible  <bruno@clisp.org>
108003         Ensure O(n) worst-case complexity of mbscasestr.
108004         * lib/mbscasestr.c: Include stdbool.h.
108005         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108006         functions.
108007         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
108008         the bookkeeping indicates that it's worth it.
108009         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
108011         * modules/mbscasestr-tests: New file.
108012         * tests/test-mbscasestr1.c: New file.
108013         * tests/test-mbscasestr2.sh: New file.
108014         * tests/test-mbscasestr2.c: New file.
108015         * tests/test-mbscasestr3.sh: New file.
108016         * tests/test-mbscasestr3.c: New file.
108017         * tests/test-mbscasestr4.sh: New file.
108018         * tests/test-mbscasestr4.c: New file.
108019         * m4/locale-tr.m4: New file.
108021 2007-02-11  Bruno Haible  <bruno@clisp.org>
108023         Ensure O(n) worst-case complexity of mbsstr.
108024         * lib/mbsstr.c: Include stdbool.h.
108025         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108026         functions.
108027         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
108028         bookkeeping indicates that it's worth it.
108029         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
108031         * modules/mbsstr-tests: New file.
108032         * tests/test-mbsstr1.c: New file.
108033         * tests/test-mbsstr2.sh: New file.
108034         * tests/test-mbsstr2.c: New file.
108035         * tests/test-mbsstr3.sh: New file.
108036         * tests/test-mbsstr3.c: New file.
108037         * m4/locale-fr.m4: New file.
108039 2007-02-11  Bruno Haible  <bruno@clisp.org>
108041         * lib/mbsrchr.c (mbsrchr): Fix bug.
108043         * modules/mbsrchr-tests: New file.
108044         * tests/test-mbsrchr.sh: New file.
108045         * tests/test-mbsrchr.c: New file.
108047 2007-02-11  Bruno Haible  <bruno@clisp.org>
108049         * lib/mbschr.c (mbschr): Fix bug.
108051         * modules/mbschr-tests: New file.
108052         * tests/test-mbschr.sh: New file.
108053         * tests/test-mbschr.c: New file.
108054         * m4/locale-zh.m4: New file.
108056 2007-02-11  Bruno Haible  <bruno@clisp.org>
108058         Support for copying multibyte string iterators.
108059         * lib/mbiter.h: Include <string.h>.
108060         (mbiter_multi_copy): New function.
108061         (mbi_copy): New macro.
108062         * lib/mbuiter.h: Include <string.h>.
108063         (mbuiter_multi_copy): New function.
108064         (mbui_copy): New macro.
108066 2007-02-11  Bruno Haible  <bruno@clisp.org>
108068         New module mbslen.
108069         * modules/mbslen: New file.
108070         * lib/mbslen.c: New file.
108071         * lib/string_.h (mbslen): New declaration.
108072         * m4/mbslen.m4: New file.
108073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108074         GNULIB_MBSLEN.
108075         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
108076         * MODULES.html.sh (Internationalization functions): Add mbslen.
108078 2007-02-11  Bruno Haible  <bruno@clisp.org>
108080         Ensure O(n) worst-case complexity of strcasestr substitute.
108081         * lib/strcasestr.c: Include stdbool.h.
108082         (knuth_morris_pratt): New function.
108083         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108084         bookkeeping indicates that it's worth it.
108085         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
108087         * modules/strcasestr-tests: New file.
108088         * tests/test-strcasestr.c: New file.
108090 2007-02-11  Bruno Haible  <bruno@clisp.org>
108092         Ensure O(n) worst-case complexity of c_strcasestr.
108093         * lib/c-strcasestr.c: Include stdbool.h, string.h.
108094         (knuth_morris_pratt): New function.
108095         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
108096         the bookkeeping indicates that it's worth it.
108097         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
108099         * modules/c-strcasestr-tests: New file.
108100         * tests/test-c-strcasestr.c: New file.
108102 2007-02-11  Bruno Haible  <bruno@clisp.org>
108104         Ensure O(n) worst-case complexity of c_strstr.
108105         * lib/c-strstr.c: Include stdbool.h, string.h.
108106         (knuth_morris_pratt): New function.
108107         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108108         bookkeeping indicates that it's worth it.
108109         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
108111         * lib/c-strstr.c: Complete rewrite for maintainability.
108113         * modules/c-strstr-tests: New file.
108114         * tests/test-c-strstr.c: New file.
108116 2007-02-11  Bruno Haible  <bruno@clisp.org>
108118         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
108119         5.2.1 and earlier, whereby \055 was treated just like the range
108120         delimiter '-'.
108121         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
108123 2007-02-08  Bruno Haible  <bruno@clisp.org>
108125         * modules/regex (Depends-on): Add stdbool.
108126         Reported by Dalibor Topic <robilad@kaffe.org>.
108128 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108130         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
108131         Prefer returning from main to exiting from it.
108132         Remove unnecessary parens after sizeof.
108134 2007-02-05  Bruno Haible  <bruno@clisp.org>
108136         New module mbssep.
108137         * modules/mbssep: New file.
108138         * lib/mbssep.c: New file.
108139         * lib/string_.h (strsep): Add a conditional link warning.
108140         (mbssep): New declaration.
108141         * m4/mbssep.m4: New file.
108142         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108143         GNULIB_MBSSEP.
108144         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
108145         * MODULES.html.sh (Internationalization functions): Add mbssep.
108147 2007-02-05  Bruno Haible  <bruno@clisp.org>
108149         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
108150         Optimize search in case of 1 delimiter.
108152 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108154         * lib/acl.h: Include sys/types.h before sys/acl.h.
108156 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108158         Merge upstream fix for glibc bugzilla #3957:
108160         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
108162         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
108163         bit for RE_HAT_LISTS_NOT_NEWLINE.
108164         (build_charclass_op): Remove bogus comment.
108166 2007-02-05  Simon Josefsson  <simon@josefsson.org>
108168         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
108170 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108172         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
108173         * lib/memmem.c [!defined _LIBC]: Include config.h.
108175 2007-02-04  Bruno Haible  <bruno@clisp.org>
108177         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
108178         warning message.
108180 2007-02-04  Bruno Haible  <bruno@clisp.org>
108182         New module mbstok_r.
108183         * modules/mbstok_r: New file.
108184         * lib/mbstok_r.c: New file.
108185         * lib/string_.h (strtok_r): Change argument names to match the
108186         comments. Add a conditional link warning.
108187         (mbstok_r): New declaration.
108188         * m4/mbstok_r.m4: New file.
108189         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108190         GNULIB_MBSTOK_R.
108191         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
108192         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
108194 2007-02-04  Bruno Haible  <bruno@clisp.org>
108196         New module mbsspn.
108197         * modules/mbsspn: New file.
108198         * lib/mbsspn.c: New file.
108199         * lib/string_.h (strspn): Add a conditional link warning.
108200         (mbsspn): New declaration.
108201         * m4/mbsspn.m4: New file.
108202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108203         GNULIB_MBSSPN.
108204         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
108205         * MODULES.html.sh (Internationalization functions): Add mbsspn.
108207 2007-02-04  Bruno Haible  <bruno@clisp.org>
108209         New module mbspbrk.
108210         * modules/mbspbrk: New file.
108211         * lib/mbspbrk.c: New file.
108212         * lib/string_.h (strpbrk): Add a conditional link warning.
108213         (mbspbrk): New declaration.
108214         * m4/mbspbrk.m4: New file.
108215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108216         GNULIB_MBSPBRK.
108217         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
108218         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
108220 2007-02-04  Bruno Haible  <bruno@clisp.org>
108222         New module mbscspn.
108223         * modules/mbscspn: New file.
108224         * lib/mbscspn.c: New file.
108225         * lib/string_.h (strcspn): Add a conditional link warning.
108226         (mbscspn): New declaration.
108227         * m4/mbscspn.m4: New file.
108228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108229         GNULIB_MBSCSPN.
108230         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
108231         * MODULES.html.sh (Internationalization functions): Add mbscspn.
108233 2007-02-04  Bruno Haible  <bruno@clisp.org>
108235         New module mbscasestr, reduced goal of strcasestr.
108236         * modules/mbscasestr: New file.
108237         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
108238         (mbscasestr): Renamed from strcasestr.
108239         * lib/strcasestr.c: Don't include mbuiter.h.
108240         (strcasestr): Remove support for multibyte locales.
108241         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
108242         Change the conditional link warning.
108243         (mbscasestr): New declaration.
108244         * m4/mbscasestr.m4: New file.
108245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
108246         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
108247         REPLACE_STRCASESTR.
108248         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
108249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108250         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108251         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
108252         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
108253         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108254         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
108255         (Depends-on): Remove mbuiter.
108256         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
108258 2007-02-04  Bruno Haible  <bruno@clisp.org>
108260         Simplify handling of strncasecmp.
108261         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
108262         the conditional link warning.
108263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108264         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
108265         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
108266         * modules/strcase (configure.ac): Don't invoke
108267         gl_STRING_MODULE_INDICATOR.
108268         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
108270 2007-02-04  Bruno Haible  <bruno@clisp.org>
108272         New module mbscasecmp, reduced goal of strcasecmp.
108273         * modules/mbscasecmp: New file.
108274         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
108275         (mbscasecmp): Renamed from strcasecmp.
108276         * lib/strcasecmp.c: Don't include mbuiter.h.
108277         (strcasecmp): Remove support for multibyte locales.
108278         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
108279         Change the conditional link warning.
108280         (mbscasecmp): New declaration.
108281         * m4/mbscasecmp.m4: New file.
108282         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
108283         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
108284         REPLACE_STRCASECMP.
108285         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
108286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108287         GNULIB_MBSCASECMP.
108288         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
108289         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
108290         * modules/strcase (Files): Remove m4/mbrtowc.m4.
108291         (Depends-on): Remove mbuiter.
108292         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
108294 2007-02-04  Bruno Haible  <bruno@clisp.org>
108296         New module mbsstr. Remove module strstr.
108297         * modules/mbsstr: New file.
108298         * modules/strstr: Remove file.
108299         * lib/mbsstr.c: Renamed from lib/strstr.c.
108300         (mbsstr): Renamed from strstr.
108301         * lib/string_.h (strstr): Remove declaration. Change the conditional
108302         link warning.
108303         (mbsstr): New declaration.
108304         * m4/mbsstr.m4: New file.
108305         * m4/strstr.m4: Remove file.
108306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
108307         REPLACE_STRSTR.
108308         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
108309         Don't initialize GNULIB_STRSTR.
108310         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
108311         substitute GNULIB_STRSTR and REPLACE_STRSTR.
108312         * MODULES.html.sh (Internationalization functions): Add mbsstr.
108313         (Support for systems lacking ANSI C 89): Remove strstr.
108315 2007-02-04  Bruno Haible  <bruno@clisp.org>
108317         New module mbsrchr.
108318         * modules/mbsrchr: New file.
108319         * lib/mbsrchr.c: New file.
108320         * lib/string_.h (strrchr): Add a conditional link warning.
108321         (mbsrchr): New declaration.
108322         * m4/mbsrchr.m4: New file.
108323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108324         GNULIB_MBSRCHR.
108325         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
108326         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
108328 2007-02-04  Bruno Haible  <bruno@clisp.org>
108330         New module mbschr.
108331         * modules/mbschr: New file.
108332         * lib/mbschr.c: New file.
108333         * lib/string_.h (strchr): Add a conditional link warning.
108334         (mbschr): New declaration.
108335         * m4/mbschr.m4: New file.
108336         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108337         GNULIB_MBSCHR.
108338         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
108339         * MODULES.html.sh (Internationalization functions): Add mbschr.
108341 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108343         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
108345         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
108347 2007-02-04  Bruno Haible  <bruno@clisp.org>
108349         New module description section 'configure.ac-early'.
108350         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
108351         (func_get_autoconf_early_snippet): New function.
108352         (func_import, func_create_testdir): Use it. Remove special cases for
108353         modules 'extensions' and 'lock'.
108354         * modules/extensions (configure.ac-early): Require
108355         gl_USE_SYSTEM_EXTENSIONS.
108356         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
108358 2007-02-04  Bruno Haible  <bruno@clisp.org>
108360         Make use of gcj-4.3's -fsource and -ftarget option.
108361         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
108362         and if so try the options -fsource and -ftarget.
108363         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
108364         source_version, ftarget_option, target_version arguments.
108365         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
108366         (is_envjavac_oldgcj_14_14_usable): Renamed from
108367         is_envjavac_gcj_14_14_usable.
108368         (is_envjavac_oldgcj_14_13_usable): Renamed from
108369         is_envjavac_gcj_14_13_usable.
108370         (is_gcj_present): Update.
108371         (is_gcj_43, is_gcj43_usable): New functions.
108372         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
108373         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
108374         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
108375         try the options -fsource and -ftarget.
108377 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
108379         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
108380         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
108381         larger value.
108383 2007-02-03  Jim Meyering  <jim@meyering.net>
108385         Give tools a better chance to allocate space for very large buffers.
108386         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
108388         Make pwd and readlink work also when run with an unreadable parent dir
108389         on systems with openat support.
108390         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
108391         provided getcwd function, even when we have openat support.
108392         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
108394 2007-02-02  Bruno Haible  <bruno@clisp.org>
108396         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108397         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
108398         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
108399         portability problems if one of these functions is only used on specific
108400         platforms.
108401         Reported by Paul Eggert.
108403 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
108405         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
108406         is causing more trouble than it's curing.
108407         * lib/regex_internal.h (__mempcpy): Remove.
108408         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
108409         (and make the code a tad smaller to boot).
108410         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
108412 2007-02-02  Jim Meyering  <jim@meyering.net>
108414         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
108415         section, not in the Makefile.am: one.
108417 2007-02-02  Eric Blake  <ebb9@byu.net>
108419         * lib/strchrnul.c: Always include config.h first.
108421         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
108422         gnulib strstr is not necessary here.
108424 2007-02-02  Simon Josefsson  <simon@josefsson.org>
108426         * m4/socklen.m4: Fix typo.
108428 2007-02-02  Eric Blake  <ebb9@byu.net>
108430         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
108431         * modules/netinet_in (Makefile.am): Likewise.
108433 2007-02-01  Bruno Haible  <bruno@clisp.org>
108435         * lib/string_.h (GL_LINK_WARNING): New macro.
108436         (strcasecmp, strstr, strcasestr): If provided by the system,
108437         conditionally define as a macro that leads to a warning instead of to
108438         an error.
108439         (strncasecmp): Conditionally define as a macro that leads to a warning.
108441 2007-02-01  Karl Berry  <karl@gnu.org>
108443         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
108445 2007-02-01  Bruno Haible  <bruno@clisp.org>
108447         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
108448         renamings.
108450 2007-02-01  Eric Blake  <ebb9@byu.net>
108452         * modules/regex (Depends-on): Revert dependence on mempcpy.
108453         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
108454         module's definition of mempcpy.
108455         Reported by Paul Eggert.
108457 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
108459         * lib/string_.h: If the gnulib module XYZ is not present, undefine
108460         the symbol XYZ before redefining it.  This fixes a problem with
108461         programs that don't use XYZ, when compiled on systems that define
108462         XYZ to something else.
108464 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
108466         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
108467         occurs when "mkdir -m foo" creates a setgid directory that is (1)
108468         writeable to group or other and (2) is intended to have a special
108469         mode bit that is set or cleared.  In such a case, the directory
108470         should be neither group- nor other-writeable until the special
108471         mode bits are right.
108473 2007-01-31  Eric Blake  <ebb9@byu.net>
108475         * modules/mountlist (Depends-on): Add strstr.
108477         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
108478         bug.
108479         * modules/string (Makefile.am): Remove redundant replacement.
108480         * modules/regex (Depends-on): Add mempcpy.
108482 2007-01-31  Bruno Haible  <bruno@clisp.org>
108484         New module description field 'Link'.
108485         * gnulib-tool (func_usage): Document --extract-link-directive.
108486         (sed_extract_prog): Recognize 'Link' directive.
108487         (func_get_link_directive): New function.
108488         (func_import): Show summary of link directives.
108489         Handle --extract-link-directive option.
108490         * modules/acl (Link): New section.
108491         * modules/clock-time (Link): New section.
108492         * modules/euidaccess (Link): New section.
108493         * modules/gettext (Link): New section.
108494         * modules/iconv (Link): New section.
108495         * modules/lock (Link): New section.
108496         * modules/nanosleep (Link): New section.
108497         * modules/readline (Link): New section.
108499 2007-01-27  Bruno Haible  <bruno@clisp.org>
108501         Enforce the use of gnulib modules for unportable <string.h> functions.
108502         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
108503         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
108504         (gl_HEADER_STRING_H_BODY): Require it.
108505         * lib/string_.h: If the gnulib module XYZ is not present, redefine
108506         the symbol XYZ to one that gives a link error.
108507         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
108508         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
108509         * modules/mempcpy (configure.ac): Likewise.
108510         * modules/memrchr (configure.ac): Likewise.
108511         * modules/stpcpy (configure.ac): Likewise.
108512         * modules/stpncpy (configure.ac): Likewise.
108513         * modules/strcase (configure.ac): Likewise.
108514         * modules/strcasestr (configure.ac): Likewise.
108515         * modules/strchrnul (configure.ac): Likewise.
108516         * modules/strdup (configure.ac): Likewise.
108517         * modules/strndup (configure.ac): Likewise.
108518         * modules/strnlen (configure.ac): Likewise.
108519         * modules/strpbrk (configure.ac): Likewise.
108520         * modules/strsep (configure.ac): Likewise.
108521         * modules/strstr (configure.ac): Likewise.
108522         * modules/strtok_r (configure.ac): Likewise.
108524 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
108526         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
108528 2007-01-30  Jim Meyering  <jim@meyering.net>
108530         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
108532 2007-01-29  Bruno Haible  <bruno@clisp.org>
108534         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
108535         * lib/execute.c: Likewise.
108536         * lib/pipe.c: Likewise.
108537         * lib/printf-args.h: Likewise.
108538         * lib/printf-args.c: Likewise.
108539         * lib/printf-parse.c: Likewise.
108540         * lib/vasnprintf.c: Likewise.
108542 2007-01-29  Eric Blake  <ebb9@byu.net>
108544         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
108545         declaration.
108547 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
108549         * lib/strptime.h (strptime): Use 'restrict' for args where
108550         POSIX requires this.
108551         * lib/strptime.c (strptime): Likewise.
108552         Change license notice from LGPL to GPL, since gnulib-tool will
108553         change this as needed.
108554         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
108555         defined.
108556         Include "strptime.h" first, to check interface.
108557         Do not #undef _LIBC and _NL_CURRENT.
108558         Do not include <stdlib.h>; no longer needed.
108559         Include "time_r.h" and declare ptime_locale_status
108560         only if _LIBC is not defined.
108561         (__P): Remove unused macro.
108562         (match_string): Bring back glibc version, but use it only if _LIBC
108563         is defined.
108564         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
108565         Remove unnecessary assertion and abort() call.
108566         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
108567         * m4/strptime.m4: Fix serial number comment.
108568         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
108569         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
108570         (Depends-on): Add time_r.
108572 2007-01-29  Bruno Haible  <bruno@clisp.org>
108574         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108575         strptime.
108576         * modules/strptime (Depends-on): Add stdbool.
108577         * lib/strptime.h: Include <time.h> always. Add comments.
108579 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108581         * modules/strptime: New file.
108582         * lib/strptime.h: New file.
108583         * lib/strptime.c: New file.
108584         * m4/strptime.m4: New file.
108586 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
108588         * MODULES.html.sh: New module mpsort.
108589         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
108591         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
108592         a circularity problem with HP-UX ia64 reported by Bob Proulx in
108593         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
108594         All uses changed.
108595         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
108596         All uses changed.
108597         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
108598         to _Restrict_.
108599         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
108600         the parameter matches the prototype.
108602 2007-01-28  Jim Meyering  <jim@meyering.net>
108604         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
108605         sys/time.h here, reverting that part of the previous patch:
108606         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
108608 2007-01-28  Bruno Haible  <bruno@clisp.org>
108610         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
108611         value of $(SYS_TIME_H).
108612         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
108613         remove it conditionally, too. [added by Jim Meyering]
108614         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
108615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108616         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
108617         GETTIMEOFDAY_REPLACEMENT to 1.
108619 2007-01-28  Bruno Haible  <bruno@clisp.org>
108621         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
108622         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
108623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
108624         Set UNISTD_H instead of UNISTD_H2.
108625         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
108627 2007-01-28  Bruno Haible  <bruno@clisp.org>
108629         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
108630         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
108632 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108634         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
108635         (func_create_testdir): Ensure C locale for `grep' and `tr'
108636         character ranges.
108637         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
108638         ACLOCAL_AMFLAGS parsing state machine.
108640 2007-01-27  Bruno Haible  <bruno@clisp.org>
108642         * modules/unistr/base: Update.
108644 2007-01-27  Bruno Haible  <bruno@clisp.org>
108646         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
108647         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
108648         * modules/unistr/u32-mbtouc-unsafe: Renamed from
108649         modules/unistr/u32-mbtouc.
108650         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
108651         * lib/unistr.h: Update.
108652         * lib/linebreak.c: Update.
108653         * modules/unistr/u32-mbtouc: Renamed from
108654         modules/unistr/u32-mbtouc-safe.
108655         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
108656         * lib/unistr.h: Update.
108657         * lib/unistr/u32-to-u8.c: Update.
108658         * lib/unistr/u32-to-u16.c: Update.
108660 2007-01-27  Bruno Haible  <bruno@clisp.org>
108662         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
108663         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
108664         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
108665         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
108666         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
108667         * modules/unistr/u16-mbtouc-unsafe: Renamed from
108668         modules/unistr/u16-mbtouc.
108669         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
108670         * lib/unistr.h: Update.
108671         * lib/linebreak.c: Update.
108672         * modules/linebreak: Update.
108673         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
108674         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
108675         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
108676         * modules/unistr/u16-mbtouc: Renamed from
108677         modules/unistr/u16-mbtouc-safe.
108678         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
108679         * lib/unistr.h: Update.
108680         * lib/unistr/u16-to-u8.c: Update.
108681         * modules/unistr/u16-to-u8: Update.
108682         * lib/unistr/u16-to-u32.c: Update.
108683         * modules/unistr/u16-to-u32: Update.
108685 2007-01-27  Bruno Haible  <bruno@clisp.org>
108687         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
108688         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
108689         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
108690         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
108691         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
108692         * modules/unistr/u8-mbtouc-unsafe: Renamed from
108693         modules/unistr/u8-mbtouc.
108694         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
108695         * lib/unistr.h: Update.
108696         * lib/striconveh.c: Update.
108697         * modules/striconveh: Update.
108698         * lib/linebreak.c: Update.
108699         * modules/linebreak: Update.
108700         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
108701         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
108702         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
108703         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
108704         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
108705         * lib/unistr.h: Update.
108706         * lib/striconveh.c: Update.
108707         * modules/striconveh: Update.
108708         * lib/unistr/u8-to-u16.c: Update.
108709         * modules/unistr/u8-to-u16: Update.
108710         * lib/unistr/u8-to-u32.c: Update.
108711         * modules/unistr/u8-to-u32: Update.
108713 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108715         Sync from Libtool.
108716         * lib/argz.c: Do not include strings.h nor memory.h, include
108717         string.h unconditionally.  Patch by Simon Josefsson.
108719 2007-01-27  Bruno Haible  <bruno@clisp.org>
108721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
108722         from gl_HEADER_STRING_H_BODY.
108723         (gl_HEADER_STRING_H_BODY): Require it.
108724         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
108725         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
108726         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
108727         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
108728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
108729         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
108730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
108731         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
108732         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
108733         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
108734         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
108735         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
108736         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
108737         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
108738         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
108740 2007-01-27  Bruno Haible  <bruno@clisp.org>
108742         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
108743         check_PROGRAMS into noinst_PROGRAMS.
108744         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
108745         check_PROGRAMS in this case.
108746         (func_import): Set for_test to false.
108747         (func_create_testdir): Set for_test to true.
108749 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108750             Bruno Haible  <bruno@clisp.org>
108752         * modules/strcasestr (Files): Remove lib/strcasestr.h.
108753         (Depends-on): Add string.
108754         (Includes): Use <string.h> instead of strcasestr.h.
108755         * modules/string (Makefile.am): Also substitute the value of
108756         REPLACE_STRCASESTR.
108757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
108758         assume strcasestr is declared in <string.h> not <strings.h>. Also
108759         set REPLACE_STRCASESTR.
108760         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
108761         REPLACE_STRCASESTR.
108762         * lib/strcasestr.h: Remove file.
108763         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
108764         * lib/string_.h (strcasestr): New declaration.
108766 2007-01-27  Bruno Haible  <bruno@clisp.org>
108768         * lib/string_.h: Use 'extern'.
108770 2007-01-27  Jim Meyering  <jim@meyering.net>
108772         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
108773         of set-but-not-used local, "q".
108775         * lib/mempcpy.c: Include <config.h> before <string.h>.
108776         This fixes a compilation error on HP-UX, due to the system's
108777         "restrict"-using mempcpy prototype.
108779 2007-01-26  Bruno Haible  <bruno@clisp.org>
108781         Small optimization.
108782         * lib/javacomp.c: Include c-strstr.h.
108783          (is_envjavac_gcj): Use c_strstr instead of strstr.
108784         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
108786 2007-01-26  Bruno Haible  <bruno@clisp.org>
108788         * MODULES.html.sh (Unicode string functions): Add the new modules.
108790         * modules/uniconv/u32-strconv-to-locale: New file.
108791         * lib/uniconv/u32-strconv-to-locale.c: New file.
108793         * modules/uniconv/u16-strconv-to-locale: New file.
108794         * lib/uniconv/u16-strconv-to-locale.c: New file.
108796         * modules/uniconv/u8-strconv-to-locale: New file.
108797         * lib/uniconv/u8-strconv-to-locale.c: New file.
108799         * modules/uniconv/u32-strconv-from-locale: New file.
108800         * lib/uniconv/u32-strconv-from-locale.c: New file.
108802         * modules/uniconv/u16-strconv-from-locale: New file.
108803         * lib/uniconv/u16-strconv-from-locale.c: New file.
108805         * modules/uniconv/u8-strconv-from-locale: New file.
108806         * lib/uniconv/u8-strconv-from-locale.c: New file.
108808         * modules/uniconv/u32-strconv-to-enc: New file.
108809         * lib/uniconv/u32-strconv-to-enc.c: New file.
108810         * modules/uniconv/u32-strconv-to-enc-tests: New file.
108811         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
108813         * modules/uniconv/u16-strconv-to-enc: New file.
108814         * lib/uniconv/u16-strconv-to-enc.c: New file.
108815         * lib/uniconv/u-strconv-to-enc.h: New file.
108816         * modules/uniconv/u16-strconv-to-enc-tests: New file.
108817         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
108819         * modules/uniconv/u8-strconv-to-enc: New file.
108820         * lib/uniconv/u8-strconv-to-enc.c: New file.
108821         * modules/uniconv/u8-strconv-to-enc-tests: New file.
108822         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
108824         * modules/uniconv/u32-strconv-from-enc: New file.
108825         * lib/uniconv/u32-strconv-from-enc.c: New file.
108826         * modules/uniconv/u32-strconv-from-enc-tests: New file.
108827         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
108829         * modules/uniconv/u16-strconv-from-enc: New file.
108830         * lib/uniconv/u16-strconv-from-enc.c: New file.
108831         * modules/uniconv/u16-strconv-from-enc-tests: New file.
108832         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
108834         * modules/uniconv/u8-strconv-from-enc: New file.
108835         * lib/uniconv/u8-strconv-from-enc.c: New file.
108836         * lib/uniconv/u-strconv-from-enc.h: New file.
108837         * modules/uniconv/u8-strconv-from-enc-tests: New file.
108838         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
108840         * modules/uniconv/u32-conv-from-enc: New file.
108841         * lib/uniconv/u32-conv-from-enc.c: New file.
108842         * modules/uniconv/u32-conv-from-enc-tests: New file.
108843         * tests/uniconv/test-u32-conv-from-enc.c: New file.
108845         * modules/uniconv/u16-conv-from-enc: New file.
108846         * lib/uniconv/u16-conv-from-enc.c: New file.
108847         * lib/uniconv/u-conv-from-enc.h: New file.
108848         * modules/uniconv/u16-conv-from-enc-tests: New file.
108849         * tests/uniconv/test-u16-conv-from-enc.c: New file.
108851         * modules/uniconv/u8-conv-from-enc: New file.
108852         * lib/uniconv/u8-conv-from-enc.c: New file.
108853         * modules/uniconv/u8-conv-from-enc-tests: New file.
108854         * tests/uniconv/test-u8-conv-from-enc.c: New file.
108856         * modules/uniconv/base: New file.
108857         * lib/uniconv.h: New file.
108859 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
108861         * doc/gnulib-tool.texi (Initial import): Update to match current
108862         behavior with strdup module.
108863         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
108864         * lib/memmem.h: Remove; all uses removed.  This is now done
108865         by <string.h>.
108866         * lib/mempcpy.h: Likewise.
108867         * lib/memrchr.h: Likewise.
108868         * lib/stpcpy.h: Likewise.
108869         * lib/stpncpy.h: Likewise.
108870         * lib/strcase.h: Likewise.
108871         * lib/strchrnul.h: Likewise.
108872         * lib/strdup.h: Likewise.
108873         * lib/strndup.h: Likewise.
108874         * lib/strnlen.h: Likewise.
108875         * lib/strpbrk.h: Likewise.
108876         * lib/strsep.h: Likewise.
108877         * lib/strstr.h: Likewise.
108878         * lib/strtok_r.h: Likewise.
108879         * lib/string_.h: New file.
108880         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
108881         Rely on <string.h> instead.
108882         * lib/canon-host.c: Likewise.
108883         * lib/chdir-long.c: Likewise.
108884         * lib/concatpath.c: Likewise.
108885         * lib/exclude.c: Likewise.
108886         * lib/fchdir.c: Likewise.
108887         * lib/getaddrinfo.c: Likewise.
108888         * lib/getcwd.c: Likewise.
108889         * lib/getsubopt.c: Likewise.
108890         * lib/glob.c: Likewise.
108891         * lib/hard-locale.c: Likewise.
108892         * lib/iconvme.c: Likewise.
108893         * lib/javacomp.c: Likewise.
108894         * lib/mempcpy.c: Likewise.
108895         * lib/memrchr.c: Likewise.
108896         * lib/regex_internal.h: Likewise.
108897         * lib/stpncpy.c: Likewise.
108898         * lib/strcasecmp.c: Likewise.
108899         * lib/strchrnul.c: Likewise.
108900         * lib/strdup.c: Likewise.
108901         * lib/striconv.c: Likewise.
108902         * lib/striconveh.c: Likewise.
108903         * lib/striconveha.c: Likewise.
108904         * lib/strncasecmp.c: Likewise.
108905         * lib/strndup.c: Likewise.
108906         * lib/strnlen.c: Likewise.
108907         * lib/strsep.c: Likewise.
108908         * lib/strstr.c: Likewise.
108909         * lib/strtok_r.c: Likewise.
108910         * lib/userspec.c: Likewise.
108911         * lib/w32spawn.h: Likewise.
108912         * lib/xstrndup.c: Likewise.
108913         * lib/mountlist.c (strstr): Remove decl.
108914         * m4/string_h.m4: New file.
108915         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
108916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
108917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
108918         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
108919         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
108920         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
108921         Set REPLACE_STRCASECMP if necessary.
108922         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
108923         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
108924         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
108925         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
108926         HAVE_DECL_STRDUP if necessary.
108927         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
108928         since gl_FUNC_STRNDUP does that now.
108929         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
108930         Check for decl here...
108931         (gl_PREREQ_STRNLEN): ... not here.
108932         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
108933         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
108934         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
108935         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
108936         necessary.
108937         * modules/string: New file.
108938         * modules/memmem (Files): Remove special-purpose include file.
108939         (Depends-on): Add string.
108940         (Include): Include <string.h>, not the removed file.
108941         * modules/mempcpy: Likewise.
108942         * modules/memrchr: Likewise.
108943         * modules/stpcpy: Likewise.
108944         * modules/stpncpy: Likewise.
108945         * modules/strcase: Likewise.
108946         * modules/strchrnul: Likewise.
108947         * modules/strdup: Likewise.
108948         * modules/strndup: Likewise.
108949         * modules/strnlen: Likewise.
108950         * modules/strpbrk: Likewise.
108951         * modules/strsep: Likewise.
108952         * modules/strstr: Likewise.
108953         * modules/strtok_r: Likewise.
108954         * tests/test-dirname.c: Don't include "strdup.h", since
108955         <string.h> now suffices.
108956         * tests/test-memmem.c: Don't include "memmem.h", since
108957         <string.h> now suffices.
108959 2007-01-25  Bruno Haible  <bruno@clisp.org>
108961         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
108962         *resultp is 0.
108964         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
108965         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
108966         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
108967         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
108969         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
108970         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
108971         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
108972         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
108973         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
108974         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
108976 2007-01-24  Bruno Haible  <bruno@clisp.org>
108978         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
108979         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
108980         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
108981         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
108982         gl_FUNC_FTS_CORE.
108983         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
108984         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
108985         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
108986         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
108987         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
108988         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
108989         gl_FUNC_FCHOWNAT.
108990         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
108991         gl_FUNC_STRFTIME.
108992         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
108993         Reported by Ralf Wildenhues.
108995 2007-01-24  Bruno Haible  <bruno@clisp.org>
108997         Drop AC_REQUIRE calls that are redundant with the module dependencies.
108998         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
108999         gl_GETADDRINFO.
109000         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
109001         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
109002         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
109004 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
109006         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
109007         Don't use 'exit'; just return from 'main'.
109008         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
109010         * lib/fnmatch_.h: Readjust white space and comments to match
109011         glibc, to avoid spurious diffs.
109013 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109015         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
109016         2004-12-01 change by Jakub Jelinek, since this code won't compile
109017         if !LIBC.  Problem reported by Bob Proulx.
109019 2007-01-23  Bruno Haible  <bruno@clisp.org>
109021         * lib/striconveh.c: Include c-strcaseeq.h.
109022         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
109023         * modules/striconveh (Depends-on): Add c-strcaseeq.
109025 2007-01-23  Bruno Haible  <bruno@clisp.org>
109027         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
109029         * modules/c-strcaseeq: New file.
109030         * lib/c-strcaseeq.h: New file.
109032         * modules/streq: New file.
109033         * lib/streq.h: New file.
109035 2007-01-23  Bruno Haible  <bruno@clisp.org>
109037         * modules/striconveha-tests: New file.
109038         * tests/test-striconveha.c: New file.
109040         * lib/striconveha.h: Include <stdbool.h>.
109041         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
109042         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
109043         (mem_iconveha_notranslit): Renamed from mem_iconveha.
109044         (mem_iconveha): New function.
109045         (str_iconveha_notranslit): Renamed from str_iconveha.
109046         (str_iconveha): New function.
109047         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
109048         c-strcase.
109050 2007-01-23  Bruno Haible  <bruno@clisp.org>
109052         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
109053         encodings without forgiving before trying any encoding with handler.
109054         (str_iconveha): Try all encodings without forgiving before trying any
109055         encoding with handler.
109057 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109059         Import the following changes from libc.
109061         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
109063         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
109065         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
109067         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
109068         normal_bracket label.
109070         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
109072         [BZ #361]
109073         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
109074         to normal_bracket after fetching the next character.
109076 2007-01-22  Bruno Haible  <bruno@clisp.org>
109078         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
109079         argument.
109080         * lib/striconveh.c (iconv_carefully_1): New function.
109081         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
109082         argument.
109083         (str_cd_iconveh): Update.
109084         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
109085         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
109086         * tests/test-striconveh.c (MAGIC): New macro.
109087         (new_offsets): New function.
109088         (main): Test call with and without offsets.
109090 2007-01-22  Bruno Haible  <bruno@clisp.org>
109092         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
109093         * modules/sys_select (Makefile.am): Likewise.
109094         * modules/sys_socket (Makefile.am): Likewise.
109095         * modules/sys_time (Makefile.am): Likewise.
109097 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
109099         * modules/gettimeofday (License): Change from GPL to LGPL, since
109100         gettimeofday is a library function.
109102 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109104         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
109106 2007-01-21  Bruno Haible  <bruno@clisp.org>
109108         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
109110 2007-01-21  Bruno Haible  <bruno@clisp.org>
109112         * modules/striconveha: New file.
109113         * lib/striconveha.h: New file.
109114         * lib/striconveha.c: New file.
109115         * MODULES.html.sh (Internationalization functions): Add striconveha.
109116         * lib/striconv.c (str_iconv): Optimize the case of an empty input
109117         string.
109118         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
109120 2007-01-21  Bruno Haible  <bruno@clisp.org>
109122         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
109123         * lib/striconveh.c (str_iconveh): Likewise.
109125 2007-01-21  Bruno Haible  <bruno@clisp.org>
109127         * lib/striconveh.h (mem_iconveh): New declaration.
109128         * lib/striconveh.c (mem_iconveh): New function.
109129         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
109131 2007-01-21  Bruno Haible  <bruno@clisp.org>
109133         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
109135         * lib/striconveh.h (mem_cd_iconveh): Change specification.
109136         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
109137         original result buffer.
109138         (str_cd_iconveh): Update.
109139         * tests/test-striconveh.c (main): Update.
109141         * lib/striconv.h (mem_cd_iconv): Change specification.
109142         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109143         result buffer.
109144         (str_cd_iconv): Update.
109145         * tests/test-striconv.c (main): Update.
109147 2007-01-21  Bruno Haible  <bruno@clisp.org>
109149         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
109151 2007-01-20  Jim Meyering  <jim@meyering.net>
109153         * lib/userspec.c (parse_with_separator): If a user or group string
109154         starts with "+", skip the corresponding name-to-ID look-up, since
109155         such a look-up must fail: user and group names may not include "+".
109157 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
109159         * lib/poll.c: Include sys/time.h and time.h unconditionally,
109160         since we now assume the sys_time module.
109161         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
109162         check for sys/time.h; no longer needed.
109163         * modules/poll (Depends-on): Depend on sys_time.
109165 2007-01-18  Bruno Haible  <bruno@clisp.org>
109167         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
109168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109170         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
109171         gettimeofday.
109173         * tests/test-gettimeofday.c: Include <time.h>.
109174         (dummy): Remove variable.
109176         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
109177         gl_HEADER_SYS_TIME_H.
109178         (gl_HEADER_SYS_TIME_H): New macro.
109180         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
109181         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109182         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
109183         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
109184         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
109186         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
109187         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109188         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
109189         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
109190         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109192         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
109193         last change; it caused a compilation error when cross-compiling to
109194         Cygwin.
109196 2007-01-18  Jim Meyering  <jim@meyering.net>
109198         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
109199         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
109200         than the race-prone "test -d sys || mkdir sys".
109201         (configure.ac): Use AC_PROG_MKDIR_P.
109202         * modules/sys_select: Likewise.
109203         * modules/sys_socket: Likewise.
109204         * modules/sys_time: Likewise.
109206 2007-01-18  Eric Blake  <ebb9@byu.net>
109208         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
109209         replace gettimeofday.
109210         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
109211         name, to avoid infinite recursion.
109213 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
109215         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
109216         module sys_time.
109217         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
109218         assume timespec.h defines struct timeval.
109219         * lib/settime.c: Likewise.
109220         * lib/utimens.c: Likewise.
109221         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
109222         since we now assume the gettimeofday module.
109223         * lib/tempname.c (__gen_tempname): Likewise.
109224         * lib/gettimeofday.h: Remove.
109225         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
109226         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
109227         Include <time.h>, for 'time()'.
109228         (localtime_buffer_addr): Also use this workaround if
109229         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
109230         to simplify the uses.  All uses changed.
109231         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
109232         that #undef is inside {}, and 'const' follows type name consistently.
109233         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
109234         (gettimeofday): Do not use the maximum possible value for
109235         tv->tv_usec, since that might break usages other than ls.c.
109236         Instead, we'll leave ls.c alone.  This undoes today's patch
109237         by Bruno.  Add a compile-time warning for 1s-clock resolution;
109238         we've never observed the problem but might as well keep the
109239         canary.
109240         * lib/nanosleep.c: Include timespec.h first, for interface check.
109241         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
109242         now assume the sys_time module.
109243         * lib/tempname.c: Likewise.
109244         * lib/timespec.h: Likewise.
109245         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
109246         needed.
109247         * lib/strftime.c: Likewise.
109248         * lib/timespec.h: Likewise.
109249         * lib/posixtm.c: Include posixtm.h first, for interface check.
109250         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
109251         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
109252         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
109253         * lib/sys_time_.h: New file.
109254         * lib/timespec.h (struct timespec): Use long int, not long.
109255         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109256         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
109257         Remove obsolescent call to AC_HEADER_TIME.
109258         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
109259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
109260         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109261         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
109262         Likewise.
109263         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
109264         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
109265         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
109266         into the sys_time module.  Check for gettimeofday just once.
109267         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
109268         for gettimeofday signature to just check the signature.  Merely
109269         compile it, since linking doesn't test signature.  Improve test for
109270         whether gettimeofday.o is actually needed.
109271         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
109272         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
109273         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
109274         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109275         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
109276         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
109277         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
109278         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
109279         than worrying about sys/time.h.
109280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
109281         Don't bother worrying about TIME_WITH_SYS_TIME.
109282         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
109283         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
109284         * m4/sys_time_h.m4: New file.
109285         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
109286         Don't include sys/time.h.  Return from main rather than exiting.
109287         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
109288         all uses changed.
109289         * modules/gethrxtime (Depends-on): Add sys_time.
109290         * modules/gettime (Depends-on): Likewise.
109291         * modules/gettimeofday (Depends-on): Likewise.
109292         * modules/nanosleep (Depends-on): Likewise.
109293         * modules/settime (Depends-on): Likewise.
109294         * modules/tempname (Depends-on): Likewise.
109295         * modules/utimens (Depends-on): Likewise.
109296         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
109297         (Include): Change back to <sys/time.h>.
109298         (Maintainer): Add self.
109299         * modules/sys_time: New file.
109300         * modules/tempname (Depends-on): Add gettimeofday.
109301         * tests/test-gettimeofday.c: Include <sys/time.h>
109302         rather than gettimeofday.h.
109304 2007-01-17  Bruno Haible  <bruno@clisp.org>
109306         * gnulib-tool (func_get_license): Revert last patch. Instead, let
109307         the license default to GPL.
109308         (func_create_testdir): Don't complain if a module is LGPL and its
109309         tests module depends on GPLed modules.
109311 2007-01-17  Bruno Haible  <bruno@clisp.org>
109313         * lib/gettimeofday.c (gettimeofday): Add code for the case
109314         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
109315         maximum possible value for tv->tv_usec, rather than the minimum one.
109317 2005-10-08  Martin Lambers  <marlam@marlam.de>
109318 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
109319 2007-01-16  Bruno Haible  <bruno@clisp.org>
109321         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
109322         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
109323         gl_FUNC_GETTIMEOFDAY.
109324         (Include): Add gettimeofday.h.
109325         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
109326         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
109327         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
109328         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
109329         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
109330         * lib/gettimeofday.h: New file.
109331         * lib/gettimeofday.c: Include <sys/timeb.h>.
109332         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
109333         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109334         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
109335         fall back on time().
109337         * tests/test-gettimeofday.c: New file.
109338         * modules/gettimeofday-tests: New file.
109340 2007-01-16  Eric Blake  <ebb9@byu.net>
109342         * modules/fnmatch (Depends-on): Depend on wchar.
109343         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
109344         * m4/fnmatch.m4: Likewise.
109345         * modules/mbchar (Makefile.am): Assume <wchar.h>.
109346         * m4/mbchar.m4: Likewise.
109347         * modules/mbswidth (Depends-on): Depend on wchar.
109348         * lib/mbswidth.c: Assume <wchar.h>.
109349         * m4/mbswidth.m4: Likewise.
109350         * modules/quotearg (Depends-on): Depend on wchar.
109351         * lib/quotearg.c: Assume <wchar.h>.
109352         * m4/quotearg.m4: Likewise.
109353         * modules/regex (Depends-on): Depend on wchar.
109354         * lib/regex_internal.h: Assume <wchar.h>.
109355         * m4/regex.m4: Likewise.
109356         * modules/stdint (Depends-on): Depend on wchar.
109357         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
109358         * m4/stdint.m4: Likewise.
109359         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
109360         * modules/strftime (Depends-on): Depend on wchar.
109361         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
109362         * modules/strtol (Depends-on): Depend on wchar.
109363         * lib/strtol.c: Assume <wchar.h>.
109364         * modules/wcwidth (Depends-on): Depend on wchar.
109365         * lib/wcwidth.h: Assume <wchar.h>.
109366         * m4/wcwidth.m4: Likewise.
109368 2007-01-16  Bruno Haible  <bruno@clisp.org>
109370         * modules/csharpexec-script: New, created from...
109371         * modules/csharpexec: ... this.
109373 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
109375         * modules/javaexec-script: New, created from...
109376         * modules/javaexec: ... this.
109378 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109380         * modules/poll (Dependencies): Add sys_select.
109382 2007-01-15  Jim Meyering  <jim@meyering.net>
109384         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
109385         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
109386         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
109387         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
109389 2007-01-15  Bruno Haible  <bruno@clisp.org>
109391         * modules/striconveh: New file.
109392         * lib/striconveh.h: New file.
109393         * lib/striconveh.c: New file.
109394         * MODULES.html.sh (Internationalization functions): Add striconveh.
109396         * modules/striconveh-tests: New file.
109397         * tests/test-striconveh.c: New file.
109399 2007-01-15  Bruno Haible  <bruno@clisp.org>
109401         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
109402         not from GNU libiconv or GNU libc.
109404 2007-01-15  Bruno Haible  <bruno@clisp.org>
109406         * doc/gnulib-intro.texi (Copyright): Explain the different license
109407         terms for module descriptions, autoconf macros, tests, documentation.
109409 2007-01-14  Bruno Haible  <bruno@clisp.org>
109411         * modules/striconv-tests: New file.
109412         * tests/test-striconv.c: New file.
109414 2007-01-14  Bruno Haible  <bruno@clisp.org>
109416         * modules/iconv-tests: New file.
109417         * tests/test-iconv.c: New file.
109419 2007-01-14  Bruno Haible  <bruno@clisp.org>
109421         * gnulib-tool (func_get_license): For test modules, use the license of
109422         the main module.
109424 2007-01-14  Bruno Haible  <bruno@clisp.org>
109426         * modules/iconv (Include): Clarify that <iconv.h> can only be included
109427         if iconv is found to exist.
109429 2007-01-14  Bruno Haible  <bruno@clisp.org>
109431         * modules/c-ctype-tests: New file.
109432         * tests/test-c-ctype.c: New file.
109434 2007-01-14  Bruno Haible  <bruno@clisp.org>
109436         * modules/binary-io-tests: New file.
109437         * tests/test-binary-io.sh: New file.
109438         * tests/test-binary-io.c: New file.
109440 2007-01-14  Bruno Haible  <bruno@clisp.org>
109442         * modules/array-oset-tests: New file.
109443         * tests/test-array_oset.c: New file.
109445 2007-01-14  Bruno Haible  <bruno@clisp.org>
109447         * modules/array-list-tests: New file.
109448         * tests/test-array_list.c: New file.
109450 2007-01-14  Bruno Haible  <bruno@clisp.org>
109452         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
109453         and make.
109454         Reported by Simon Josefsson in
109455         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
109457 2007-01-14  Bruno Haible  <bruno@clisp.org>
109459         * modules/allocsa-tests: New file.
109460         * tests/test-allocsa.c: New file.
109462 2007-01-14  Bruno Haible  <bruno@clisp.org>
109464         * modules/fchdir (Depends-on): Add absolute-header.
109465         * modules/unistd (Depends-on): Likewise.
109467 2006-12-30  Bruno Haible  <bruno@clisp.org>
109469         * modules/fchdir: New file.
109470         * modules/unistd (Files): Add lib/unistd_.h.
109471         (Makefile.am): Generate unistd.h from unistd_.h.
109472         * lib/fchdir.c: New file.
109473         * lib/dirent_.h: New file.
109474         * lib/unistd_.h: New file.
109475         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
109476         * m4/fchdir.m4: New file.
109477         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
109478         (gl_HEADER_UNISTD): Invoke it.
109479         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
109480         function.
109481         * lib/backupfile.c (opendir, closedir): Undefine.
109482         * lib/chown.c (open, close): Undefine.
109483         * lib/clean-temp.c (open, close): Undefine.
109484         * lib/copy-file.c (open, close): Undefine.
109485         * lib/execute.c (open, close): Undefine.
109486         * lib/fsusage.c (open, close): Undefine.
109487         * lib/gc-gnulib.c (open, close): Undefine.
109488         * lib/getcwd.c (opendir, closedir): Undefine.
109489         * lib/glob.c (opendir, closedir): Undefine.
109490         * lib/javacomp.c (open, close): Undefine.
109491         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
109492         * lib/openat-proc.c (open, close): Undefine.
109493         * lib/pagealign_alloc.c (open, close): Undefine.
109494         * lib/pipe.c (open, close): Undefine.
109495         * lib/progreloc.c (open, close): Undefine.
109496         * lib/savedir.c (opendir, closedir): Undefine.
109497         * lib/utime.c (open, close): Undefine.
109498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
109500 2007-01-10  Bruno Haible  <bruno@clisp.org>
109502         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
109504 2007-01-12  Eric Blake  <ebb9@byu.net>
109506         Provide a robust <wchar.h>.  Further simplifications are now
109507         possible in other modules, but not included here.
109508         * modules/wchar: New module.
109509         * m4/wchar.m4: New file.
109510         * lib/wchar_.h: Likewise.
109511         * modules/mbchar (Depends-on): Depend on wchar, as the first use
109512         of the new module.
109513         * MODULES.html.sh (Extended multibyte and wide character utilities):
109514         New section.
109516 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
109518         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
109519         to a reasonable default for memory allocation.
109520         (xreadlink): Don't allocate a huge buffer, to work around a buggy
109521         file system that reports garbage st_size values for symlinks.
109522         Problem reported by Liyang Hu.
109524 2007-01-11  Simon Josefsson  <simon@josefsson.org>
109526         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
109527         Emacs .#* auto-save files).
109529 2007-01-11  Bruno Haible  <bruno@clisp.org>
109531         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
109532         directory.
109534 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
109536         Use @...@ consistently in lib/wctype_.h.
109537         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
109538         on it being set to 1 or 0.
109539         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
109540         go back to AC_SUBSTing it.
109541         * modules/wctype (Makefile.am): Undo previous change.
109543 2007-01-10  Eric Blake  <ebb9@byu.net>
109545         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
109546         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
109547         * modules/wctype (Makefile.am): Likewise.
109548         Reported by Chris McGuire.
109550 2007-01-10  Jim Meyering  <jim@meyering.net>
109552         fts.c: a small readability/maintainability improvement
109553         * lib/fts.c (fts_read): Make this code slightly more readable and
109554         maintainable by hoisting the "sp->fts_cur = p" assignments to
109555         immediately follow the statements that set P.  Derived from
109556         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
109558 2007-01-10  Eric Blake  <ebb9@byu.net>
109560         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
109561         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
109562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109563         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
109564         Reported by Chris McGuire.
109566 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109568         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
109569         in sed script.
109571 2007-01-09  Bruno Haible  <bruno@clisp.org>
109573         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
109574         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
109575         variables.
109576         (func_module): Use them.
109578 2007-01-09  Bruno Haible  <bruno@clisp.org>
109580         * modules/unistr/base: New file.
109581         * lib/unistr.h: New file.
109583         * modules/unistr/u8-to-u16: New file.
109584         * lib/unistr/u8-to-u16.c: New file.
109586         * modules/unistr/u8-to-u32: New file.
109587         * lib/unistr/u8-to-u32.c: New file.
109589         * modules/unistr/u16-to-u8: New file.
109590         * lib/unistr/u16-to-u8.c: New file.
109592         * modules/unistr/u16-to-u32: New file.
109593         * lib/unistr/u16-to-u32.c: New file.
109595         * modules/unistr/u32-to-u8: New file.
109596         * lib/unistr/u32-to-u8.c: New file.
109598         * modules/unistr/u32-to-u16: New file.
109599         * lib/unistr/u32-to-u16.c: New file.
109601         * modules/unistr/u8-check: New file.
109602         * modules/unistr/u16-check: New file.
109603         * modules/unistr/u32-check: New file.
109604         * lib/unistr/u8-check.c: New file.
109605         * lib/unistr/u16-check.c: New file.
109606         * lib/unistr/u32-check.c: New file.
109608         * modules/unistr/u8-chr: New file.
109609         * modules/unistr/u16-chr: New file.
109610         * modules/unistr/u32-chr: New file.
109611         * lib/unistr/u8-chr.c: New file.
109612         * lib/unistr/u16-chr.c: New file.
109613         * lib/unistr/u32-chr.c: New file.
109615         * modules/unistr/u8-cmp: New file.
109616         * modules/unistr/u16-cmp: New file.
109617         * modules/unistr/u32-cmp: New file.
109618         * lib/unistr/u8-cmp.c: New file.
109619         * lib/unistr/u16-cmp.c: New file.
109620         * lib/unistr/u32-cmp.c: New file.
109622         * modules/unistr/u8-cpy: New file.
109623         * modules/unistr/u16-cpy: New file.
109624         * modules/unistr/u32-cpy: New file.
109625         * lib/unistr/u8-cpy.c: New file.
109626         * lib/unistr/u16-cpy.c: New file.
109627         * lib/unistr/u32-cpy.c: New file.
109628         * lib/unistr/u-cpy.h: New file.
109630         * modules/unistr/u8-cpy-alloc: New file.
109631         * modules/unistr/u16-cpy-alloc: New file.
109632         * modules/unistr/u32-cpy-alloc: New file.
109633         * lib/unistr/u8-cpy-alloc.c: New file.
109634         * lib/unistr/u16-cpy-alloc.c: New file.
109635         * lib/unistr/u32-cpy-alloc.c: New file.
109636         * lib/unistr/u-cpy-alloc.h: New file.
109638         * modules/unistr/u8-endswith: New file.
109639         * modules/unistr/u16-endswith: New file.
109640         * modules/unistr/u32-endswith: New file.
109641         * lib/unistr/u8-endswith.c: New file.
109642         * lib/unistr/u16-endswith.c: New file.
109643         * lib/unistr/u32-endswith.c: New file.
109644         * lib/unistr/u-endswith.h: New file.
109646         * modules/unistr/u8-mblen: New file.
109647         * modules/unistr/u16-mblen: New file.
109648         * modules/unistr/u32-mblen: New file.
109649         * lib/unistr/u8-mblen.c: New file.
109650         * lib/unistr/u16-mblen.c: New file.
109651         * lib/unistr/u32-mblen.c: New file.
109653         * modules/unistr/u8-mbtouc: New file.
109654         * modules/unistr/u16-mbtouc: New file.
109655         * modules/unistr/u32-mbtouc: New file.
109656         * lib/unistr/u8-mbtouc.c: New file.
109657         * lib/unistr/u16-mbtouc.c: New file.
109658         * lib/unistr/u32-mbtouc.c: New file.
109660         * modules/unistr/u8-mbtouc-safe: New file.
109661         * modules/unistr/u16-mbtouc-safe: New file.
109662         * modules/unistr/u32-mbtouc-safe: New file.
109663         * lib/unistr/u8-mbtouc-safe.c: New file.
109664         * lib/unistr/u16-mbtouc-safe.c: New file.
109665         * lib/unistr/u32-mbtouc-safe.c: New file.
109667         * modules/unistr/u8-move: New file.
109668         * modules/unistr/u16-move: New file.
109669         * modules/unistr/u32-move: New file.
109670         * lib/unistr/u8-move.c: New file.
109671         * lib/unistr/u16-move.c: New file.
109672         * lib/unistr/u32-move.c: New file.
109673         * lib/unistr/u-move.h: New file.
109675         * modules/unistr/u8-next: New file.
109676         * modules/unistr/u16-next: New file.
109677         * modules/unistr/u32-next: New file.
109678         * lib/unistr/u8-next.c: New file.
109679         * lib/unistr/u16-next.c: New file.
109680         * lib/unistr/u32-next.c: New file.
109682         * modules/unistr/u8-prev: New file.
109683         * modules/unistr/u16-prev: New file.
109684         * modules/unistr/u32-prev: New file.
109685         * lib/unistr/u8-prev.c: New file.
109686         * lib/unistr/u16-prev.c: New file.
109687         * lib/unistr/u32-prev.c: New file.
109689         * modules/unistr/u8-set: New file.
109690         * modules/unistr/u16-set: New file.
109691         * modules/unistr/u32-set: New file.
109692         * lib/unistr/u8-set.c: New file.
109693         * lib/unistr/u16-set.c: New file.
109694         * lib/unistr/u32-set.c: New file.
109695         * lib/unistr/u-set.h: New file.
109697         * modules/unistr/u8-startswith: New file.
109698         * modules/unistr/u16-startswith: New file.
109699         * modules/unistr/u32-startswith: New file.
109700         * lib/unistr/u8-startswith.c: New file.
109701         * lib/unistr/u16-startswith.c: New file.
109702         * lib/unistr/u32-startswith.c: New file.
109703         * lib/unistr/u-startswith.h: New file.
109705         * modules/unistr/u8-stpcpy: New file.
109706         * modules/unistr/u16-stpcpy: New file.
109707         * modules/unistr/u32-stpcpy: New file.
109708         * lib/unistr/u8-stpcpy.c: New file.
109709         * lib/unistr/u16-stpcpy.c: New file.
109710         * lib/unistr/u32-stpcpy.c: New file.
109711         * lib/unistr/u-stpcpy.h: New file.
109713         * modules/unistr/u8-stpncpy: New file.
109714         * modules/unistr/u16-stpncpy: New file.
109715         * modules/unistr/u32-stpncpy: New file.
109716         * lib/unistr/u8-stpncpy.c: New file.
109717         * lib/unistr/u16-stpncpy.c: New file.
109718         * lib/unistr/u32-stpncpy.c: New file.
109719         * lib/unistr/u-stpncpy.h: New file.
109721         * modules/unistr/u8-strcat: New file.
109722         * modules/unistr/u16-strcat: New file.
109723         * modules/unistr/u32-strcat: New file.
109724         * lib/unistr/u8-strcat.c: New file.
109725         * lib/unistr/u16-strcat.c: New file.
109726         * lib/unistr/u32-strcat.c: New file.
109727         * lib/unistr/u-strcat.h: New file.
109729         * modules/unistr/u8-strchr: New file.
109730         * modules/unistr/u16-strchr: New file.
109731         * modules/unistr/u32-strchr: New file.
109732         * lib/unistr/u8-strchr.c: New file.
109733         * lib/unistr/u16-strchr.c: New file.
109734         * lib/unistr/u32-strchr.c: New file.
109736         * modules/unistr/u8-strcmp: New file.
109737         * modules/unistr/u16-strcmp: New file.
109738         * modules/unistr/u32-strcmp: New file.
109739         * lib/unistr/u8-strcmp.c: New file.
109740         * lib/unistr/u16-strcmp.c: New file.
109741         * lib/unistr/u32-strcmp.c: New file.
109743         * modules/unistr/u8-strcpy: New file.
109744         * modules/unistr/u16-strcpy: New file.
109745         * modules/unistr/u32-strcpy: New file.
109746         * lib/unistr/u8-strcpy.c: New file.
109747         * lib/unistr/u16-strcpy.c: New file.
109748         * lib/unistr/u32-strcpy.c: New file.
109749         * lib/unistr/u-strcpy.h: New file.
109751         * modules/unistr/u8-strcspn: New file.
109752         * modules/unistr/u16-strcspn: New file.
109753         * modules/unistr/u32-strcspn: New file.
109754         * lib/unistr/u8-strcspn.c: New file.
109755         * lib/unistr/u16-strcspn.c: New file.
109756         * lib/unistr/u32-strcspn.c: New file.
109757         * lib/unistr/u-strcspn.h: New file.
109759         * modules/unistr/u8-strdup: New file.
109760         * modules/unistr/u16-strdup: New file.
109761         * modules/unistr/u32-strdup: New file.
109762         * lib/unistr/u8-strdup.c: New file.
109763         * lib/unistr/u16-strdup.c: New file.
109764         * lib/unistr/u32-strdup.c: New file.
109765         * lib/unistr/u-strdup.h: New file.
109767         * modules/unistr/u8-strlen: New file.
109768         * modules/unistr/u16-strlen: New file.
109769         * modules/unistr/u32-strlen: New file.
109770         * lib/unistr/u8-strlen.c: New file.
109771         * lib/unistr/u16-strlen.c: New file.
109772         * lib/unistr/u32-strlen.c: New file.
109773         * lib/unistr/u-strlen.h: New file.
109775         * modules/unistr/u8-strmblen: New file.
109776         * modules/unistr/u16-strmblen: New file.
109777         * modules/unistr/u32-strmblen: New file.
109778         * lib/unistr/u8-strmblen.c: New file.
109779         * lib/unistr/u16-strmblen.c: New file.
109780         * lib/unistr/u32-strmblen.c: New file.
109782         * modules/unistr/u8-strmbtouc: New file.
109783         * modules/unistr/u16-strmbtouc: New file.
109784         * modules/unistr/u32-strmbtouc: New file.
109785         * lib/unistr/u8-strmbtouc.c: New file.
109786         * lib/unistr/u16-strmbtouc.c: New file.
109787         * lib/unistr/u32-strmbtouc.c: New file.
109789         * modules/unistr/u8-strncat: New file.
109790         * modules/unistr/u16-strncat: New file.
109791         * modules/unistr/u32-strncat: New file.
109792         * lib/unistr/u8-strncat.c: New file.
109793         * lib/unistr/u16-strncat.c: New file.
109794         * lib/unistr/u32-strncat.c: New file.
109795         * lib/unistr/u-strncat.h: New file.
109797         * modules/unistr/u8-strncmp: New file.
109798         * modules/unistr/u16-strncmp: New file.
109799         * modules/unistr/u32-strncmp: New file.
109800         * lib/unistr/u8-strncmp.c: New file.
109801         * lib/unistr/u16-strncmp.c: New file.
109802         * lib/unistr/u32-strncmp.c: New file.
109804         * modules/unistr/u8-strncpy: New file.
109805         * modules/unistr/u16-strncpy: New file.
109806         * modules/unistr/u32-strncpy: New file.
109807         * lib/unistr/u8-strncpy.c: New file.
109808         * lib/unistr/u16-strncpy.c: New file.
109809         * lib/unistr/u32-strncpy.c: New file.
109810         * lib/unistr/u-strncpy.h: New file.
109812         * modules/unistr/u8-strnlen: New file.
109813         * modules/unistr/u16-strnlen: New file.
109814         * modules/unistr/u32-strnlen: New file.
109815         * lib/unistr/u8-strnlen.c: New file.
109816         * lib/unistr/u16-strnlen.c: New file.
109817         * lib/unistr/u32-strnlen.c: New file.
109818         * lib/unistr/u-strnlen.h: New file.
109820         * modules/unistr/u8-strpbrk: New file.
109821         * modules/unistr/u16-strpbrk: New file.
109822         * modules/unistr/u32-strpbrk: New file.
109823         * lib/unistr/u8-strpbrk.c: New file.
109824         * lib/unistr/u16-strpbrk.c: New file.
109825         * lib/unistr/u32-strpbrk.c: New file.
109826         * lib/unistr/u-strpbrk.h: New file.
109828         * modules/unistr/u8-strrchr: New file.
109829         * modules/unistr/u16-strrchr: New file.
109830         * modules/unistr/u32-strrchr: New file.
109831         * lib/unistr/u8-strrchr.c: New file.
109832         * lib/unistr/u16-strrchr.c: New file.
109833         * lib/unistr/u32-strrchr.c: New file.
109835         * modules/unistr/u8-strspn: New file.
109836         * modules/unistr/u16-strspn: New file.
109837         * modules/unistr/u32-strspn: New file.
109838         * lib/unistr/u8-strspn.c: New file.
109839         * lib/unistr/u16-strspn.c: New file.
109840         * lib/unistr/u32-strspn.c: New file.
109841         * lib/unistr/u-strspn.h: New file.
109843         * modules/unistr/u8-strstr: New file.
109844         * modules/unistr/u16-strstr: New file.
109845         * modules/unistr/u32-strstr: New file.
109846         * lib/unistr/u8-strstr.c: New file.
109847         * lib/unistr/u16-strstr.c: New file.
109848         * lib/unistr/u32-strstr.c: New file.
109849         * lib/unistr/u-strstr.h: New file.
109851         * modules/unistr/u8-strtok: New file.
109852         * modules/unistr/u16-strtok: New file.
109853         * modules/unistr/u32-strtok: New file.
109854         * lib/unistr/u8-strtok.c: New file.
109855         * lib/unistr/u16-strtok.c: New file.
109856         * lib/unistr/u32-strtok.c: New file.
109857         * lib/unistr/u-strtok.h: New file.
109859         * modules/unistr/u8-uctomb: New file.
109860         * modules/unistr/u16-uctomb: New file.
109861         * modules/unistr/u32-uctomb: New file.
109862         * lib/unistr/u8-uctomb.c: New file.
109863         * lib/unistr/u16-uctomb.c: New file.
109864         * lib/unistr/u32-uctomb.c: New file.
109866         * MODULES.html.sh (Unicode string functions): Add the new modules.
109868 2007-01-08  Bruno Haible  <bruno@clisp.org>
109870         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
109871         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
109872         subdirectories.
109874 2007-01-08  Karl Berry  <karl@gnu.org>
109876         * doc/error.texi: mention that main() fns must set program_name
109877         when progname is used.
109879 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
109881         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
109882         WCTYPE_H is empty, for the benefit of builds from non-distclean
109883         directories.  Problem reported by Eric Blake in
109884         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
109886 2007-01-08  Bruno Haible  <bruno@clisp.org>
109888         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
109889         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
109890         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
109891         PROVIDE_CANONICALIZE_FILENAME_MODE.
109892         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
109894 2007-01-08  Bruno Haible  <bruno@clisp.org>
109896         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
109897         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
109898         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
109899         * lib/fts.c: Likewise.
109900         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
109902 2006-12-25  Bruno Haible  <bruno@clisp.org>
109904         * modules/utf8-ucs4-safe: New file.
109905         * lib/utf8-ucs4-safe.h: New file.
109906         * lib/unistr/utf8-ucs4-safe.c: New file.
109908         * modules/utf16-ucs4-safe: New file.
109909         * lib/utf16-ucs4-safe.h: New file.
109910         * lib/unistr/utf16-ucs4-safe.c: New file.
109912         * MODULES.html.sh (Unicode string functions): Add the new modules.
109914 2007-01-08  Bruno Haible  <bruno@clisp.org>
109916         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
109917         (Depends-on): Add unitypes.
109918         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109919         (u8_mbtouc_aux): Move out to separate file.
109920         (u8_mbtouc): Use ucs4_t, uint8_t types.
109921         * lib/unistr/utf8-ucs4.c: New file.
109923         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
109924         (Depends-on): Add unitypes.
109925         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109926         (u16_mbtouc_aux): Move out to separate file.
109927         (u16_mbtouc): Use ucs4_t, uint16_t types.
109928         * lib/unistr/utf16-ucs4.c: New file.
109930         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
109931         (Depends-on): Add unitypes.
109932         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
109933         (u8_uctomb_aux): Move out to separate file.
109934         (u8_uctomb): Use ucs4_t, uint8_t types.
109935         * lib/unistr/ucs4-utf8.c: New file.
109937         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
109938         (Depends-on): Add unitypes.
109939         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
109940         (u16_uctomb_aux): Move out to separate file.
109941         (u16_uctomb): Use ucs4_t, uint16_t types.
109942         * lib/unistr/ucs4-utf16.c: New file.
109944 2006-12-25  Bruno Haible  <bruno@clisp.org>
109946         * modules/unitypes: New file.
109947         * lib/unitypes.h: New file.
109948         * MODULES.html.sh (func_all_modules): New section "Unicode string
109949         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
109950         this section. Add unitypes.
109952 2007-01-08  Bruno Haible  <bruno@clisp.org>
109954         Avoid variable names that conflict with those from libtool.
109955         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
109956         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
109957         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
109958         library_names_spec to acl_library_names_spec, hardcode_* to
109959         acl_hardcode_*.
109960         Reported by Ralf Wildenhues.
109962 2007-01-08  Bruno Haible  <bruno@clisp.org>
109964         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
109965         definition.
109966         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
109967         definition.
109968         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
109969         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
109970         definition.
109971         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
109972         definition.
109973         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
109974         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
109975         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
109976         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
109977         definition.
109978         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
109979         definition.
109980         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
109981         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
109982         GC_USE_<algorithm>.
109983         * lib/gc-libgcrypt.c: Likewise.
109984         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
109985         * modules/gc-arctwo (configure.ac): Likewise.
109986         * modules/gc-des (configure.ac): Likewise.
109987         * modules/gc-hmac-md5 (configure.ac): Likewise.
109988         * modules/gc-hmac-sha1 (configure.ac): Likewise.
109989         * modules/gc-md2 (configure.ac): Likewise.
109990         * modules/gc-md4 (configure.ac): Likewise.
109991         * modules/gc-md5 (configure.ac): Likewise.
109992         * modules/gc-random (configure.ac): Likewise.
109993         * modules/gc-rijndael (configure.ac): Likewise.
109994         * modules/gc-sha1 (configure.ac): Likewise.
109996 2007-01-08  Bruno Haible  <bruno@clisp.org>
109998         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
109999         macro definition.
110000         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
110001         definition.
110002         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
110003         definition.
110004         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
110005         * modules/fcntl-safer (configure.ac): Likewise.
110006         * modules/fopen-safer (configure.ac): Likewise.
110007         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
110008         GNULIB_FWRITEERROR macro definition.
110010 2007-01-08  Bruno Haible  <bruno@clisp.org>
110012         * m4/gnulib-common.m4: New file.
110013         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
110014         (func_get_filelist): Add m4/gnulib-common.m4.
110016 2007-01-08  Bruno Haible  <bruno@clisp.org>
110018         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
110019         command.
110021 2007-01-08  Jim Meyering  <jim@meyering.net>
110023         Use a more robust test for a "can't happen" condition.
110024         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110025         narrowed the st_size value.  Presuming the "can't happen" condition
110026         is true, that narrowing could conceivably convert an invalid st_size
110027         value into a valid one.  Instead, use a change based on Matthew
110028         Woehlke's original patch.
110030         Slight readability improvement: use an assert-like macro
110031         in place of literal "abort ()" uses.
110032         * lib/fts.c (fts_assert): Define.
110033         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
110034         Use this macro instead of a bare 'abort'.
110036 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
110038         Don't worry about using IRIX 5.3's wctype.h broken definitions;
110039         simply work around them.
110040         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
110041         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
110042         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
110043         declaring.
110044         Don't bother to define as macros, since the standard doesn't require it.
110045         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
110046         longer worry about IRIX 5.3.
110047         (HAVE_WCTYPE_CTMP_BUG): Remove.
110049 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
110051         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
110052         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
110053         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
110054         Problems reported by Georg Schwarz for IRIX 5.3.
110056         * gnulib-tool (autoconf_minversion): Take the maximum version number
110057         found, not the minimum.  Problem reported by James Youngman.
110059 2007-01-03  Karl Berry  <karl@gnu.org>
110061         * doc/error.texi: new file, explaining interaction with progname.
110062         * doc/gnulib.texi: include it.  Update copyright.
110064 2007-01-03  Simon Josefsson  <simon@josefsson.org>
110066         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
110067         AC_CANONICAL_HOST, to improve autobuild outputs.
110069 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
110070             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
110072         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
110073         sockets, server sockets, and other file descriptors.  Count errors
110074         to compute the return value.  Reorder the code a bit to be easier
110075         to follow.  Don't set event bits that were not requested (except
110076         POLLERR and POLLHUP).
110078 2007-01-01  Bruno Haible  <bruno@clisp.org>
110080         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
110082 2007-01-03  Jim Meyering  <jim@meyering.net>
110084         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
110086 2007-01-02  Bruno Haible  <bruno@clisp.org>
110088         * modules/settime (Include): Require timespec.h.
110089         * modules/nanosleep (Include): Likewise.
110091 2007-01-01  Bruno Haible  <bruno@clisp.org>
110093         * gnulib-tool (func_emit_copyright_notice): Bump year.
110094         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
110096 2007-01-01  Bruno Haible  <bruno@clisp.org>
110098         Improve support for OpenBSD.
110099         * build-aux/config.rpath (libname_spec): Export.
110100         (library_names_spec): New variable. Export.
110101         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
110102         library_names_spec from the config.rpath output. Locate shared library
110103         through the name pattern in library_names_spec.
110105 2007-01-01  Eric Blake  <ebb9@byu.net>
110107         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
110109 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
110111         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
110112         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
110113         assume the C locale, and avoid an "eval" that could cause trouble.
110114         Problem with SORT reported by Bob Proulx.
110116         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
110117         Define.  Trivial patch from Henning Nielsen Lund, originally
110118         sent to bug-grep@gnu.org today.
110120 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
110122         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
110123         struct stat.  Problem reported by Henning Nielsen Lund.
110124         * lib/acl.c: Include acl.h first, to check interface.  Don't
110125         bother to include sys/types.h and sys/stat.h again.
110127 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
110129         Import the following change from libc; problem reported by
110130         Sven Verdoolaege.
110132         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
110134         [BZ #1373]
110135         * lib/argp.h: Remove __NTH for __argp_usage inline function.
110137 2006-12-28  Jim Meyering  <jim@meyering.net>
110139         * build-aux/announce-gen: Do not assume that the package
110140         builds any of tar.gz, tar.bz2, and .xdelta files.
110141         Suggestion from Simon Josefsson.
110143 2006-12-28  Simon Josefsson  <simon@josefsson.org>
110145         * modules/announce-gen: New file.
110147 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
110149         * lib/mbchar.h: Just include <wctype.h>; the wctype module
110150         handles its gotchas now.
110151         * lib/mbswidth.c: Likewise.
110152         * lib/wcwidth.h: Likewise.
110153         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
110154         and iswcntrl; the wctype module does this stuff now.
110155         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
110156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110157         * modules/mbchar (Depends-on): Add wctype.
110158         * modules/mbswidth (Depends-on): Likewise.
110159         * modules/wcwidth (Depends-on): Likewise.
110161 2006-12-27  Eric Blake  <ebb9@byu.net>
110163         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
110164         module uses more than what <wctype.h> is required to provide.
110166 2006-12-26  Eric Blake  <ebb9@byu.net>
110168         * gnulib-tool (sed_extract_prog): Avoid space-tab.
110170 2006-12-26  Eric Blake  <ebb9@byu.net>
110172         * modules/absolute-header: New module.
110173         * modules/fcntl (Depends-on): Depend on it.
110174         * modules/inttypes (Depends-on): Likewise.
110175         * modules/stdint (Depends-on): Likewise.
110176         * modules/sys_stat (Depends-on): Likewise.
110177         * modules/wctype (Depends-on): Likewise.
110178         * MODULES.html.sh (Support for building libraries and
110179         executables): Document it.
110181 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
110183         * gnulib-tool (SED): Remove, undoing previous change.
110184         The problem was that it broke coreutils on Solaris, because
110185         "sed --posix" leaked into a makefile.
110186         (sed): New alias, if 'alias' and GNU sed.
110188 2006-12-24  Jim Meyering  <jim@meyering.net>
110190         Work around an fchownat bug in glibc-2.4:
110191         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
110192         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
110193         in spite of the -P option.
110194         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
110195         New macros.
110196         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
110197         * modules/openat (Files): Add lib/fchownat.c.
110198         * lib/openat.c (fchownat): Don't define here.  Move to...
110199         * lib/fchownat.c: ...this new file.
110201 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
110203         Fix bug reported by Bruno Haible in
110204         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
110205         where quotearg.c didn't compile on Mac OS X 10.2 because it
110206         lacks <wchar.h> and wint_t.
110207         * lib/wctype_.h (__wctype_wint_t): New type.
110208         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
110209         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
110210         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
110211         Arg is now of type __wctype_wint_t, not wint_t.
110212         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
110213         substitute HAVE_WINT_T.
110214         * modules/wctype (Files): Add m4/wint_t.m4.
110215         (wctype.h): Substitute HAVE_WINT_T.
110217 2006-12-23  Bruno Haible  <bruno@clisp.org>
110219         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
110221 2006-12-23  Bruno Haible  <bruno@clisp.org>
110223         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
110224         S_ISLNK.
110225         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
110226         mingw.
110228 2006-12-22  Bruno Haible  <bruno@clisp.org>
110230         * lib/copy-file.c: Include acl.h.
110231         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
110232         Close the file descriptors only after being done with copy_acl.
110233         * modules/copy-file (Depends-on): Add acl.
110235 2006-12-22  Bruno Haible  <bruno@clisp.org>
110237         * gnulib-tool (SED): New variable.
110238         Use $SED instead of sed everywhere.
110240 2006-12-22  Bruno Haible  <bruno@clisp.org>
110242         * modules/no-c++: New file.
110243         * m4/no-c++.m4: New file.
110244         * MODULES.html.sh (Support for building libraries and executables):
110245         Add no-c++.
110247 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
110249         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
110250         Include <limits.h>, and use its INT_MAX to rewrite the
110251         j loop so that it does not overflow 'int'.  Problem reported by
110252         Ralf Wildenhues in
110253         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
110254         Play it safe by shifting left by 1 rather than multiplying by 2,
110255         as GCC is less likely to optimize this away when the value
110256         is signed (when it assumes overflow leads to undefined behavior).
110257         Also, don't assume time_t uses two's complement.
110259 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
110261         * MODULES.html.sh: New module wctype.
110262         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
110263         * lib/fnmatch.c: Don't bother to include <wchar.h> before
110264         <wctype.h>, since the new wctype module should fix this.
110265         * lib/quotearg.c: Include <wctype.h> unconditionally, since
110266         the wctype module should arrange for it.
110267         * lib/regex_internal.h: Likewise.
110268         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
110269         since the wctype module should handle this now.
110270         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
110271         * modules/fnmatch (Depends-on): Add wctype.
110272         * modules/quotearg (Depends-on): Likewise.
110273         * modules/regex (Depends-on): Likewise.
110275 2006-12-19  Bruno Haible  <bruno@clisp.org>
110277         * lib/strdup.h [C++]: Wrap definitions in extern "C".
110278         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
110280 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110282         * modules/savewd (Depends-on): Fix dependency on fcntl.
110284 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110286         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
110287         conforms to C99, rather than relying on the user's environment
110288         setting of STDINT_H.
110290 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110291         and Eric Blake  <ebb9@byu.net>
110293         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
110294         This is more consistent with the other defines here.
110295         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
110296         Port to z/OS.  Problem reported by Paul Gilmartin.
110297         Change local vars to use gl_ prefix rather than ac_.
110298         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
110299         with other defines.
110300         * modules/double-slash-root: New module.
110301         * modules/dirname (Files): Remove m4/double-slash-root.m4.
110302         (Depends-on): Add double-slash-root.
110303         * MODULES.html.sh (File system functions): Mention new module.
110305 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110307         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
110308         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
110309         This is for the benefit of gzip, which doesn't do i18n.
110311 2006-12-12  Jim Meyering  <jim@meyering.net>
110313         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
110314         Reported by Andreas Schwab <schwab@suse.de>.
110316 2006-12-12  Bruno Haible  <bruno@clisp.org>
110318         Merge these changes.
110319         2006-09-05  Bruno Haible  <bruno@clisp.org>
110320         * lib/iconvme.c (iconv_string): No need to save and restore errno when
110321         iconv_alloc succeeded.
110322         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
110323         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
110324         test for " && dest " at the end - dest is always != NULL there. Call
110325         iconv with 4xNULL arguments initially, to reset the state. Call iconv
110326         with 2xNULL arguments, also to flush the state storage. Handle the
110327         IRIX iconv behaviour. Realloc the final result, to throw away unused
110328         memory.
110330 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
110332         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
110333         and fchmodat unconditionally, since glibc 2.4 has them.
110334         Problem reported by Arkadiusz Miskiewicz.
110336 2006-12-10  Bruno Haible  <bruno@clisp.org>
110338         * gnulib-tool (func_import): Show the include files only for those
110339         modules that are copied and specified.
110340         Reported by Karl Berry.
110342 2006-12-08  Jim Meyering  <jim@meyering.net>
110344         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
110345         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
110347         * build-aux/announce-gen: Add two new options, both optional:
110348         --bootstrap-tools=TOOL_LIST
110349               a comma-separated list of tools, e.g.,
110350               autoconf,automake,bison,gnulib
110351         --gnulib-snapshot-date=DATE
110352               if gnulib is in the bootstrap tool list,
110353               then report this as the snapshot date.
110354               If not specified, use the current date/time.
110355               If you specify a date here, be sure it's UTC.
110357 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110359         * tests/test-argp-2.sh: Fix test to match actual output.
110360         (func_compare): Fix sed script to be portable.
110362 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
110364         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
110365         workaround for this case.  It is not autoconfigured now; offhand
110366         it's hard to see how to autoconfigure it.
110368 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
110370         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
110371         a directory that is about to be chowned.  Such a directory's
110372         initial file permissions should permit the owner only and this
110373         should not be changed until after the chown, since the group and
110374         other bits would be incorrect if they granted permission before
110375         the chown.
110377         Fix porting problem for iswctype reported by Georg Schwarz in:
110378         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
110379         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
110380         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
110381         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
110382         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
110384 2006-12-03  Jim Meyering  <jim@meyering.net>
110386         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
110387         p->fts_statp may not yet be defined.
110388         (fts_read): Instead, set it in the caller, once p->fts_statp is
110389         sure to be defined, and corresponds to a top-level directory.
110390         This bug made du -x fail.  Here's the coreutils test case:
110391         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
110392         Reported by Mike Frysinger.
110394 2006-12-01  Jim Meyering  <jim@meyering.net>
110396         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
110397         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
110398         Reported by Simon Josefsson.
110400 2006-11-30  Jim Meyering  <jim@meyering.net>
110402         * m4/warning.m4: Use the all-permissive copyright notice
110403         recommended by RMS (rather than LGPL).
110404         * m4/vararrays.m4: Likewise.
110405         * m4/flexmember.m4: Likewise.
110407 2006-11-29  Bruno Haible  <bruno@clisp.org>
110409         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110410         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
110411         using +=.
110412         Reported by Simon Josefsson <simon@josefsson.org>.
110414 2006-11-28  James Youngman  <jay@gnu.org>
110416         * README: Advise users that they might find the bug-gnulib@gnu.org
110417         and autotools-announce@gnu.org mailing lists useful.
110419 2006-11-28  Bruno Haible  <bruno@clisp.org>
110421         * m4/ptrdiff_max.m4: Remove file.
110423 2006-11-21  Bruno Haible  <bruno@clisp.org>
110425         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
110426         _AC_COMPUTE_INT.
110427         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110428         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
110429         _AC_COMPUTE_INT.
110430         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110431         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
110432         _AC_COMPUTE_INT.
110433         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110435 2006-11-28  Jim Meyering  <jim@meyering.net>
110437         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
110438         warning from "gcc -Wshadow" about shadowing the builtin.
110440 2006-11-27  Bruno Haible  <bruno@clisp.org>
110442         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
110443         _AC_COMPUTE_INT.
110444         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110446 2006-11-27  Bruno Haible  <bruno@clisp.org>
110447             Paul Eggert  <eggert@cs.ucla.edu>
110449         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
110451 2006-11-26  Bruno Haible  <bruno@clisp.org>
110453         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110454         noinst_LTLIBRARIES.
110456 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
110457             Bruno Haible  <bruno@clisp.org>
110459         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
110460         if compiling with "gcc -ansi".
110462 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
110464         Fix some incompatibilities with gcc -ansi -pedantic.
110465         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
110466         if compiling pedantically with GCC, unless it's C99 or later.
110467         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
110468         it mishandles gcc -ansi -pedantic as well.
110469         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
110470         if gcc -pedantic.
110471         * lib/regexec.c (check_node_accept_bytes): Don't use auto
110472         initializers for struct if -pedantic, unless it's C99 or later.
110474 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
110476         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
110477         Don't close an fd more than once. Identical atimes indicate
110478         success, not failure.
110480 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
110482         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
110484 2006-11-23  Jim Meyering  <jim@meyering.net>
110486         * build-aux/announce-gen: New file.  From coreutils.
110488 2006-11-22  Jim Meyering  <jim@meyering.net>
110490         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
110491         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
110492         (fts_read): Use a temporary to narrow the overused st_size member
110493         before using it in a switch statement.  Reported by Matthew Woehlke.
110495         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
110496         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
110498 2006-11-20  Bruno Haible  <bruno@clisp.org>
110500         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
110501         changequote instead of pairs of brackets.
110502         Reported by Andreas Schwab <schwab@suse.de>.
110504 2006-11-21  Jim Meyering  <jim@meyering.net>
110506         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
110507         so as to remain compatible with older compilers.
110508         Patch from Michael Deutschmann.
110510 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110512         * MODULES.html.sh (File system functions): Add openat.
110514         * lib/openat.h (rpl_fstatat): New macro, if
110515         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
110516         (fstatat): Define to rpl_fstatat under the same conditions,
110517         unless COMPILING_FSTATAT.
110518         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
110519         seems to have the bug.
110520         * lib/fstatat.c: New file.
110521         * modules/openat (Files): Add it.
110523 2006-11-20  Bruno Haible  <bruno@clisp.org>
110525         * Makefile: New file.
110527 2006-11-20  Jim Meyering  <jim@meyering.net>
110529         The beginnings of syntax-related checks for gnulib.
110530         * lib/Makefile: New file.
110531         * lib/t-idcache: New script.  Ensure that the two halves of
110532         idcache.c stay in sync.
110534         * lib/idcache.c: Adjust comments in user- and group- portions to
110535         be more accurate, and to be consistent with one another.
110537 2006-11-20  Jim Meyering  <jim@meyering.net>
110539         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
110540         continue using the flexible array member (thus, this module performs
110541         half as many malloc calls), with the addition that...
110542         (getgroup, getuser): Consistently record a non-match via an empty
110543         "name" string, and map an empty string match to a NULL return value.
110544         * modules/idcache (Depends-on): Re-add flexmember.
110546         * lib/idcache.c (getuser): Remove all uses of the register keyword.
110547         (getuidbyname, getgroup, getgidbyname): Likewise.
110549         Use cleaner syntax: NULL rather than 0.
110550         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
110552 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110554         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
110555         It mishandled the case where the group was missing.
110556         Problem reported by Greg Schafer.
110557         * modules/idcache: Likewise.
110559 2006-11-18  Jim Meyering  <jim@meyering.net>
110561         * check-module (%exempt_header): Add exception for some
110562         conditionally-included headers.
110564         * modules/i-ring (Depends-on): Add verify.
110565         (License): Change to LGPL.
110567 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
110569         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
110570         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
110571         and inttostr.h.  Use snprintf rather than uinttostr, so that
110572         LGPLed code doesn't depend on GPLed.
110574 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
110576         * modules/inline (License): Change from GPL to LGPL.
110578 2006-11-17  Jim Meyering  <jim@meyering.net>
110580         * modules/d-type (License): Switch to LGPL.
110582 2006-11-15  Bruno Haible  <bruno@clisp.org>
110584         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
110586 2006-11-15  Eric Blake  <ebb9@byu.net>
110588         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
110589         the module dependency.
110591 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110592             Bruno Haible  <bruno@clisp.org>
110594         * gnulib-tool (func_create_testdir): Add license consistency check.
110596 2006-11-15  Eric Blake  <ebb9@byu.net>
110598         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
110599         random "(cached)" in configure output.
110601 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110603         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
110604         test for conforming inttypes.h is both announced and cached.
110606         * MODULES.html.sh (seen_modules, seen_files): New variables.
110607         (func_module): Rewrite to use a few less gnulib-tool and sed
110608         invocations.  Avoid a couple of quadratic algorithms for ...
110609         (missed_modules, missed_files): ... these, with ...
110610         (func_append, func_tmpdir): ... these new functions, from
110611         gnulib-tool.  Analogously, install traps for cleanup.
110613         * tests/test-gc.c (main): Remove unused variables.
110614         * tests/test-read-file.c: Include stdlib.h, for 'free'.
110616 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
110618         * modules/inttostr (License): Change to LGPL.
110620 2006-11-14  Eric Blake  <ebb9@byu.net>
110622         * modules/tempname (License): Change to LGPL.
110624 2006-11-14  Eric Blake  <ebb9@byu.net>
110626         * doc/functions.texi (Function Portability): *printf functions on
110627         Cygwin now understand all POSIX size specifiers.
110629 2006-11-14  Bruno Haible  <bruno@clisp.org>
110631         * modules/c-ctype (License): Change to LGPL.
110633 2006-11-12  Bruno Haible  <bruno@clisp.org>
110635         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
110636         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
110637         for GNOME libraries, for which the include files are installed in
110638         subdirectories of $prefix/include.
110640 2006-11-12  Bruno Haible  <bruno@clisp.org>
110642         * m4/lib-link.m4: Require at least autoconf-2.54.
110643         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
110644         name to underscores for the --with option.
110646 2006-11-13  Bruno Haible  <bruno@clisp.org>
110648         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
110649         the tests directory.
110650         Reported by Ralf Wildenhues.
110652 2006-11-13  Bruno Haible  <bruno@clisp.org>
110654         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
110655         (func_emit_initmacro_end): Undo the override here.
110656         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
110657         Works around the famous automake error in coreutils.
110659 2006-11-13  Eric Blake  <ebb9@byu.net>
110661         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
110662         element, not its node.
110664 2006-11-12  Bruno Haible  <bruno@clisp.org>
110666         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
110667         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
110669 2006-11-12  Bruno Haible  <bruno@clisp.org>
110671         * gnulib-tool: New option --local-symlink.
110672         (func_usage): Document it.
110673         (lsymbolic): New variable.
110674         (func_import, func_create_testdir): If --symlink was not specified,
110675         test whether --local-symlink was specified and the file comes from
110676         the local_gnulib_dir.
110678 2006-11-12  Bruno Haible  <bruno@clisp.org>
110680         * gnulib-tool (func_ln): New function.
110681         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
110683 2006-11-12  Bruno Haible  <bruno@clisp.org>
110685         Finish support for source files in subdirectories.
110686         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
110687         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
110688         AUTOMAKE_OPTIONS.
110689         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
110691 2006-11-12  Bruno Haible  <bruno@clisp.org>
110693         * gnulib-tool (func_get_automake_snippet): Synthesize also an
110694         EXTRA_lib_SOURCES augmentation.
110695         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
110697 2006-11-12  Jim Meyering  <jim@meyering.net>
110699         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
110700         file descriptors.  This also averts a failure on systems with
110701         native openat support when a traversed directory lacks "x" access.
110702         * lib/fts_.h: Include "i-ring.h"
110703         (struct FTS) [fts_fd_ring]: New member.
110704         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
110705         (FCHDIR): Add parentheses.
110706         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
110707         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
110708         When descending, rather than simply closing the previous
110709         fts_cwd_fd value, push that file descriptor onto the ring.
110710         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
110711         (fts_open): Initialize the new fd_ring member.
110712         (fts_close): Clear the ring.
110713         (fts_safe_changedir): When possible, use our new fd_ring to skip
110714         the diropen and fstat and dev/ino comparison that would normally
110715         accompany a virtual `chdir ("..")'.
110717         * modules/fts (Depends-on): Add i-ring.
110718         * modules/i-ring: New module.
110719         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
110720         * m4/i-ring.m4: New file.
110722 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110724         * gnulib-tool (func_create_testdir): Fix replacement of
110725         `build-aux' in configure.ac.  Run autotools in gltests
110726         subdirectory.
110727         (func_create_testdir, func_create_megatestdir, test): There is
110728         no need for '--force' in most autotool invocations in a new
110729         tree.  Actually fail the whole test if any of the tools, or the
110730         configure or make stages fail.
110732         Sync from Automake.
110733         * build-aux/gnupload: Revert last change.  Add pointer to upload
110734         instructions of the GNU Maintenance Instructions.
110735         Suggestion by Karl Berry.
110737 2006-11-10  Jim Meyering  <jim@meyering.net>
110739         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
110741 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110743         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
110744         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
110745         (bind_textdomain_codeset) [! ENABLE_NLS]:
110746         Evaluate all the arguments.  That way, callers get compatible behavior
110747         if the arguments have side effects.  Also, it avoids some GCC
110748         diagnostics in some cases; Joel E. Denny reported problems when Bison
110749         was configured with --enable-gcc-warnigs.
110751 2006-11-10  Jim Meyering  <jim@meyering.net>
110753         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
110754         relevant options in CFLAGS (like -O, -fno-inline) are taken into
110755         account.
110757 2006-11-10  Jim Meyering  <jim@meyering.net>
110759         * modules/inline: New file/module.
110760         * modules/xalloc (Files): Remove m4/inline.m4.
110761         (Depends-on): Add inline, instead.
110762         * modules/oset: Likewise.
110763         * modules/list: Likewise.
110765 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110767         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
110768         Problem reported by Matthew Woehlke.
110770 2006-11-09  Bruno Haible  <bruno@clisp.org>
110772         * lib/tempname.c (gen_tempname): Remove variant that invokes
110773         __gen_tempname.
110774         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
110775         __gen_tempname.
110777 2006-11-08  Bruno Haible  <bruno@clisp.org>
110779         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
110780         to 'yes' instead of 'cross-compiling'.
110782 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
110784         * lib/quotearg.h (quotearg_free): New decl.
110785         * lib/quotearg.c (quotearg_free): New function.
110786         (slot0, nslots, slotvec0, slotvec):
110787         Now file-scope so that quotearg_free can get at them.
110789 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110791         Sync from Automake.
110792         * build-aux/gnupload: Add missing 'gnu' to example URL.
110793         Report by Karl Berry.
110795 2006-11-08  Bruno Haible  <bruno@clisp.org>
110797         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
110798         Suggested by Paul Eggert.
110800 2006-11-08  Jim Meyering  <jim@meyering.net>
110802         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
110803         It's already included if !_LIBC.
110804         (fts_safe_changedir): Add a comment.
110806 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110808         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
110809         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
110810         Matthew Woehlke.
110812         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
110813         definitions up, to avoid colliding with change below.
110814         (static_inline) [HAVE_INLINE]: New macro.
110815         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
110816         Provide extern decls when !HAVE_INLINE.  Do not define unless
110817         static_inline is defined, either by us or by xmalloc.c.  Use
110818         static_inline rather than static inline.
110819         (XCALLOC): Optimize sizeof(T) = 1 case.
110820         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
110822 2006-11-07  Bruno Haible  <bruno@clisp.org>
110824         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
110825         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
110826         AC_C_INLINE.
110827         * modules/xalloc (Files): Add m4/inline.m4.
110829 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110831         * README: Fix typo.
110832         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
110833         (Miscellanous Notes): ...from this.
110835 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110837         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
110838         Mention that offsetof should be used instead of sizeof.
110839         From Bruno Haible.
110841 2006-11-07  Bruno Haible  <bruno@clisp.org>
110843         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
110845 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110847         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110848         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
110849         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110850         (gl_tree_add_before, gl_tree_add_after):
110851         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
110852         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
110853         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
110854         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
110855         (gl_linked_add_after, gl_linked_add_at): Likewise.
110856         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
110857         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110858         (gl_tree_add_before, gl_tree_add_after): Likewise.
110859         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
110860         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
110861         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
110863 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110865         * lib/gl_oset.h: Use C comment style, not C++ comment style.
110867 2006-11-06  Bruno Haible  <bruno@clisp.org>
110869         * m4/inline.m4: New file.
110870         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
110871         * modules/list (Files): Add m4/inline.m4.
110872         * modules/oset (Files): Likewise.
110874 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110876         * lib/idcache.c: Include <stddef.h>, for offsetof.
110877         (struct userid.name): Change from char * to a flexible array member.
110878         All uses changed.
110879         * modules/idcache (Depends-on): Add flexmember.
110881         * MODULES.html.sh (Core language properties): New module flexmember.
110882         * modules/flexmember, m4/flexmember.m4: New files.
110884         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
110885         inline functions that are identical with the old xnmalloc_inline,
110886         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
110887         that we can avoid some unnecessary integer multiplications and
110888         divisions in the common case where the element size is known at
110889         compile time.
110890         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
110891         needed.
110892         (xnboundedmalloc): Remove.
110893         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
110894         arguments, for consistency with rest of this header.
110895         (xcharalloc): Rewrite using XNMALLOC.
110896         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
110897         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
110898         versions have been moved to lib/xalloc.h and renamed to be the
110899         non-*_inline versions.
110900         (xmalloc, xrealloc): Implement without reference to the xnmalloc
110901         and xnrealloc functions, since those functions are now inline and
110902         now call us.
110903         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
110904         renaming described above.
110905         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
110906         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
110907         captures the dependency in AC_C_INLINE.
110909         New module canonicalize-lgpl, proposed by Charles Wilson in
110910         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
110911         with a few small changes afterwards.
110912         * MODULES.html.sh (File system functions): New module
110913         canonicalize-lgpl.
110914         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
110915         and canonicalize_file_name.
110916         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
110917         * modules/canonicalize-lgpl: New files.
110919 2006-11-05  Bruno Haible  <bruno@clisp.org>
110921         * gnulib-tool (func_import, func_create_testdir): Create directories
110922         also for files in subdirectories of lib/.
110924 2006-11-05  Bruno Haible  <bruno@clisp.org>
110926         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
110927         ANSI C compliant.
110929 2006-11-03  Bruno Haible  <bruno@clisp.org>
110931         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110932         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
110933         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
110934         (xnboundedmalloc): New inline function.
110935         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
110936         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
110937         xmalloc.
110938         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
110939         xmalloc.
110940         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
110941         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
110942         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
110943         xmalloc.
110944         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110945         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
110946         xmalloc.
110947         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
110948         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110949         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
110950         xmalloc.
110951         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110952         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
110953         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110954         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
110955         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
110956         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
110957         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
110959 2006-11-03  Bruno Haible  <bruno@clisp.org>
110961         * lib/c-ctype.h [C++]: Define functions without name mangling.
110962         * lib/fwriteerror.h [C++]: Likewise.
110963         * lib/gcd.h [C++]: Likewise.
110964         * lib/linebreak.h [C++]: Likewise.
110966 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
110968         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
110969         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
110970         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
110971         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
110972         Check for functions and headers just once.
110973         Check for declaration of canonicalize_file_name.
110974         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
110976 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
110978         * gnulib-tool (func_import): Fix typo in actioncmd.
110980 2006-11-02  Bruno Haible  <bruno@clisp.org>
110982         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
110983         newline sequence in the Makefile.am snippet as a space, like "make"
110984         does.
110985         Reported by Roger Persson <perrog@gmail.com>.
110987 2006-11-01  Bruno Haible  <bruno@clisp.org>
110989         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
110990         already declared in <string.h>.
110991         * lib/strcase.h (strncasecmp): Don't declare it if yes.
110993 2006-11-01  Bruno Haible  <bruno@clisp.org>
110995         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
110996         * lib/strcase.h: Include <string.h>.
110997         (strcasecmp): Define to rpl_strcasecmp here.
110999 2006-11-01  Bruno Haible  <bruno@clisp.org>
111001         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
111003 2006-11-01  Eric Blake  <ebb9@byu.net>
111005         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
111007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
111009 2006-10-29  Bruno Haible  <bruno@clisp.org>
111011         Make it compile in C++ mode.
111012         * lib/full-write.c (full_rw): Add a cast.
111014 2006-11-01  Bruno Haible  <bruno@clisp.org>
111016         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
111017         be POSIX compliant.
111018         Reported by Roger Persson <perrog@gmail.com>.
111020 2006-11-01  Eric Blake  <ebb9@byu.net>
111022         * lib/getopt_.h: Fix comments.
111024 2006-10-31  Eric Blake  <ebb9@byu.net>
111026         * modules/tmpdir (Depends-on): Add sys_stat.
111027         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
111028         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
111029         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
111030         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
111031         tempname.
111033 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
111035         Avoid some C++ diagnostics reported by Bruno Haible.
111036         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
111037         xmalloc.
111038         (quotearg_alloc): Use xcharalloc rather than xmalloc.
111039         (struct slotvec): Move to top level.
111040         (quotearg_n_options): Rewrite to avoid xmalloc.
111041         * lib/xalloc.h (xcharalloc): New function.
111042         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
111043         [defined __cplusplus]: Add function template that provides result
111044         type propagation.  This part of the change is from Bruno Haible.
111046 2006-10-29  Bruno Haible  <bruno@clisp.org>
111048         Make it compile in C++ mode.
111049         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
111050         * lib/strnlen1.c (strnlen1): Cast memchr result.
111051         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
111052         * lib/clean-temp.c (string_equals, string_hash): Add casts.
111053         (create_temp_dir): Rename local variable 'template'.
111054         (compile_csharp_using_sscli): Add cast.
111055         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
111056         * lib/findprog.c (find_in_path): Likewise.
111057         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
111058         * lib/wait-process.c (register_slave_subprocess): Likewise.
111060 2006-10-22  Bruno Haible  <bruno@clisp.org>
111062         * modules/tsearch: New file.
111063         * lib/tsearch.h: New file.
111064         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
111065         * m4/tsearch.m4: New file.
111066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
111068 2006-10-29  Eric Blake  <ebb9@byu.net>
111070         * lib/arcfour.c: Assume config.h.
111071         * lib/arctwo.c: Likewise.
111072         * lib/base64.c: Likewise.
111073         * lib/check-version.c: Likewise.
111074         * lib/crc.c: Likewise.
111075         * lib/des.c: Likewise.
111076         * lib/gc-gnulib.c: Likewise.
111077         * lib/gc-libgcrypt.c: Likewise.
111078         * lib/gc-pbkdf2-sha1.c: Likewise.
111079         * lib/getaddrinfo.c: Likewise.
111080         * lib/getdelim.c: Likewise.
111081         * lib/getline.c: Likewise.
111082         * lib/hmac-md5.c: Likewise.
111083         * lib/hmac-sha1.c: Likewise.
111084         * lib/iconvme.c: Likewise.
111085         * lib/md2.c: Likewise.
111086         * lib/md4.c: Likewise.
111087         * lib/memxor.c: Likewise.
111088         * lib/read-file.c: Likewise.
111089         * lib/readline.c: Likewise.
111090         * lib/rijndael-alg-fst.c: Likewise.
111091         * lib/rijndael-api-fst.c: Likewise.
111092         * lib/xgetdomainname.c: Likewise.
111094 2006-10-28  Eric Blake  <ebb9@byu.net>
111096         * lib/xstrndup.c: Assume config.h.
111098 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
111100         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
111101         stat-macros.h is now for our own macros, whereas stat_h is for
111102         macros in the <sys/stat.h> name space.
111103         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
111104         (STAT_MACROS_H): Remove.
111105         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
111106         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
111107         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
111108         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
111109         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
111110         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
111111         Move these macros to ...
111112         * lib/stat_.h: here.  Don't include stat-macros.h.
111113         * lib/canonicalize.c: Don't include stat-macros.h.
111114         * lib/chown.c: Likewise.
111115         * lib/euidaccess.c: Likewise.
111116         * lib/file-type.c: Likewise.
111117         * lib/filemode.c: Likewise.
111118         * lib/glob.c: Likewise.
111119         * lib/isapipe.c: Likewise.
111120         * lib/lchown.c: Likewise.
111121         * lib/lstat.c: Likewise.
111122         * lib/mkdir-p.c: Likewise.
111123         * lib/rmdir.c: Likewise.
111124         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
111125         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
111126         unless mkdir isn't declared, to speed up 'configure'.
111127         Always create sys/stat.h, since it's unlikely any real sys/stat.h
111128         would define all the S_* symbols.
111129         * modules/canonicalize (Depends-on):
111130         Depend on sys_stat, not stat-macros.
111131         * modules/chown: Likewise.
111132         * modules/euidaccess: Likewise.
111133         * modules/filemode: Likewise.
111134         * modules/file-type: Likewise.
111135         * modules/glob: Likewise.
111136         * modules/isapipe: Likewise.
111137         * modules/lchown: Likewise.
111138         * modules/lstat: Likewise.
111139         * modules/mkancesdirs: Likewise.
111140         * modules/rmdir: Likewise.
111141         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
111142         * modules/modechange: Likewise.
111143         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
111144         (configure.ac): Remove gl_STAT_MACROS.
111145         * modules/sys_stat (Depends-on): Remove stat-macros.
111147 2006-10-27  Bruno Haible  <bruno@clisp.org>
111149         * m4/signed.m4: Remove file.
111150         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
111151         invocation.
111152         * modules/vasnprintf (Files): Remove m4/signed.m4.
111154 2006-10-27  Bruno Haible  <bruno@clisp.org>
111156         Update to GNU gettext 0.16.
111157         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
111158         m4/inttypes-h.m4, m4/signed.m4.
111159         * m4/gettext.m4: Update to GNU gettext 0.16.
111160         * m4/intl.m4: New file, from GNU gettext.
111161         * m4/intldir.m4: New file, from GNU gettext.
111162         * config/srclist.txt: Update
111164 2006-10-27  Eric Blake  <ebb9@byu.net>
111166         * MODULES.html.sh: Document tempname.
111167         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
111168         dependencies.
111169         (Files): Move lib/tempname.c...
111170         * modules/tempname: ...to this new module.
111171         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
111172         (gl_PREREQ_TEMPNAME): Move...
111173         * m4/tempname.m4: ...to this new file.
111174         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
111175         * modules/sys_stat (Depends-on): Add stat-macros.
111176         * lib/stat_.h (includes): Pick up stat macros.
111177         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111178         if stat macros are broken.
111179         * lib/tempname.c (includes): No need to include "stat-macros.h".
111180         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
111181         (direxists, __path_search) [!_LIBC]: Don't compile these in
111182         gnulib; the tmpdir module covers that.
111183         * lib/tempname.h: New file.
111185 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
111187         * COPYING: Explain how gnulib-tool converts licence headers.
111188         Almost all wording by Eric Blake.
111190 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
111192         * lib/mbchar.h (is_basic_table): Make read-only.
111193         * lib/mbchar.c (is_basic_table): Likewise.
111194         Reported by John Darrington.
111196 2006-10-25  Bruno Haible  <bruno@clisp.org>
111198         * lib/progname.h (set_program_name): Undefine before defining.
111200 2006-10-25  Bruno Haible  <bruno@clisp.org>
111202         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
111203         false for non-gcc C++ compilers.
111204         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
111206 2006-10-24  Bruno Haible  <bruno@clisp.org>
111208         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
111209         iconv implementations like Irix iconv.
111211 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111213         * modules/vararrays: New file.
111214         * m4/vararrays.m4: New file, taken from diffutils.
111215         * MODULES.html.sh: New module vararrays.
111217 2006-10-24  Karl Berry  <karl@gnu.org>
111219         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
111220         Don't call GNU Unix.
111222 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111224         * users.txt: Add Libtool.
111226         Sync from Libtool:
111228         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111230         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
111231         to gnulib's policy of including config.h unconditionally.
111233 2006-10-24  Bruno Haible  <bruno@clisp.org>
111235         * modules/wcwidth (Files): Add m4/wint_t.m4.
111236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
111237         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
111239 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111241         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
111242         to pacify GCC with some -W flags enabled.  Problem reported by
111243         Bruno Haible.
111245 2006-10-24  Jim Meyering  <jim@meyering.net>
111247         * MODULES.html.sh: Remove uinttostr.  It's not a module.
111248         Reported by Karl Berry.
111250 2006-10-23  Bruno Haible  <bruno@clisp.org>
111252         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
111254 2006-10-24  Bruno Haible  <bruno@clisp.org>
111256         * lib/gl_list.h: Use C comment style, not C++ comment style.
111258 2006-10-23  Eric Blake  <ebb9@byu.net>
111260         * lib/getaddrinfo.c (includes): Add missing include.
111262 2006-10-23  Bruno Haible  <bruno@clisp.org>
111263             Paul Eggert  <eggert@cs.ucla.edu>
111265         Ability to rename obstack_free.
111266         * lib/obstack.h (__obstack_free): New macro. Declare instead of
111267         obstack_free.
111268         (obstack_free): Invoke the __obstack_free macro.
111269         * lib/obstack.c (obstack_free): Use __obstack_free macro.
111271 2006-10-23  Bruno Haible  <bruno@clisp.org>
111272             Paul Eggert  <eggert@cs.ucla.edu>
111274         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
111275         __argc, __argv from the declaration. (They are defined as macros on
111276         mingw.)
111278 2006-10-22  Bruno Haible  <bruno@clisp.org>
111280         * doc/gnulib-intro.texi: New file.
111281         * doc/gnulib.texi: Include it.
111283 2006-10-21  Bruno Haible  <bruno@clisp.org>
111285         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
111286         "Introduction", "Miscellanous Notes", "Particular Modules".
111288 2006-10-21  Bruno Haible  <bruno@clisp.org>
111290         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111291         Change mostlyclean-local rule to avoid sh syntax error from bash
111292         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
111294 2006-10-23  Jim Meyering  <jim@meyering.net>
111296         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
111297         in place of snprintf.
111299         * modules/inttostr (Files): Add lib/uinttostr.c.
111300         * lib/uinttostr.c (inttostr): New file/function.
111301         * lib/inttostr.h (uinttostr): Declare.
111302         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
111303         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111304         Add uinttostr.
111305         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
111307 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111309         * lib/canonicalize.c (ELOOP): Define if not already defined.
111310         Problem reported by Bruno Haible in
111311         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
111313 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111315         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
111316         Problem reported by Perry Smith and Ville Laurikari.
111318         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
111319         uses.
111321 2006-10-19  Bruno Haible  <bruno@clisp.org>
111323         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
111324         for mingw.
111326 2006-10-19  Bruno Haible  <bruno@clisp.org>
111328         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
111329         Needed for mingw.
111331 2006-10-19  Bruno Haible  <bruno@clisp.org>
111333         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
111335 2006-10-19  Bruno Haible  <bruno@clisp.org>
111337         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
111338         it.
111340 2006-10-19  Bruno Haible  <bruno@clisp.org>
111342         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
111343         invocation.
111345 2006-10-19  Bruno Haible  <bruno@clisp.org>
111347         * gnulib-tool (func_create_testdir): Don't include ftruncate and
111348         mountlist by default.
111350 2006-10-16  Bruno Haible  <bruno@clisp.org>
111352         * lib/c-strstr.c: Include c-strstr.h.
111354 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111356         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
111357         in a slash.
111359 2006-10-18  Bruno Haible  <bruno@clisp.org>
111361         * lib/lock.h [C++]: Wrap definitions in extern "C".
111363 2006-10-18  Bruno Haible  <bruno@clisp.org>
111365         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
111366         gl_LIBOBJS list.
111368 2006-10-18  Bruno Haible  <bruno@clisp.org>
111370         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
111372 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
111374         * lib/xstrtol.h: Include gettext.h.
111375         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
111376         Problem reported by Eric Blake.
111377         * modules/xstrtol (Depends-on): Add gettext-h.
111379 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
111381         * lib/strftime.c (advance): New macro.
111382         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
111383         incomplete type, so you can't add 0 to it.  Problem and patch
111384         reported by Eelco Dolstra for dietlibc.
111386 2006-10-18  Jim Meyering  <jim@meyering.net>
111388         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
111389         type for a local, and rename it: s/up/user_proc/.
111391 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
111393         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
111394         READ_UTMP_USER_PROCESS.
111395         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
111397 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
111399         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
111400         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
111402 2006-10-17  Eric Blake  <ebb9@byu.net>
111404         * lib/sigprocmask.c (sigprocmask): Fix typo.
111406         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
111408         * modules/clean-temp (Makefile.am): Don't add to make output...
111409         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
111410         config.h.
111412 2006-10-17  Bruno Haible  <bruno@clisp.org>
111414         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
111415         differently if DEFAULT_TEXT_DOMAIN is set.
111417 2006-10-16  Bruno Haible  <bruno@clisp.org>
111419         * lib/clean-temp.c: Include fwriteerror.h.
111421 2006-10-16  Bruno Haible  <bruno@clisp.org>
111423         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
111425 2006-10-16  Bruno Haible  <bruno@clisp.org>
111427         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
111428         * lib/sigprocmask.h: Include <sys/types.h>.
111429         (sigset_t): Use the system's definition if present.
111431 2006-10-17  Eric Blake  <ebb9@byu.net>
111433         * lib/xvasprintf.c (includes): Assume config.h.
111434         * lib/xasprintf.c (includes): Likewise.
111436 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
111438         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
111439         at least as wide as intmax_t.
111441 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
111443         (Imported from Automake.)
111444         * build-aux/gnupload: Update to version 1.1 of directive file.
111446 2006-10-16  Eric Blake  <ebb9@byu.net>
111448         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
111449         match Automake 1.10a.
111451 2006-10-14  Bruno Haible  <bruno@clisp.org>
111453         * modules/sigprocmask: New file.
111454         * lib/sigprocmask.h: New file.
111455         * lib/sigprocmask.c: New file.
111456         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
111457         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
111458         request sigprocmask.o.
111459         (gl_PREREQ_SIGPROCMASK): New macro.
111460         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
111461         (Depends-on): Add sigprocmask.
111462         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
111463         gt_SIGNALBLOCKING. Test for 'raise' only once.
111464         * lib/fatal-signal.c: Include sigprocmask.h.
111465         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
111466         unblock_fatal_signals): Define always.
111467         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111468         sigprocmask.
111470 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
111472         Sync from Automake.
111473         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
111474         which incorrectly sets the mode of an existing destination
111475         directory.  In some cases the unpatched install-sh could do the
111476         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
111477         system.  We hope this is rare in practice, but it's clearly worth
111478         fixing.  Problem reported by Alex Unleashed in
111479         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
111480         Also, don't bother to check for -m bugs unless we're using -m;
111481         suggested by Stepan Kasal.
111483 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111485         Sync from Automake.
111486         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
111487         `-c' flag, so they appear at the same position as in %FASTDEP%
111488         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
111489         which ignores unknown options only after the first non-option.
111490         Bug report against M4 by Nelson H. F. Beebe.
111492 2006-10-13  Jim Meyering  <jim@meyering.net>
111494         Fix a bug in yesterday's change.
111495         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
111496         p->fts_statp->st_dev would be used uninitialized.
111497         Ensures that we always call fts_stat on the very first entry.
111498         Miklos Szeredi reported that find -xdev stopped working.
111500 2006-10-12  Bruno Haible  <bruno@clisp.org>
111502         * gnulib-tool (func_get_automake_snippet): Append an automatically
111503         computed EXTRA_DIST augmentation.
111504         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
111505         * modules/alloca-opt (Makefile.am): Likewise.
111506         * modules/allocsa (Makefile.am): Likewise.
111507         * modules/arcfour (Makefile.am): Likewise.
111508         * modules/arctwo (Makefile.am): Likewise.
111509         * modules/argmatch (Makefile.am): Likewise.
111510         * modules/argz (Makefile.am): Likewise.
111511         * modules/atexit (Makefile.am): Likewise.
111512         * modules/backupfile (Makefile.am): Likewise.
111513         * modules/byteswap (Makefile.am): Likewise.
111514         * modules/c-strtod (Makefile.am): Likewise.
111515         * modules/c-strtold (Makefile.am): Likewise.
111516         * modules/calloc (Makefile.am): Likewise.
111517         * modules/canon-host (Makefile.am): Likewise.
111518         * modules/canonicalize (Makefile.am): Likewise.
111519         * modules/chdir-long (Makefile.am): Likewise.
111520         * modules/chdir-safer (Makefile.am): Likewise.
111521         * modules/check-version (Makefile.am): Likewise.
111522         * modules/chown (Makefile.am): Likewise.
111523         * modules/cloexec (Makefile.am): Likewise.
111524         * modules/close-stream (Makefile.am): Likewise.
111525         * modules/closeout (Makefile.am): Likewise.
111526         * modules/crc (Makefile.am): Likewise.
111527         * modules/csharpexec (Makefile.am): Likewise.
111528         * modules/cycle-check (Makefile.am): Likewise.
111529         * modules/des (Makefile.am): Likewise.
111530         * modules/dev-ino (Makefile.am): Likewise.
111531         * modules/dirfd (Makefile.am): Likewise.
111532         * modules/dirname (Makefile.am): Likewise.
111533         * modules/dup2 (Makefile.am): Likewise.
111534         * modules/eealloc (Makefile.am): Likewise.
111535         * modules/error (Makefile.am): Likewise.
111536         * modules/euidaccess (Makefile.am): Likewise.
111537         * modules/exclude (Makefile.am): Likewise.
111538         * modules/exitfail (Makefile.am): Likewise.
111539         * modules/fcntl-safer (Makefile.am): Likewise.
111540         * modules/fcntl (Makefile.am): Likewise.
111541         * modules/file-type (Makefile.am): Likewise.
111542         * modules/fileblocks (Makefile.am): Likewise.
111543         * modules/filemode (Makefile.am): Likewise.
111544         * modules/filenamecat (Makefile.am): Likewise.
111545         * modules/fnmatch (Makefile.am): Likewise.
111546         * modules/fopen-safer (Makefile.am): Likewise.
111547         * modules/fpending (Makefile.am): Likewise.
111548         * modules/fprintftime (Makefile.am): Likewise.
111549         * modules/free (Makefile.am): Likewise.
111550         * modules/fsusage (Makefile.am): Likewise.
111551         * modules/ftruncate (Makefile.am): Likewise.
111552         * modules/fts (Makefile.am): Likewise.
111553         * modules/gc-arcfour (Makefile.am): Likewise.
111554         * modules/gc-des (Makefile.am): Likewise.
111555         * modules/gc-hmac-md5 (Makefile.am): Likewise.
111556         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
111557         * modules/gc-md4 (Makefile.am): Likewise.
111558         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111559         * modules/gc-sha1 (Makefile.am): Likewise.
111560         * modules/gc (Makefile.am): Likewise.
111561         * modules/getaddrinfo (Makefile.am): Likewise.
111562         * modules/getcwd (Makefile.am): Likewise.
111563         * modules/getdelim (Makefile.am): Likewise.
111564         * modules/getdomainname (Makefile.am): Likewise.
111565         * modules/getgroups (Makefile.am): Likewise.
111566         * modules/gethostname (Makefile.am): Likewise.
111567         * modules/gethrxtime (Makefile.am): Likewise.
111568         * modules/getline (Makefile.am): Likewise.
111569         * modules/getloadavg (Makefile.am): Likewise.
111570         * modules/getlogin_r (Makefile.am): Likewise.
111571         * modules/getndelim2 (Makefile.am): Likewise.
111572         * modules/getopt (Makefile.am): Likewise.
111573         * modules/getpagesize (Makefile.am): Likewise.
111574         * modules/getpass-gnu (Makefile.am): Likewise.
111575         * modules/getpass (Makefile.am): Likewise.
111576         * modules/getsubopt (Makefile.am): Likewise.
111577         * modules/gettime (Makefile.am): Likewise.
111578         * modules/gettimeofday (Makefile.am): Likewise.
111579         * modules/getugroups (Makefile.am): Likewise.
111580         * modules/getusershell (Makefile.am): Likewise.
111581         * modules/glob (Makefile.am): Likewise.
111582         * modules/group-member (Makefile.am): Likewise.
111583         * modules/hard-locale (Makefile.am): Likewise.
111584         * modules/hash (Makefile.am): Likewise.
111585         * modules/hmac-md5 (Makefile.am): Likewise.
111586         * modules/hmac-sha1 (Makefile.am): Likewise.
111587         * modules/human (Makefile.am): Likewise.
111588         * modules/idcache (Makefile.am): Likewise.
111589         * modules/imaxabs (Makefile.am): Likewise.
111590         * modules/imaxdiv (Makefile.am): Likewise.
111591         * modules/inet_ntop (Makefile.am): Likewise.
111592         * modules/inet_pton (Makefile.am): Likewise.
111593         * modules/intprops (Makefile.am): Likewise.
111594         * modules/inttostr (Makefile.am): Likewise.
111595         * modules/inttypes (Makefile.am): Likewise.
111596         * modules/isapipe (Makefile.am): Likewise.
111597         * modules/javaversion (Makefile.am): Likewise.
111598         * modules/lchmod (Makefile.am): Likewise.
111599         * modules/lchown (Makefile.am): Likewise.
111600         * modules/localcharset (Makefile.am): Likewise.
111601         * modules/long-options (Makefile.am): Likewise.
111602         * modules/lstat (Makefile.am): Likewise.
111603         * modules/malloc (Makefile.am): Likewise.
111604         * modules/mathl (Makefile.am): Likewise.
111605         * modules/mbchar (Makefile.am): Likewise.
111606         * modules/md2 (Makefile.am): Likewise.
111607         * modules/md4 (Makefile.am): Likewise.
111608         * modules/md5 (Makefile.am): Likewise.
111609         * modules/memcasecmp (Makefile.am): Likewise.
111610         * modules/memchr (Makefile.am): Likewise.
111611         * modules/memcmp (Makefile.am): Likewise.
111612         * modules/memcoll (Makefile.am): Likewise.
111613         * modules/memcpy (Makefile.am): Likewise.
111614         * modules/memmem (Makefile.am): Likewise.
111615         * modules/memmove (Makefile.am): Likewise.
111616         * modules/mempcpy (Makefile.am): Likewise.
111617         * modules/memrchr (Makefile.am): Likewise.
111618         * modules/memset (Makefile.am): Likewise.
111619         * modules/memxor (Makefile.am): Likewise.
111620         * modules/mkancesdirs (Makefile.am): Likewise.
111621         * modules/mkdir-p (Makefile.am): Likewise.
111622         * modules/mkdir (Makefile.am): Likewise.
111623         * modules/mkdtemp (Makefile.am): Likewise.
111624         * modules/mkstemp (Makefile.am): Likewise.
111625         * modules/mktime (Makefile.am): Likewise.
111626         * modules/modechange (Makefile.am): Likewise.
111627         * modules/mountlist (Makefile.am): Likewise.
111628         * modules/nanosleep (Makefile.am): Likewise.
111629         * modules/obstack (Makefile.am): Likewise.
111630         * modules/openat (Makefile.am): Likewise.
111631         * modules/pagealign_alloc (Makefile.am): Likewise.
111632         * modules/pathmax (Makefile.am): Likewise.
111633         * modules/physmem (Makefile.am): Likewise.
111634         * modules/poll (Makefile.am): Likewise.
111635         * modules/posixtm (Makefile.am): Likewise.
111636         * modules/posixver (Makefile.am): Likewise.
111637         * modules/putenv (Makefile.am): Likewise.
111638         * modules/quote (Makefile.am): Likewise.
111639         * modules/quotearg (Makefile.am): Likewise.
111640         * modules/raise (Makefile.am): Likewise.
111641         * modules/read-file (Makefile.am): Likewise.
111642         * modules/readline (Makefile.am): Likewise.
111643         * modules/readlink (Makefile.am): Likewise.
111644         * modules/readtokens (Makefile.am): Likewise.
111645         * modules/readutmp (Makefile.am): Likewise.
111646         * modules/realloc (Makefile.am): Likewise.
111647         * modules/regex (Makefile.am): Likewise.
111648         * modules/rename-dest-slash (Makefile.am): Likewise.
111649         * modules/rename (Makefile.am): Likewise.
111650         * modules/rijndael (Makefile.am): Likewise.
111651         * modules/rmdir (Makefile.am): Likewise.
111652         * modules/rpmatch (Makefile.am): Likewise.
111653         * modules/safe-read (Makefile.am): Likewise.
111654         * modules/safe-write (Makefile.am): Likewise.
111655         * modules/same-inode (Makefile.am): Likewise.
111656         * modules/same (Makefile.am): Likewise.
111657         * modules/save-cwd (Makefile.am): Likewise.
111658         * modules/savedir (Makefile.am): Likewise.
111659         * modules/setenv (Makefile.am): Likewise.
111660         * modules/settime (Makefile.am): Likewise.
111661         * modules/sha1 (Makefile.am): Likewise.
111662         * modules/sig2str (Makefile.am): Likewise.
111663         * modules/snprintf (Makefile.am): Likewise.
111664         * modules/stat-macros (Makefile.am): Likewise.
111665         * modules/stat-time (Makefile.am): Likewise.
111666         * modules/stdbool (Makefile.am): Likewise.
111667         * modules/stdint (Makefile.am): Likewise.
111668         * modules/stdlib-safer (Makefile.am): Likewise.
111669         * modules/stpcpy (Makefile.am): Likewise.
111670         * modules/stpncpy (Makefile.am): Likewise.
111671         * modules/strcase (Makefile.am): Likewise.
111672         * modules/strcasestr (Makefile.am): Likewise.
111673         * modules/strchrnul (Makefile.am): Likewise.
111674         * modules/strcspn (Makefile.am): Likewise.
111675         * modules/strdup (Makefile.am): Likewise.
111676         * modules/strerror (Makefile.am): Likewise.
111677         * modules/strftime (Makefile.am): Likewise.
111678         * modules/strndup (Makefile.am): Likewise.
111679         * modules/strnlen (Makefile.am): Likewise.
111680         * modules/strpbrk (Makefile.am): Likewise.
111681         * modules/strsep (Makefile.am): Likewise.
111682         * modules/strstr (Makefile.am): Likewise.
111683         * modules/strtod (Makefile.am): Likewise.
111684         * modules/strtoimax (Makefile.am): Likewise.
111685         * modules/strtok_r (Makefile.am): Likewise.
111686         * modules/strtol (Makefile.am): Likewise.
111687         * modules/strtoll (Makefile.am): Likewise.
111688         * modules/strtoul (Makefile.am): Likewise.
111689         * modules/strtoull (Makefile.am): Likewise.
111690         * modules/strtoumax (Makefile.am): Likewise.
111691         * modules/strverscmp (Makefile.am): Likewise.
111692         * modules/sys_socket (Makefile.am): Likewise.
111693         * modules/sys_stat (Makefile.am): Likewise.
111694         * modules/sysexits (Makefile.am): Likewise.
111695         * modules/time_r (Makefile.am): Likewise.
111696         * modules/timegm (Makefile.am): Likewise.
111697         * modules/timespec (Makefile.am): Likewise.
111698         * modules/tmpfile-safer (Makefile.am): Likewise.
111699         * modules/trim (Makefile.am): Likewise.
111700         * modules/unistd-safer (Makefile.am): Likewise.
111701         * modules/unlinkdir (Makefile.am): Likewise.
111702         * modules/unlocked-io (Makefile.am): Likewise.
111703         * modules/userspec (Makefile.am): Likewise.
111704         * modules/utime (Makefile.am): Likewise.
111705         * modules/utimecmp (Makefile.am): Likewise.
111706         * modules/utimens (Makefile.am): Likewise.
111707         * modules/vasnprintf (Makefile.am): Likewise.
111708         * modules/vasprintf (Makefile.am): Likewise.
111709         * modules/vsnprintf (Makefile.am): Likewise.
111710         * modules/xalloc (Makefile.am): Likewise.
111711         * modules/xgetcwd (Makefile.am): Likewise.
111712         * modules/xnanosleep (Makefile.am): Likewise.
111713         * modules/xreadlink (Makefile.am): Likewise.
111714         * modules/xstrtod (Makefile.am): Likewise.
111715         * modules/xstrtol (Makefile.am): Likewise.
111716         * modules/xstrtold (Makefile.am): Likewise.
111717         * modules/yesno (Makefile.am): Likewise.
111718         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
111720 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111722         * modules/error (Makefile.am): Distribute files through
111723         EXTRA_DIST, not lib_SOURCES.
111725 2006-10-12  Eric Blake  <ebb9@byu.net>
111727         * modules/error (Makefile.am): Distribute files in /lib.
111728         * modules/obstack (Makefile.am): Likewise.
111730 2006-10-12  Bruno Haible  <bruno@clisp.org>
111732         * modules/acl (Makefile.am): Distribute all files in lib/ through
111733         EXTRA_DIST.
111734         * modules/arcfour (Makefile.am): Likewise.
111735         * modules/arctwo (Makefile.am): Likewise.
111736         * modules/argmatch (Makefile.am): Likewise.
111737         * modules/argz (Makefile.am): Likewise.
111738         * modules/atexit (Makefile.am): Likewise.
111739         * modules/backupfile (Makefile.am): Likewise.
111740         * modules/c-strtod (Makefile.am): Likewise.
111741         * modules/c-strtold (Makefile.am): Likewise.
111742         * modules/calloc (Makefile.am): Likewise.
111743         * modules/canon-host (Makefile.am): Likewise.
111744         * modules/canonicalize (Makefile.am): Likewise.
111745         * modules/chdir-long (Makefile.am): Likewise.
111746         * modules/chdir-safer (Makefile.am): Likewise.
111747         * modules/check-version (Makefile.am): Likewise.
111748         * modules/chown (Makefile.am): Likewise.
111749         * modules/cloexec (Makefile.am): Likewise.
111750         * modules/close-stream (Makefile.am): Likewise.
111751         * modules/closeout (Makefile.am): Likewise.
111752         * modules/crc (Makefile.am): Likewise.
111753         * modules/cycle-check (Makefile.am): Likewise.
111754         * modules/des (Makefile.am): Likewise.
111755         * modules/dirfd (Makefile.am): Likewise.
111756         * modules/dirname (Makefile.am): Likewise.
111757         * modules/dup2 (Makefile.am): Likewise.
111758         * modules/euidaccess (Makefile.am): Likewise.
111759         * modules/exclude (Makefile.am): Likewise.
111760         * modules/exitfail (Makefile.am): Likewise.
111761         * modules/fcntl-safer (Makefile.am): Likewise.
111762         * modules/file-type (Makefile.am): Likewise.
111763         * modules/fileblocks (Makefile.am): Likewise.
111764         * modules/filemode (Makefile.am): Likewise.
111765         * modules/filenamecat (Makefile.am): Likewise.
111766         * modules/fnmatch (Makefile.am): Likewise.
111767         * modules/fopen-safer (Makefile.am): Likewise.
111768         * modules/fpending (Makefile.am): Likewise.
111769         * modules/fprintftime (Makefile.am): Likewise.
111770         * modules/free (Makefile.am): Likewise.
111771         * modules/fsusage (Makefile.am): Likewise.
111772         * modules/ftruncate (Makefile.am): Likewise.
111773         * modules/fts (Makefile.am): Likewise.
111774         * modules/gc (Makefile.am): Likewise.
111775         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111776         * modules/getaddrinfo (Makefile.am): Likewise.
111777         * modules/getcwd (Makefile.am): Likewise.
111778         * modules/getdelim (Makefile.am): Likewise.
111779         * modules/getdomainname (Makefile.am): Likewise.
111780         * modules/getgroups (Makefile.am): Likewise.
111781         * modules/gethostname (Makefile.am): Likewise.
111782         * modules/gethrxtime (Makefile.am): Likewise.
111783         * modules/getline (Makefile.am): Likewise.
111784         * modules/getloadavg (Makefile.am): Likewise.
111785         * modules/getlogin_r (Makefile.am): Likewise.
111786         * modules/getopt (Makefile.am): Likewise.
111787         * modules/getpass (Makefile.am): Likewise.
111788         * modules/getpass-gnu (Makefile.am): Likewise.
111789         * modules/getsubopt (Makefile.am): Likewise.
111790         * modules/gettime (Makefile.am): Likewise.
111791         * modules/gettimeofday (Makefile.am): Likewise.
111792         * modules/getugroups (Makefile.am): Likewise.
111793         * modules/getusershell (Makefile.am): Likewise.
111794         * modules/glob (Makefile.am): Likewise.
111795         * modules/group-member (Makefile.am): Likewise.
111796         * modules/hard-locale (Makefile.am): Likewise.
111797         * modules/hash (Makefile.am): Likewise.
111798         * modules/hmac-md5 (Makefile.am): Likewise.
111799         * modules/hmac-sha1 (Makefile.am): Likewise.
111800         * modules/human (Makefile.am): Likewise.
111801         * modules/idcache (Makefile.am): Likewise.
111802         * modules/imaxabs (Makefile.am): Likewise.
111803         * modules/imaxdiv (Makefile.am): Likewise.
111804         * modules/inet_ntop (Makefile.am): Likewise.
111805         * modules/inet_pton (Makefile.am): Likewise.
111806         * modules/inttostr (Makefile.am): Likewise.
111807         * modules/isapipe (Makefile.am): Likewise.
111808         * modules/lchown (Makefile.am): Likewise.
111809         * modules/long-options (Makefile.am): Likewise.
111810         * modules/lstat (Makefile.am): Likewise.
111811         * modules/malloc (Makefile.am): Likewise.
111812         * modules/mathl (Makefile.am): Likewise.
111813         * modules/mbchar (Makefile.am): Likewise.
111814         * modules/md2 (Makefile.am): Likewise.
111815         * modules/md4 (Makefile.am): Likewise.
111816         * modules/md5 (Makefile.am): Likewise.
111817         * modules/memcasecmp (Makefile.am): Likewise.
111818         * modules/memchr (Makefile.am): Likewise.
111819         * modules/memcmp (Makefile.am): Likewise.
111820         * modules/memcoll (Makefile.am): Likewise.
111821         * modules/memcpy (Makefile.am): Likewise.
111822         * modules/memmem (Makefile.am): Likewise.
111823         * modules/memmove (Makefile.am): Likewise.
111824         * modules/mempcpy (Makefile.am): Likewise.
111825         * modules/memrchr (Makefile.am): Likewise.
111826         * modules/memset (Makefile.am): Likewise.
111827         * modules/memxor (Makefile.am): Likewise.
111828         * modules/mkancesdirs (Makefile.am): Likewise.
111829         * modules/mkdir (Makefile.am): Likewise.
111830         * modules/mkdir-p (Makefile.am): Likewise.
111831         * modules/mkdtemp (Makefile.am): Likewise.
111832         * modules/mkstemp (Makefile.am): Likewise.
111833         * modules/mktime (Makefile.am): Likewise.
111834         * modules/modechange (Makefile.am): Likewise.
111835         * modules/mountlist (Makefile.am): Likewise.
111836         * modules/nanosleep (Makefile.am): Likewise.
111837         * modules/openat (Makefile.am): Likewise.
111838         * modules/pagealign_alloc (Makefile.am): Likewise.
111839         * modules/physmem (Makefile.am): Likewise.
111840         * modules/poll (Makefile.am): Likewise.
111841         * modules/posixtm (Makefile.am): Likewise.
111842         * modules/posixver (Makefile.am): Likewise.
111843         * modules/putenv (Makefile.am): Likewise.
111844         * modules/quote (Makefile.am): Likewise.
111845         * modules/quotearg (Makefile.am): Likewise.
111846         * modules/raise (Makefile.am): Likewise.
111847         * modules/read-file (Makefile.am): Likewise.
111848         * modules/readline (Makefile.am): Likewise.
111849         * modules/readlink (Makefile.am): Likewise.
111850         * modules/readtokens (Makefile.am): Likewise.
111851         * modules/readutmp (Makefile.am): Likewise.
111852         * modules/realloc (Makefile.am): Likewise.
111853         * modules/regex (Makefile.am): Likewise.
111854         * modules/rename (Makefile.am): Likewise.
111855         * modules/rename-dest-slash (Makefile.am): Likewise.
111856         * modules/rijndael (Makefile.am): Likewise.
111857         * modules/rmdir (Makefile.am): Likewise.
111858         * modules/rpmatch (Makefile.am): Likewise.
111859         * modules/safe-read (Makefile.am): Likewise.
111860         * modules/safe-write (Makefile.am): Likewise.
111861         * modules/same (Makefile.am): Likewise.
111862         * modules/save-cwd (Makefile.am): Likewise.
111863         * modules/savedir (Makefile.am): Likewise.
111864         * modules/setenv (Makefile.am): Likewise.
111865         * modules/settime (Makefile.am): Likewise.
111866         * modules/sha1 (Makefile.am): Likewise.
111867         * modules/sig2str (Makefile.am): Likewise.
111868         * modules/snprintf (Makefile.am): Likewise.
111869         * modules/stdlib-safer (Makefile.am): Likewise.
111870         * modules/stpcpy (Makefile.am): Likewise.
111871         * modules/stpncpy (Makefile.am): Likewise.
111872         * modules/strcase (Makefile.am): Likewise.
111873         * modules/strcasestr (Makefile.am): Likewise.
111874         * modules/strchrnul (Makefile.am): Likewise.
111875         * modules/strcspn (Makefile.am): Likewise.
111876         * modules/strdup (Makefile.am): Likewise.
111877         * modules/strerror (Makefile.am): Likewise.
111878         * modules/strftime (Makefile.am): Likewise.
111879         * modules/strndup (Makefile.am): Likewise.
111880         * modules/strnlen (Makefile.am): Likewise.
111881         * modules/strpbrk (Makefile.am): Likewise.
111882         * modules/strsep (Makefile.am): Likewise.
111883         * modules/strstr (Makefile.am): Likewise.
111884         * modules/strtod (Makefile.am): Likewise.
111885         * modules/strtoimax (Makefile.am): Likewise.
111886         * modules/strtok_r (Makefile.am): Likewise.
111887         * modules/strtol (Makefile.am): Likewise.
111888         * modules/strtoll (Makefile.am): Likewise.
111889         * modules/strtoul (Makefile.am): Likewise.
111890         * modules/strtoull (Makefile.am): Likewise.
111891         * modules/strtoumax (Makefile.am): Likewise.
111892         * modules/strverscmp (Makefile.am): Likewise.
111893         * modules/time_r (Makefile.am): Likewise.
111894         * modules/timegm (Makefile.am): Likewise.
111895         * modules/tmpfile-safer (Makefile.am): Likewise.
111896         * modules/unistd-safer (Makefile.am): Likewise.
111897         * modules/unlinkdir (Makefile.am): Likewise.
111898         * modules/userspec (Makefile.am): Likewise.
111899         * modules/utime (Makefile.am): Likewise.
111900         * modules/utimecmp (Makefile.am): Likewise.
111901         * modules/utimens (Makefile.am): Likewise.
111902         * modules/vasnprintf (Makefile.am): Likewise.
111903         * modules/vasprintf (Makefile.am): Likewise.
111904         * modules/vsnprintf (Makefile.am): Likewise.
111905         * modules/xalloc (Makefile.am): Likewise.
111906         * modules/xgetcwd (Makefile.am): Likewise.
111907         * modules/xnanosleep (Makefile.am): Likewise.
111908         * modules/xreadlink (Makefile.am): Likewise.
111909         * modules/xstrtod (Makefile.am): Likewise.
111910         * modules/xstrtol (Makefile.am): Likewise.
111911         * modules/xstrtold (Makefile.am): Likewise.
111912         * modules/yesno (Makefile.am): Likewise.
111914 2006-10-12  Jim Meyering  <jim@meyering.net>
111916         * m4/getloadavg.m4: Revert the change below.
111918         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
111919         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
111920         fail with a symlink, which is what coreutils' ./bootstrap now
111921         creates by default.
111923 2006-10-12  Bruno Haible  <bruno@clisp.org>
111925         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
111926         mingw.
111927         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
111928         MSVC and mingw explicitly.
111930 2006-10-11  Simon Josefsson  <jas@extundo.com>
111931             Bruno Haible  <bruno@clisp.org>
111933         Add support for multiple gnulib-tool invocations in the scope of a
111934         single configure.ac file.
111935         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
111936         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
111937         with the same contents as the _LIBADD variable.
111938         (func_emit_initmacro_start, func_emit_initmacro_end,
111939         func_emit_initmacro_done): New functions.
111940         (func_import, func_create_testdir): Invoke them. Allow the identifiers
111941         gl_LIBOBJS and gl_LTLIBOBJS.
111943 2006-10-11  Bruno Haible  <bruno@clisp.org>
111945         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
111946         (func_create_testdir): Don't create po/Makefile.am, don't invoke
111947         autoreconf. Instead, invoke autopoint explicitly but move back the
111948         *.m4 files from gnulib.
111950 2006-10-11  Bruno Haible  <bruno@clisp.org>
111952         * gnulib-tool (func_usage): Make module names after --create-testdir
111953         optional.
111954         (func_create_testdir): If no module was specified, use nearly all
111955         modules.
111957 2006-10-12  Jim Meyering  <jim@meyering.net>
111959         Big performance improvement for fts-based tools that use FTS_NOSTAT.
111960         Avoid spurious inode-mismatch problems on non-POSIX file systems.
111961         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
111962         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
111963         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
111964         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
111965         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
111966         (fts_set_stat_required): New function.
111967         (fts_open): Defer the calls to fts_stat, if possible or requested.
111968         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
111969         into fts_stat itself.
111970         (fts_read): Perform any required (deferred) fts_stat call.
111971         (fts_build): Likewise, for the directory we're about to open and read.
111972         In the readdir loop, carefully decide whether each entry will require
111973         an eventual call to fts_stat, using dirent.d_type info if available.
111974         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
111975         a command line argument into this function.  Update all callers.
111976         Map a return value of FTS_DOT to FTS_D for a command line argument.
111977         * modules/fts (Depends-on): Add d-type.  Alphabetize.
111978         Thanks to Miklos Szeredi for his tenacity and for the initial
111979         bug report about "find" failing on a FUSE-based file system.
111981         * lib/fts.c (fts_open): Use consistent indentation.
111983 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111985         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
111986         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
111987         reported by Jim Meyering.  All uses of cache variables renamed
111988         to match Autoconf's.
111989         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
111990         the other one.
111992         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
111993         Fix misspelling in diagnostic.
111995 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
111997         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
111998         defined.  Problem reported by Matthew Woehlke.
112000         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
112001         Add support for Tandem NonStop R series.
112002         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
112003         Use new macro.
112005         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
112006         (has_trailing_slash): Omit size arg; all callers changed.
112007         Omit 'inline', since it doesn't help performance and we'd
112008         need to configure it.
112009         Don't count //, ///, etc. as having a trailing slash.
112010         As a side effect, this removes a C99ism reported by Matthew Woehlke.
112011         (rpl_rename_dest_slash): On failure, use rename's errno rather
112012         than (in some cases) an incorrect or junk errno.
112013         Simplify code by removing need to compute length; this does
112014         cause it to make two passes instead of one over the file name,
112015         but it's worth it.
112017         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
112018         change, since Autoconf's version may no longer be appropriate now
112019         that we are using CVS Autoconf's version.  Add support for Tandem.
112021 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112022             Bruno Haible  <bruno@clisp.org>
112024         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
112025         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
112026         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
112027         gl_AC_TYPE_LONG_LONG.
112029         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
112030         instead of HAVE_LONG_LONG.
112031         * lib/printf-args.c (printf_fetchargs): Likewise.
112032         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
112033         * lib/vasnprintf.c (VASNPRINTF): Likewise.
112034         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
112035         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
112036         gl_AC_TYPE_LONG_LONG.
112038 2006-10-11  Bruno Haible  <bruno@clisp.org>
112040         * m4/longlong.m4: Add comments.
112041         * m4/ulonglong.m4: Likewise.
112043 2006-10-10  Bruno Haible  <bruno@clisp.org>
112045         Make it possible to #define stpcpy, strdup to aliases.
112046         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
112047         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
112049 2006-10-10  Bruno Haible  <bruno@clisp.org>
112051         Make it possible to #define gcd to an alias.
112052         * lib/gcd.c: Include config.h.
112054 2006-10-10  Bruno Haible  <bruno@clisp.org>
112056         Make it possible to #define c_isascii to an alias.
112057         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
112058         defined. Undefine the macros before defining them, to avoid gcc
112059         warnings.
112060         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112061         define NO_C_CTYPE_MACROS early.
112063 2006-10-10  Bruno Haible  <bruno@clisp.org>
112065         Make it possible to #define set_program_name to an alias.
112066         * lib/progname.c: Don't undefine set_program_name; instead, undefine
112067         ENABLE_RELOCATABLE early.
112069 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112071         Port to Tandem NSK OSS, which has 64-bit signed int but at most
112072         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
112073         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
112074         More generally, don't assume that 64-bit signed int is available
112075         if unsigned int is, and vice versa.
112076         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
112077         unsigned symbols, not on their signed counterparts.
112078         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
112079         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
112080         (UINT64_C, UINTMAX_C):
112081         Likewise.
112082         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
112083         unsigned counterparts.
112084         (Have_long_long, Unsigned): New macros.
112085         (Int): Renamed from INT.
112086         (strtoimax): Use the new macros.
112087         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
112088         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
112089         * modules/inttypes (inttypes.h): Substitute
112090         HAVE_UNSIGNED_LONG_LONG_INT.
112091         * modules/stdint (stdint.h): Likewise.
112092         (Files): Add m4/ulonglong.m4.
112094 2006-10-10  Bruno Haible  <bruno@clisp.org>
112096         Fix a gcc -Wshadow warning.
112097         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
112098         to 'bucket'.
112099         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
112100         gl_linked_indexof_from_to): Likewise.
112101         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
112102         Likewise.
112103         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
112104         Likewise.
112105         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
112106         Reported by Eric Blake.
112108 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
112110         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
112111         for NetBSD.  Problem reported by Bruno Haible.
112113 2006-10-09  Jim Meyering  <jim@meyering.net>
112115         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
112116         Patch from Bruno Haible.
112118 2006-10-09  Jim Meyering  <jim@meyering.net>
112120         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
112121         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
112122         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
112124 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
112126         Don't include <config.h> twice; this doesn't work in some cases,
112127         e.g., when config.h has "#define intmax_t long long int" and
112128         we include <config.h>, <inttypes.h>, <config.h> in that order.
112129         Problem reported by Matthew Woehlke in:
112130         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
112131         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
112132         * lib/fts-cycle.c: Don't include config.h.
112133         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
112134         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
112135         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
112136         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
112137         inttypes.h.
112138         * lib/xstrtoumax.c: Likewise.
112139         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
112140         __strtol and the like, so that this module is more like its siblings.
112141         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
112142         Remove; no longer needed now that we assume gnulib inttypes.h.
112144 2006-10-08  Bruno Haible  <bruno@clisp.org>
112146         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
112147         option.
112149 2006-10-07  Jim Meyering  <jim@meyering.net>
112151         * modules/inttypes (inttypes.h): Revert what seems to have been
112152         an inadvertent part of today's change: use "|", not "/" in the
112153         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112155 2006-10-07  Bruno Haible  <bruno@clisp.org>
112157         * modules/sublist: New file.
112159 2006-10-07  Bruno Haible  <bruno@clisp.org>
112161         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
112162         * modules/argz (argz.h): Likewise.
112163         * modules/arpa_inet (arpa/inet.h): Likewise.
112164         * modules/byteswap (byteswap.h): Likewise.
112165         * modules/configmake (configmake.h): Likewise.
112166         * modules/fcntl (fcntl.h): Likewise.
112167         * modules/fnmatch (fnmatch.h): Likewise.
112168         * modules/getopt (getopt.h): Likewise.
112169         * modules/glob (glob.h): Likewise.
112170         * modules/inttypes (inttypes.h): Likewise.
112171         * modules/netinet_in (netinet/in.h): Likewise.
112172         * modules/poll (poll.h): Likewise.
112173         * modules/stdbool (stdbool.h): Likewise.
112174         * modules/stdint (stdint.h): Likewise.
112175         * modules/sys_select (sys/select.h): Likewise.
112176         * modules/sys_socket (sys/socket.h): Likewise.
112177         * modules/sys_stat (sys/stat.h): Likewise.
112178         * modules/sysexits (sysexits.h): Likewise.
112179         * modules/unistd (unistd.h): Likewise.
112180         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112181         Add a "DO NOT EDIT" comment to the generated file.
112182         (func_import): Likewise for gnulib-comp.m4.
112184 2006-10-07  Bruno Haible  <bruno@clisp.org>
112186         * lib/gl_sublist.h: New file.
112187         * lib/gl_sublist.c: New file.
112189 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112191         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
112192         name (relative to the original working directory) and the file
112193         name component (relative to the temporary working directory).  All
112194         callers changed.
112195         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
112196         * lib/mkdir-p.c (make_dir_parents): Likewise.
112197         * lib/mkdir-p.h (make_dir_parents): Likewise.
112199 2006-10-06  Eric Blake  <ebb9@byu.net>
112201         Define several macros for use by the clean-temp module.
112202         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
112203         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
112204         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
112206         * lib/clean-temp.h (close_stream_temp): New declaration.
112207         * lib/clean-temp.c (includes): Pull in headers according to what
112208         other modules are in use.
112209         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
112211 2006-10-06  Bruno Haible  <bruno@clisp.org>
112213         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
112214         instead of fopen, fwriteerror.
112216 2006-10-06  Bruno Haible  <bruno@clisp.org>
112218         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
112219         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
112220         int.
112221         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
112222         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
112223         Return an error indicator.
112224         Suggested by Eric Blake.
112226 2006-10-06  Bruno Haible  <bruno@clisp.org>
112228         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
112229         Reported by Eric Blake.
112231 2006-10-06  Bruno Haible  <bruno@clisp.org>
112233         * modules/closeout (Description): Mention stderr too.
112235 2006-10-06  Bruno Haible  <bruno@clisp.org>
112236         and Paul Eggert  <eggert@cs.ucla.edu>
112238         * lib/closeout.c (close_stdout): Also close stderr.
112239         * lib/closeout.h: Update comment.
112241 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
112243         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
112244         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
112245         * lib/dirchownmod.c: Include lchown.h.
112246         * lib/lchown.c: Don't include files that lchown.h now includes.
112247         Don't declare chown, since lchown.h now does that.
112248         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
112249         (lchown): Define to rpl_chown if lchown is declared but
112250         does not exist.  Declare using a prototype if lchown is not
112251         declared.  Add a copyright notice.
112252         * lib/mkstemp.h: Include <unistd.h>.
112253         * lib/openat.c: Include lchown.h.
112255         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
112256         we now test for that separately.
112257         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
112258         rather than O_NOFOLLOW, when testing whether it's possible to
112259         avoid a race condition reliably.
112260         * lib/savewd.c (savewd_chdir): Likewise.
112262         Remove macros that are no longer needed now that stdint.h is
112263         reliable.
112264         * lib/fsusage.c (UINTMAX_MAX): Remove.
112265         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
112266         * lib/utimecmp.c (SIZE_MAX): Remove.
112268         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
112270         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
112271         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
112272         O_NOATIME works.
112274 2006-10-05  Bruno Haible  <bruno@clisp.org>
112276         * lib/gl_list.h (gl_sortedlist_search_from_to,
112277         gl_sortedlist_indexof_from_to): New declarations.
112278         (gl_list_implementation): New fields sortedlist_search_from_to,
112279         sortedlist_indexof_from_to.
112280         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
112281         inline functions.
112282         * lib/gl_list.c (gl_sortedlist_search_from_to,
112283         gl_sortedlist_indexof_from_to): New functions.
112284         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
112285         function.
112286         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
112287         (gl_array_sortedlist_search_from_to): New function.
112288         (gl_array_list_implementation): Update.
112289         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
112290         function.
112291         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
112292         (gl_carray_sortedlist_search_from_to): New function.
112293         (gl_carray_list_implementation): Update.
112294         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
112295         gl_linked_sortedlist_indexof_from_to): New functions.
112296         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112297         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112298         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
112299         gl_tree_sortedlist_indexof_from_to): New functions.
112300         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112301         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112302         Update.
112303         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112304         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
112305         Update.
112307 2006-10-05  Bruno Haible  <bruno@clisp.org>
112309         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
112310         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
112311         (struct gl_list_implementation): Add fields search_from_to,
112312         indexof_from_to. Remove fields search, indexof.
112313         (gl_list_search): Use the search_from_to method.
112314         (gl_list_search_from, gl_list_search_from_to): New functions.
112315         (gl_list_indexof): Use the indexof_from_to method.
112316         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112317         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
112318         (gl_list_search_from, gl_list_search_from_to): New functions.
112319         (gl_list_indexof): Use the indexof_from_to method.
112320         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112321         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
112322         gl_array_indexof. Add start_index, end_index arguments.
112323         (gl_array_search_from_to): Renamed from gl_array_search. Add
112324         start_index, end_index arguments.
112325         (gl_array_remove, gl_array_list_implementation): Update.
112326         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
112327         gl_carray_indexof. Add start_index, end_index arguments.
112328         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
112329         start_index, end_index arguments.
112330         (gl_carray_remove, gl_carray_list_implementation): Update.
112331         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
112332         gl_linked_search. Add start_index, end_index arguments.
112333         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
112334         start_index, end_index arguments.
112335         (gl_linked_remove): Update.
112336         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112337         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112338         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
112339         field to 'size_t'.
112340         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
112341         gl_tree_search. Add start_index, end_index arguments.
112342         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112343         start_index, end_index arguments.
112344         (gl_tree_remove): Update.
112345         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112346         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112347         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
112348         function.
112349         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
112350         gl_tree_search. Add start_index, end_index arguments.
112351         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112352         start_index, end_index arguments.
112353         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112354         Update.
112355         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
112357 2006-10-05  Bruno Haible  <bruno@clisp.org>
112359         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
112361         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
112362         fwriteerror_temp): New declarations.
112363         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
112364         (descriptors): New variable.
112365         (cleanup): First, close the descriptors.
112366         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
112367         fclose_temp, fwriteerror_temp): New functions.
112369 2006-10-04  Jim Meyering  <jim@meyering.net>
112371         * lib/fts.c (fts_open): Tiny comment change.
112373 2006-10-04  Bruno Haible  <bruno@clisp.org>
112375         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
112376         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
112377         gl_LOCK_BODY.
112378         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
112379         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
112380         gl_LOCK_EARLY_BODY.
112381         (gl_LOCK): Require gl_LOCK_BODY.
112383 2006-10-04  Bruno Haible  <bruno@clisp.org>
112385         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
112386         (gl_oset_search_atleast): New declaration.
112387         (struct gl_oset_implementation): Add field 'search_atleast'.
112388         (gl_oset_search_atleast): New inline function.
112389         * lib/gl_oset.c (gl_oset_search_atleast): New function.
112390         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
112391         (gl_array_oset_implementation): Update.
112392         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
112393         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
112394         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
112396 2006-10-04  Bruno Haible  <bruno@clisp.org>
112398         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
112400 2006-10-03  Bruno Haible  <bruno@clisp.org>
112402         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
112403         from gl_avltreehash_list_implementation.
112405 2006-10-03  Bruno Haible  <bruno@clisp.org>
112407         * lib/gl_oset.c (gl_oset_add): Fix return type.
112409 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
112411         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
112413 2006-10-02  Eric Blake  <ebb9@byu.net>
112415         * modules/strnlen (Depends-on): Add extensions.
112417 2006-10-02  Eric Blake  <ebb9@byu.net>
112419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
112420         definition in 2.60+.
112422 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
112424         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
112425         checks.
112427 2006-10-02  Bruno Haible  <bruno@clisp.org>
112429         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
112430         to the AUTOMAKE_OPTIONS.
112431         Reported by Jim Meyering.
112433 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
112435         Work around bug in Solaris 10 /proc file system:
112436         /proc/self/fd/NNN/.. isn't the parent directory of
112437         the directory whose file descriptor is NNN.  This needs to
112438         be worked around at run time, not compile time, since a
112439         program might be built on Solaris 8, where things work, and
112440         run on Solaris 10.
112441         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
112442         to use the following interface instead:
112443         (OPENAT_BUFFER_SIZE): New macro.
112444         (openat_proc_name): New function.
112445         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
112446         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
112447         Likewise.
112448         * lib/openat-proc.c: New file.
112449         * modules/openat (Files): Add lib/openat-proc.c.
112450         (Depends-on): Add same-inode, stdbool.
112451         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
112453 2006-09-29  Bruno Haible  <bruno@clisp.org>
112455         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
112456         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
112457         argument. Set stdout_closed before testing for ferror, not after.
112458         (fwriteerror, fwriteerror_no_ebadf): New functions.
112460 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112462         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
112464 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
112466         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
112467         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
112469 2006-09-28  Jim Meyering  <jim@meyering.net>
112471         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
112472         Include <unistd.h>.
112474 2006-09-28  Bruno Haible  <bruno@clisp.org>
112476         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
112477         * modules/linkedhash-list (Depends-on): Likewise.
112478         * modules/rbtreehash-list (Depends-on): Likewise.
112480 2006-09-28  Bruno Haible  <bruno@clisp.org>
112482         * lib/strndup.h: Simplify the redefinition of strndup.
112483         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
112484         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
112486 2006-09-28  Bruno Haible  <bruno@clisp.org>
112488         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
112489         * lib/gl_linkedhash_list.c: Likewise.
112490         * lib/gl_rbtreehash_list.c: Likewise.
112492 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
112494         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
112495         getaddrinfo.
112497         * lib/__fpending.h: Don't include <stdio_ext.h> unless
112498         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
112499         it causes <stdio_ext.h> to cause a compile-time error.
112500         Problem reported by Nelson H. F. Beebe.
112501         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
112502         of HAVE_DECL___PENDING.
112504         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
112505         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
112506         declaration.
112508 2006-09-27  Jim Meyering  <jim@meyering.net>
112510         This file could end up with a definition for a function
112511         named __strndup, rather than rpl_strndup on a system with
112512         incomplete weak_alias support.
112513         * lib/strndup.c (strndup): Rename from __strndup.
112514         Remove #defines that used to map __strndup to strndup.
112515         Don't use K&R prototypes.
112516         Remove LIBC-related code, since this file is not sync'd with glibc.
112517         * lib/strndup.h: Revamp, accordingly.
112518         * m4/strndup.m4: Modernize.
112520 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
112522         * modules/savewd (Depends-on): Add 'raise'.
112523         * lib/savewd.c: Include <signal.h>, for 'raise'.
112525 2006-09-26  Jim Meyering  <jim@meyering.net>
112527         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
112528         when we detect Darwin 8.7.0's acl_get_file bug.
112529         Rearrange to perform the new (below) run-test while $LIBS
112530         contains any acl-related library.  Set USE_ACL at the end.
112531         (gl_ACL_GET_FILE): New function.
112533 2006-09-26  Eric Blake  <ebb9@byu.net>
112535         * lib/verror.c: Include <config.h> unconditionally.
112537 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
112539         * modules/clock-time (Maintainer): Add self.
112540         * modules/getlogin_r (Depends-on): Add extensions.
112542 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112544         * modules/clock-time: New module.
112545         * modules/nanosleep (Depends-on): Add clock-time.
112546         * modules/gethrxtime (Depends-on): Likewise.
112547         * modules/gettime (Depends-on): Likewise.
112548         * modules/settime (Depends-on): Likewise.
112550         * modules/fts-lgpl: Depend on openat.
112551         * modules/mkancesdirs: Depend on savewd.
112552         * modules/mkdir-p: Likewise.
112554 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112556         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
112558         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
112559         `gl_have_arbitrary_file_name_length_limit' to
112560         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
112561         actually works between configure runs.
112563 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112564             Bruno Haible  <bruno@clisp.org>
112566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
112568 2006-09-25  Jim Meyering  <jim@meyering.net>
112570         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
112571         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
112573 2006-09-25  Eric Blake  <ebb9@byu.net>
112575         * gnulib-tool (func_import, func_create_testdir): Fix typos in
112576         exec's in 2006-09-18 patch when shuffling fds.
112578 2006-09-25  Bruno Haible  <bruno@clisp.org>
112580         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
112581         Reported by Jim Meyering.
112583 2006-09-24  Jim Meyering  <jim@meyering.net>
112585         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
112586         compare a pointer against a literal "0".  That caused failures with
112587         at least HP-UX's hpcc.
112589 2006-09-22  Simon Josefsson  <jas@extundo.com>
112591         * modules/gc-sha1:
112592         * modules/gc-md4:
112593         * modules/gc-hmac-sha1:
112594         * modules/gc-hmac-md5:
112595         * modules/gc-des:
112596         * modules/gc-arcfour: Distribute more files.
112598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112600         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
112601         (gl_linked_iterator_from_to): Initialize struct completely.
112602         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
112603         (gl_tree_iterator_from_to): Likewise
112604         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
112605         * lib/gl_array_list.c [lint] (gl_array_iterator)
112606         (gl_array_iterator_from_to): Likewise.
112607         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
112608         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
112609         (gl_carray_iterator_from_to): Likewise.
112611         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
112612         * lib/md4.c (md4_process_block): Remove unused variable.
112613         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
112614         parentheses for clarity.
112616 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112618         * modules/bison-i18n (Depends-on): Add gettext.
112620 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112622         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
112623         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
112624         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
112625         also add missing comma that caused broken test.
112626         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
112627         stdlib.h, for `abort'.
112628         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
112629         variables.
112630         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
112631         include unistd.h if present, for `rmdir'.
112632         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
112633         variables.
112634         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
112635         in the process include standard headers for prototypes.
112636         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
112637         gets declared on GNU/Linux.
112638         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
112639         unistd.h, for `rmdir'.
112640         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
112642         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
112643         always true.
112644         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
112646         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
112648 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112650         * gnulib-tool (func_version): Create output all at once.  This
112651         may help avoid triggering unnecessary SIGPIPEs, and at any
112652         rate it doesn't hurt.
112654 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112655             Bruno Haible  <bruno@clisp.org>
112657         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
112658         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
112659         * m4/signed.m4 (bh_C_SIGNED): Likewise.
112661         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
112662         (gl_FUNC_VASPRINTF): Invoke it.
112664 2006-09-22  Bruno Haible  <bruno@clisp.org>
112666         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
112667         getloadavg.c as first argument.
112669 2006-09-22  Bruno Haible  <bruno@clisp.org>
112671         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
112672         at the beginning of the gl_INIT macro.
112673         * modules/getloadavg (configure.ac): Pass $gl_source_base to
112674         gl_GETLOADAVG.
112676 2006-09-22  Bruno Haible  <bruno@clisp.org>
112678         * gnulib-tool (func_create_megatestdir): Don't include the config-h
112679         module.
112680         Suggested by Ralf Wildenhues.
112682 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
112684         Import this patch from libc:
112686         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
112688         * lib/regex_internal.c (re_string_reconstruct): Handle
112689         offset < pstr->valid_raw_len && pstr->offsets_needed case.
112690         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
112691         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
112692         re_string_context_at.
112694         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
112695         now requires it.
112696         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
112697         gl_REGEX now does it for us.
112698         (gl_REGEX): Add test taken from
112699         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
112701         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
112702         Check that large offsets work.  Modernize Autoconf usages.
112703         Prefer "yes" to mean a good thing rather than a bad.
112704         Don't put "#define mkstemp" in config.h, as this might interfere
112705         with standard system headers that "#define mkstemp mkstemp64".
112707         * modules/mkstemp (Depends-on): Add extensions, so that
112708         mkstemp is visible on some platforms.
112709         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
112710         (Include): Change to "mkstemp.h" from <stdlib.h>.
112711         (Files): Add mkstemp.h.
112713         * lib/mkstemp.h: New file, since some standard headers
112714         #define mkstemp.
112715         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
112716         Include "mkstemp.h".
112717         Make the _LIBC code resemble glibc original more,
112718         e.g., use K&R style.
112719         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
112720         (mkstemp): Remove, since mkstemp.h does this for us.
112721         * lib/stdlib--.h: Include mkstemp.h.
112723         Import this patch from libc:
112725         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112727         * lib/tempname.c (__gen_tempname): Change attempts_min
112728         into a macro.  Use preprocessor to decide how to initialize
112729         attempts [Coverity CID 67].
112731 2006-09-20  Bruno Haible  <bruno@clisp.org>
112733         * lib/mkdtemp.c: Import from libc.
112734         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112735                 * sysdeps/posix/tempname.c (__gen_tempname): Change
112736                 attempts_min into a macro.  Use preprocessor to decide how to
112737                 initialize attempts [Coverity CID 67].
112738         2001-11-27  Paul Eggert  <eggert@twinsun.com>
112739                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
112740                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
112742 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112744         * gnulib-tool (func_exit): New function, to allow to pass the
112745         exit status portably through the trap.  Use everywhere.
112746         (--help, --version): Signal a write error.
112747         (trap): catch SIGPIPE, for write errors.
112748         Exit at the end of the trap, with the correct exit status.
112750 2006-09-19  Karl Berry  <karl@gnu.org>
112752         * doc/gnulib.texi: note about the license texinfo files.
112754 2006-09-19  Eric Blake  <ebb9@byu.net>
112756         * gnulib-tool: Avoid space-tab.
112758 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112760         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
112761         that prevented coreutils 6.1 from building.  Problem reported
112762         by Petter Reinholdtsen.
112764 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112766         * gnulib-tool (avoidlist): Fix typo that broke options like
112767         --avoid=lock that are used by coreutils bootstrap.
112769 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
112771         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
112772         more systematically.
112774 2006-09-18  Jim Meyering  <jim@meyering.net>
112776         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
112778 2006-09-18  Bruno Haible  <bruno@clisp.org>
112780         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
112782 2006-09-18  Bruno Haible  <bruno@clisp.org>
112784         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
112785         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
112786         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
112787         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
112788         * m4/gettext.m4: Require autoconf >= 2.52.
112789         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
112790         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
112791         of gl_cv_header_inttypes_h.
112793 2006-09-18  Bruno Haible  <bruno@clisp.org>
112795         * lib/javaversion.c: Include configmake.h.
112797 2006-09-18  Bruno Haible  <bruno@clisp.org>
112799         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
112800         avoid that the while loops be executed in a subshell.
112802 2006-09-18  Bruno Haible  <bruno@clisp.org>
112804         * MODULES.html.sh (func_module): Break long lines.
112805         Suggested by Bruce Korb <bkorb@gnu.org>.
112807 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112809         Speed up by a factor of 1.12.
112810         * gnulib-tool (nl): New variable.
112811         (func_import): Rewrite include directive extraction to only read each
112812         directive once.
112814 2006-09-17  Bruno Haible  <bruno@clisp.org>
112816         * modules/javaversion (Makefile.am): Remove DEFS setting.
112817         (Depends-on): Add configmake, for PKGDATADIR definition.
112819 2006-09-17  Bruno Haible  <bruno@clisp.org>
112821         * gnulib-tool (func_create_testdir): Rewrite all files at once.
112823 2006-09-17  Bruno Haible  <bruno@clisp.org>
112825         * gnulib-tool (func_append): New function, stolen from libtool.m4.
112826         (func_modules_transitive_closure, func_modules_add_dummy,
112827         func_modules_to_filelist, func_import, func_create_testdir,
112828         func_create_megatestdir, ...): Use it wherever possible.
112829         Suggested by Ralf Wildenhues.
112831 2006-09-16  Karl Berry  <karl@gnu.org>
112833         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
112834         to avoid sectioning errors.
112835         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
112836         [ifinfo]: blank line after @center-ed titles.
112837         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
112838         Spell FSF address consistently with others.
112839         (These changes approved by rms.)
112841 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112843         Speed up by a factor of 1.61.
112844         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
112845         already checked module names again.
112847 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112849         Speed up by a factor of 1.13.
112850         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
112851         for new_files, and the input to func_add_or_update.
112853 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112855         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
112856         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
112858 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112860         * modules/mkancesdirs (Depends-on): Add fcntl.
112861         * modules/savewd: New file.
112862         * MODULES.html.sh (File system functions): Add savewd.
112864         * modules/configmake (Makefile.am): Add support for the
112865         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
112867 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112869         * m4/savewd.m4: New file.
112871 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112873         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
112874         (dirchownmod): New arg FD.  All callers changed.
112875         Use FD rather than opening the directory ourself, as opening is
112876         now the caller's responsibility.
112877         * lib/dirchownmod.h: Likewise.
112878         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
112879         hosts that require <sys/types.h> before <sys/stat.h>.  Include
112880         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
112881         (test_dir): Remove.
112882         (mkancesdirs): Return length of prefix of FILE that has already
112883         been made, or -2 if there is a child doing the work.  Redo
112884         algorithm so that it is O(N) rather than O(N**2).  Optimize away
112885         ".", and treat ".." specially since it might stray back into
112886         already-created areas.  Use a subprocess if necessary.  New arg
112887         WD; all users changed.  MAKE_DIR function should now return 1
112888         if it creates a directory that is not readable.  Return -2 if
112889         a child process is spun off.
112890         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
112891         Adjust signature to match code.
112892         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
112893         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
112894         all users changed.
112895         * lib/savewd.c, lib/savewd.h: New files.
112897 2006-09-15  Jim Meyering  <jim@meyering.net>
112899         * modules/rename-dest-slash: New module.
112900         * MODULES.html.sh (posix_compat): Add it here.
112902         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
112904 2006-09-15  Jim Meyering  <jim@meyering.net>
112906         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
112907         file.
112909         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
112911 2006-09-15  Jim Meyering  <jim@meyering.net>
112913         * lib/rename-dest-slash.c (has_trailing_slash): Use
112914         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
112915         (rpl_rename_dest_slash): Perform the cheaper trailing slash
112916         test before testing whether SRC is a directory.
112917         Suggestions from Bruno Haible.
112919         Avoid a warning about an unused variable.
112920         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
112921         into the #ifdef block where it's used.
112923         * lib/rename-dest-slash.c: New file.
112925 2006-09-14  Bruno Haible  <bruno@clisp.org>
112927         * lib/allocsa.c: Include <config.h> unconditionally.
112928         * lib/asnprintf.c: Likewise.
112929         * lib/asprintf.c: Likewise.
112930         * lib/c-strcasecmp.c: Likewise.
112931         * lib/c-strcasestr.c: Likewise.
112932         * lib/c-strncasecmp.c: Likewise.
112933         * lib/c-strstr.c: Likewise.
112934         * lib/classpath.c: Likewise.
112935         * lib/clean-temp.c: Likewise.
112936         * lib/concatpath.c: Likewise.
112937         * lib/copy-file.c: Likewise.
112938         * lib/csharpcomp.c: Likewise.
112939         * lib/csharpexec.c: Likewise.
112940         * lib/execute.c: Likewise.
112941         * lib/fatal-signal.c: Likewise.
112942         * lib/findprog.c: Likewise.
112943         * lib/fwriteerror.c: Likewise.
112944         * lib/gl_array_list.c: Likewise.
112945         * lib/gl_array_oset.c: Likewise.
112946         * lib/gl_avltree_list.c: Likewise.
112947         * lib/gl_avltree_oset.c: Likewise.
112948         * lib/gl_avltreehash_list.c: Likewise.
112949         * lib/gl_carray_list.c: Likewise.
112950         * lib/gl_linked_list.c: Likewise.
112951         * lib/gl_linkedhash_list.c: Likewise.
112952         * lib/gl_list.c: Likewise.
112953         * lib/gl_oset.c: Likewise.
112954         * lib/gl_rbtree_list.c: Likewise.
112955         * lib/gl_rbtree_oset.c: Likewise.
112956         * lib/gl_rbtreehash_list.c: Likewise.
112957         * lib/imaxabs.c: Likewise.
112958         * lib/imaxdiv.c: Likewise.
112959         * lib/javacomp.c: Likewise.
112960         * lib/javaexec.c: Likewise.
112961         * lib/javaversion.c: Likewise.
112962         * lib/linebreak.c: Likewise.
112963         * lib/localcharset.c: Likewise.
112964         * lib/lock.c: Likewise.
112965         * lib/mbchar.c: Likewise.
112966         * lib/mbswidth.c: Likewise.
112967         * lib/mkdtemp.c: Likewise.
112968         * lib/pipe.c: Likewise.
112969         * lib/printf-args.c: Likewise.
112970         * lib/printf-parse.c: Likewise.
112971         * lib/progname.c: Likewise.
112972         * lib/progreloc.c: Likewise.
112973         * lib/readlink.c: Likewise.
112974         * lib/sh-quote.c: Likewise.
112975         * lib/stpcpy.c: Likewise.
112976         * lib/stpncpy.c: Likewise.
112977         * lib/strcasecmp.c: Likewise.
112978         * lib/strcasestr.c: Likewise.
112979         * lib/strcspn.c: Likewise.
112980         * lib/striconv.c: Likewise.
112981         * lib/strncasecmp.c: Likewise.
112982         * lib/strnlen1.c: Likewise.
112983         * lib/strstr.c: Likewise.
112984         * lib/strtok_r.c: Likewise.
112985         * lib/tls.c: Likewise.
112986         * lib/tmpdir.c: Likewise.
112987         * lib/unicodeio.c: Likewise.
112988         * lib/unsetenv.c: Likewise.
112989         * lib/vasnprintf.c: Likewise.
112990         * lib/vasprintf.c: Likewise.
112991         * lib/wait-process.c: Likewise.
112992         * lib/xallocsa.c: Likewise.
112993         * lib/xsetenv.c: Likewise.
112994         * lib/xstriconv.c: Likewise.
112996 2006-09-13  Simon Josefsson  <jas@extundo.com>
112998         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
112999         that internally, suggested by Ralf Wildenhues
113000         <Ralf.Wildenhues@gmx.de>.
113002 2006-09-13  Simon Josefsson  <jas@extundo.com>
113004         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
113005         @LIBOBJS@.
113006         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
113008 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
113010         * lib/_fpending.c: Include <config.h> unconditionally, since we no
113011         longer worry about uses that don't define HAVE_CONFIG_H.
113012         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
113013         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
113014         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
113015         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
113016         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
113017         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
113018         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
113019         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
113020         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
113021         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
113022         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
113023         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
113024         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
113025         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
113026         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
113027         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
113028         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
113029         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
113030         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
113031         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
113032         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
113033         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
113034         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
113035         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
113036         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
113037         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
113038         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
113039         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
113040         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
113041         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
113042         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
113043         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
113044         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
113045         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
113046         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
113047         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
113048         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
113049         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
113050         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
113051         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
113052         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
113053         Likewise.
113055 2006-09-13  Eric Blake  <ebb9@byu.net>
113057         * lib/getopt.c: Fix typo in last commit.
113059 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
113061         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
113062         dgettext.
113064 2006-09-12  Jim Meyering  <jim@meyering.net>
113066         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
113067         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
113068         Reported by Nelson H. F. Beebe.
113070 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
113072         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
113073         program_invocation_name and program_invocation_short_name are
113074         initialized.
113075         * lib/argp-namefrob.h: Move declarations of program_invocation_name
113076         and program_invocation_short_name to argp.h, so they are visible
113077         to user programs.
113078         * lib/argp.h: Likewise
113080 2006-09-10  Bruno Haible  <bruno@clisp.org>
113082         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113083         m4/inttypes_h.m4, m4/uintmax_t.m4.
113085 2006-09-10  Bruno Haible  <bruno@clisp.org>
113087         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
113088         gl_AC_TYPE_UINTMAX_T.
113090 2006-09-10  Bruno Haible  <bruno@clisp.org>
113092         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
113094 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
113096         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
113097         convention.  Text proposed by Bruno Haible.
113098         (struct argp_option): Document the use of N_() wrappers.
113100         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
113101         '\v', and translate the two parts separately, instead of feeding
113102         the whole string to gettext.  This allows to exclude
113103         '\v' from the strings visible to the translator by writing doc
113104         strings as N_("..") "\v" N_("..").
113106 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
113108         * config/srclist.txt: Undo latest change; the bug was fixed.
113110 2006-09-09  Bruno Haible  <bruno@clisp.org>
113112         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
113113         assignments if building a library without libtool.
113114         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
113115         in func_emit_lib_Makefile_am.
113116         (func_import): When building a static library libfoo.a, arrange to
113117         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
113118         (func_create_testdir): Likewise.
113119         * modules/gc (configure.ac, Makefile.am): If building statically,
113120         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
113121         * modules/iconvme (configure.ac, Makefile.am): Likewise.
113122         * modules/striconv (configure.ac, Makefile.am): Likewise.
113123         Based on a suggestion by Ralf Wildenhues.
113125 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113127         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
113128         Check for unistd.h too, since Autoconf doesn't assume POSIX.
113129         Also:
113131         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113132         Add year_2050_test to catch glibc bug 2821
113133         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113135         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113136         Prefer #ifdef to #if.
113138         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
113139         Return from 'main' instead of calling 'exit'.
113141 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113143         * lib/mktime.c (guess_time_tm): Fix bug where mktime
113144         returned the maximum time_t value rather than (time_t) -1.
113145         Problem originally reported by William Bardwell
113146         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113148         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113149         Moved to here ...
113150         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113151         ... from here.
113153 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113155         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
113156         2821 is fixed.
113158 2006-09-08  Jim Meyering  <jim@meyering.net>
113160         Don't make generated files read-only.  That would bother too many
113161         people.  However, do retain the ability to work when targets are
113162         read-only: remove the destination and temporary files before writing
113163         them (when generated via sed or echo), or by using the -f option for
113164         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
113165         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113166         * modules/byteswap, modules/configmake, modules/fcntl:
113167         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113168         * modules/localcharset, modules/netinet_in, modules/poll:
113169         * modules/stdbool, modules/stdint, modules/sys_select:
113170         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113172 2006-09-08  Jim Meyering  <jim@meyering.net>
113174         Avoid new build failure on FreeBSD 6.0.
113175         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
113176         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
113177         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
113179 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113181         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
113183 2006-09-07  Jim Meyering  <jim@meyering.net>
113185         Fix global typo in last change: use chmod u-w, not chmod u-x.
113186         Spotted by Paul Eggert and Bruce Korb.
113187         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113188         * modules/byteswap, modules/configmake, modules/fcntl:
113189         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113190         * modules/localcharset, modules/netinet_in, modules/poll:
113191         * modules/stdbool, modules/stdint, modules/sys_select:
113192         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113194 2006-09-06  Jim Meyering  <jim@meyering.net>
113196         Make generated files be read-only.
113197         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
113198         Ensure that each generated file is now read-only.
113199         * modules/argz: Likewise.
113200         * modules/arpa_inet: Likewise.
113201         * modules/byteswap: Likewise.
113202         * modules/configmake: Likewise.
113203         * modules/fcntl: Likewise.
113204         * modules/fnmatch: Likewise.
113205         * modules/getopt: Likewise.
113206         * modules/glob: Likewise.
113207         * modules/inttypes: Likewise.
113208         * modules/netinet_in: Likewise.
113209         * modules/poll: Likewise.
113210         * modules/stdbool: Likewise.
113211         * modules/stdint: Likewise.
113212         * modules/sys_select: Likewise.
113213         * modules/sys_socket: Likewise.
113214         * modules/sys_stat: Likewise.
113215         * modules/sysexits: Likewise.
113216         * modules/localcharset: Same as above, but continue using temporary
113217         file named "t-$@" (why different?) rather than the "$@-t" used
113218         everywhere else.
113220         * modules/sysexits (Makefile.am): Replace literal occurrences
113221         of "sysexit.h" more readable, and more consistent, "$@".
113223 2006-09-06  Bruno Haible  <bruno@clisp.org>
113225         * modules/striconv: New file.
113226         * modules/xstriconv: New file.
113227         * MODULES.html.sh (Internationalization functions): Add striconv,
113228         xstriconv.
113230 2006-09-06  Bruno Haible  <bruno@clisp.org>
113232         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
113233         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
113234         not using libtool correctly.
113236 2006-09-06  Bruno Haible  <bruno@clisp.org>
113238         * lib/striconv.h: New file.
113239         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
113240         iconvstring.c.
113241         * lib/xstriconv.h: New file.
113242         * lib/xstriconv.c: New file.
113244 2006-09-06  Bruno Haible  <bruno@clisp.org>
113246         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
113247         lib_..._LDFLAGS.
113249 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113251         * lib/argz_.h: Sync from Libtool.
113253         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
113254                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
113256         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
113258 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113260         * modules/trim: New file.
113262 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113264         * lib/trim.h: New file.
113265         * lib/trim.c: New file.
113267 2006-09-05  Bruno Haible  <bruno@clisp.org>
113269         * MODULES.html.sh (String handling): Add trim.
113271 2006-09-04  Karl Berry  <karl@gnu.org>
113273         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
113274         until next release.
113276 2006-09-03  Bruno Haible  <bruno@clisp.org>
113278         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
113279         correctly.
113281 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113283         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
113284         not gl_GETLOADAVG.  Omit unneeded semicolons.
113285         Problems reported by Ralf Wildenhues in
113286         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113287         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
113288         at the end, which is the usual gnulib style.
113290         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
113291         of doing all the work ourselves.
113292         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
113293         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
113295 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113297         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
113298         Problem reported by Ralf Wildenhues in
113299         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113301         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
113302         HAVE_STRUCT_STATFS_F_FSTYPENAME.
113304 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113306         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
113307         yesterday's patch by changing test -n to test -z.
113309 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113311         * modules/getloadavg (Files): Add m4/getloadavg.m4.
113312         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
113313         the former is now obsolescent.
113315         * modules/chdir-long (Depends-on): Add fcntl.
113317 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113319         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
113320         obsolescent, and programs should use gnulib instead.
113321         * m4/getloadavg.m4: New file, with contents taken from Autoconf
113322         but with prefixes changed.
113324 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113326         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
113327         or stdbool.h, because they might not exist while configuring.
113329         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
113330         Don't include unistd.h or limits.h; not needed, since chdir-long.h
113331         does that for us.
113332         (O_DIRECTORY): Remove.
113334 2006-08-31  Eric Blake  <ebb9@byu.net>
113336         * gnulib-tool: Don't let emacs change spaces to TAB.
113338 2006-08-31  Bruno Haible  <bruno@clisp.org>
113340         * gnulib-tool: When calling func_import more than once, do it in a
113341         subshell.
113342         Reported by Eric Blake <ebb9@byu.net>.
113344 2006-08-31  Bruno Haible  <bruno@clisp.org>
113346         * gnulib-tool (nl): Remove variable.
113347         (sed_transform_lib_file): Use more robust test for config-h module.
113348         (func_import): Fix typo in 2006-08-25 patch.
113350 2006-08-31  Bruno Haible  <bruno@clisp.org>
113352         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
113353         specified, augment Makefile.am variables instead of assigning them.
113355 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113357         Work around a bug in both the Linux and SunOS 64-bit kernels:
113358         nanosleep mishandles sleeps for longer than 2**31 seconds.
113359         Problem reported by Frank v Waveren in
113360         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
113362         Check for nanosleep bug.
113363         (LIB_NANOSLEEP): Append clock_gettime library if needed.
113365 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113367         Work around a bug in both the Linux and SunOS 64-bit kernels:
113368         nanosleep mishandles sleeps for longer than 2**31 seconds.
113369         Problem reported by Frank v Waveren in
113370         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113371         * lib/nanosleep.c (BILLION): New constant.
113372         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
113373         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
113374         implementation.
113376 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113378         * modules/nanosleep (Depends-on): Add gettime.
113380 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113381         and Simon Josefsson  <jas@extundo.com>
113382         and Oskar Liljeblad  <oskar@osk.mine.nu>
113384         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
113385         * gnulib-tool (func_import): New license type 'unmodifiable license
113386         text'.
113387         * modules/fdl: Use it.  Longer description.
113388         * module/gpl, module/lgpl: New files.
113390 2006-08-30  Jim Meyering  <jim@meyering.net>
113392         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
113393         shadowing the parameter.
113395 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113397         Sync from Libtool:
113399         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113401         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
113402         sharing with gnulib.  Report by Eric Blake.
113404 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113406         * modules/isapipe: New file.
113407         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
113409 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113411         * modules/configmake (Makefile.am): Add a comment, and omit
113412         the CONFIGMAKE_ prefix from generated macro names.  Suggested
113413         by Bruno Haible.
113415 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113417         * m4/isapipe.m4: New file.
113419 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113421         * lib/isapipe.c, lib/isapipe.h: New files.
113423 2006-08-29  Jim Meyering  <jim@meyering.net>
113425         * modules/configmake (Makefile.am): Make configmake.h depend on
113426         Makefile.  Otherwise, a stale configmake.h could hang around.
113428 2006-08-29  Eric Blake  <ebb9@byu.net>
113430         * lib/error.c (error_at_line, print_errno_message): Match libc, after
113431         resolution of upstream bug 3044.
113433 2006-08-29  Bruno Haible  <bruno@clisp.org>
113435         * modules/localcharset (Depends-on): Add configmake.
113436         (Makefile.am): Remove setting of LIBDIR through DEFS.
113438 2006-08-29  Bruno Haible  <bruno@clisp.org>
113440         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
113441         defined.
113443 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113445         * modules/fcntl: New file.
113446         * modules/chdir-safer (Depends-on): Add fcntl.
113447         * modules/fts: Likewise.
113448         * modules/mkdir-p: Likewise.
113450         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
113451         This undoes the most recent change, since we're now addressing the
113452         problem in a different way.
113454         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
113455         into output, since the output might be called Makefile.am even
113456         if $makefile_name is something different.
113457         (func_import): Use $makefile_am rather than
113458         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
113459         empty.
113461         * modules/inttypes (Files): Add m4/inttypes-h.m4.
113463 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113465         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
113466         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
113467         recent change to stdint.m4, since we're now addressing the problem in a
113468         different way.
113470 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113472         * m4/fcntl_h.m4: New file.
113474 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113476         * lib/fcntl_.h: New file.
113477         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
113478         the fcntl module.
113479         * lib/dirchownmod.c: Likewise.
113480         * lib/fts.c: Likewise.
113482         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
113483         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
113484         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
113485         just before including <inttypes.h>, to avoid circular inclusion.
113487 2006-08-28  Jim Meyering  <jim@meyering.net>
113489         * doc/visibility.texi: Actually read and correct the grammar of the
113490         sentence affected by yesterday's change.
113492 2006-08-28  Eric Blake  <ebb9@byu.net>
113494         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
113495         needs wrapper.
113497 2006-08-28  Eric Blake  <ebb9@byu.net>
113499         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
113501 2006-08-28  Eric Blake  <ebb9@byu.net>
113503         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
113505 2006-08-28  Bruno Haible  <bruno@clisp.org>
113507         * modules/c-strstr: New file, from GNU gettext.
113508         * MODULES.html.sh (String handling): Add c-strstr.
113510 2006-08-28  Bruno Haible  <bruno@clisp.org>
113512         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
113513         macros.
113514         Reported by Eric Blake.
113516 2006-08-28  Bruno Haible  <bruno@clisp.org>
113518         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
113519         (VASNPRINTF): Return a string of length > INT_MAX without failing.
113520         * lib/vasprintf.c: Include errno.h, limits.h.
113521         (EOVERFLOW): New fallback definition.
113522         (vasprintf): Test here whether the string length is > INT_MAX.
113523         * lib/vsnprintf.c: Include errno.h, limits.h.
113524         (EOVERFLOW): New fallback definition.
113525         (vsnprintf): Fix bug when generated string was too long for the buffer.
113526         Test here whether the string length is > INT_MAX.
113528 2006-08-28  Bruno Haible  <bruno@clisp.org>
113530         * lib/inttypes_.h (SCNX*): Remove definitions.
113531         Reported by Eric Blake.
113533 2006-08-28  Bruno Haible  <bruno@clisp.org>
113535         * lib/c-strstr.h: New file, from GNU gettext.
113536         * lib/c-strstr.c: New file, from GNU gettext.
113538 2006-08-28  Bruno Haible  <bruno@clisp.org>
113540         * gnulib-tool: Reorder some statements.
113542 2006-08-28  Bruno Haible  <bruno@clisp.org>
113544         * gnulib-tool: New option --makefile-name.
113545         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
113546         $makefile_name.
113547         (func_import): Write $makefile_name to the cache file, and read it from
113548         there unless explicitly specified. Use $makefile_name as file name
113549         instead of Makefile.am. Adjust the recommendations accordingly.
113551 2006-08-28  Bruno Haible  <bruno@clisp.org>
113553         * gnulib-tool (func_verify_module): Check against misapplying patch.
113555 2006-08-28  Bruno Haible  <bruno@clisp.org>
113557         * gnulib-tool (func_relativize, func_relconcat): New functions.
113558         Give an error if --local-dir is given with --update.
113559         Remove trailing slashes from $local_gnulib_dir.
113560         (func_import): Store the relativized $local_gnulib_dir in
113561         gnulib-cache.m4, and read it from there if not specified explicitly.
113563 2006-08-28  Bruno Haible  <bruno@clisp.org>
113565         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
113566         is the current directory. Respect also $local_gnulib_dir.
113568 2006-08-28  Bruno Haible  <bruno@clisp.org>
113569             Simon Josefsson  <jas@extundo.com>
113571         BeOS portability.
113572         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
113574 2006-08-27  Jim Meyering  <jim@meyering.net>
113576         * doc/visibility.texi: Remove duplicate word: "pointer".
113578 2006-08-26  Bruno Haible  <bruno@clisp.org>
113580         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
113581         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
113582         (Makefile.am): Create inttypes.h from inttypes_.h.
113583         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
113585         * modules/imaxabs: New file.
113587         * modules/imaxdiv: New file.
113589 2006-08-26  Bruno Haible  <bruno@clisp.org>
113591         * m4/inttypes.m4: New file.
113592         * m4/_inttypes_h.m4: Remove file.
113593         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
113594         PRI_MACROS_BROKEN.
113595         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
113597         * m4/imaxabs.m4: New file.
113599         * m4/imaxdiv.m4: New file.
113601 2006-08-26  Bruno Haible  <bruno@clisp.org>
113603         * lib/inttypes_.h: New file.
113604         * lib/inttypes.h: Remove file.
113605         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
113607         * lib/imaxabs.c: New file.
113609         * lib/imaxdiv.c: New file.
113611 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113613         New config-h module, so that "make" output needn't be cluttered
113614         by -DHAVE_CONFIG_H.
113615         * MODULES.html.sh (Support for building libraries and executables):
113616         Add config-h.
113617         * modules/config-h: New file.
113618         * gnulib-tool (nl, sed_transform_lib_file): New vars.
113619         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
113620         the config-h module is used.
113622         New configmake module, so that "make" output needn't be cluttered
113623         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
113624         * MODULES.html.sh (Support for building libraries and executables):
113625         Add configmake.
113626         * modules/configmake: New file.
113628 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113630         * m4/config-h.m4: New file.
113632 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113634         * config/srclist.txt: Add elisp-comp.
113636 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113638         * MODULES.html.sh (Support for building libraries and executables):
113639         Add elisp-comp.
113640         * build-aux/elisp-comp: New file.
113641         * modules/elisp-comp: New file.
113643 2006-08-24  Bruno Haible  <bruno@clisp.org>
113645         * gnulib-tool (func_create_testdir): Use non-default values of
113646         sourcebase and m4base.
113648 2006-08-24  Bruno Haible  <bruno@clisp.org>
113650         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
113651         HTML structure.
113653 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
113655         * modules/openat (Depends-on): Add lchown.
113657 2006-08-23  Bruno Haible  <bruno@clisp.org>
113659         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
113660         of gl_LOCK_EARLY instead of gl_LOCK.
113662 2006-08-23  Bruno Haible  <bruno@clisp.org>
113664         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
113665         on OSF/1 to no.
113666         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
113668 2006-08-23  Bruno Haible  <bruno@clisp.org>
113670         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
113671         as unusable.
113673         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
113674         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
113675         (gl_LOCK): New macro.
113677 2006-08-22  Simon Josefsson  <jas@extundo.com>
113679         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
113680         to md5 module.
113682 2006-08-22  Simon Josefsson  <jas@extundo.com>
113684         * MODULES.html.sh: Add "Support for maintaining and release
113685         projects".
113687         * build-aux/gnupload: New file, from coreutils.
113689 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113691         Avoid the need for AC_LIBSOURCES in m4 macros.
113692         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
113693         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
113694         * modules/check-version (EXTRA_DIST): Add check-version.h.
113695         * modules/crc (EXTRA_DIST): Add crc.h.
113696         * modules/des (EXTRA_DIST): Add des.h.
113697         * modules/gc (EXTRA_DIST): Add gc.h.
113698         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
113699         * modules/getline (EXTRA_DIST): Add getline.h.
113700         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
113701         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
113702         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
113703         * modules/md2 (EXTRA_DIST): Add md2.h.
113704         * modules/md4 (EXTRA_DIST): Add md4.h.
113705         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
113706         * modules/read-file (EXTRA_DIST): Add read-file.h.
113707         * modules/readline (EXTRA_DIST): Add readline.h.
113708         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
113709         rijndael-api-fst.h.
113711 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113713         * m4/rijndael.m4 (gl_ARCFOUR):
113714         * m4/arctwo.m4 (gl_ARCTWO):
113715         * m4/check-version.m4 (gl_CHECK_VERSION):
113716         * m4/crc.m4 (gl_CRC):
113717         * m4/des.m4 (gl_DES):
113718         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
113719         * m4/gc.m4 (gl_GC):
113720         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
113721         * m4/getline.m4 (gl_FUNC_GETLINE):
113722         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
113723         * m4/hmac-md5.m4 (gl_HMAC_MD5):
113724         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
113725         * m4/md2.m4 (gl_MD2):
113726         * m4/md4.m4 (gl_MD4):
113727         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
113728         * m4/read-file.m4 (gl_FUNC_READ_FILE):
113729         * m4/readline.m4 (gl_FUNC_READLINE):
113730         * m4/rijndael.m4 (gl_RIJNDAEL):
113731         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113732         to get the necessary .h files and whatnot.
113734 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113736         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
113737         gnulib rather than the other way around.
113738         * config/srclistvars.sh (COREUTILS): Remove.
113740 2006-08-22  Jim Meyering  <jim@meyering.net>
113742         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
113744         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
113746 2006-08-22  Eric Blake  <ebb9@byu.net>
113748         * modules/regexprops-generic: New file.
113749         * MODULES.html.sh (Support for building documentation): List it.
113751 2006-08-22  Eric Blake  <ebb9@byu.net>
113753         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
113754         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
113755         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
113756         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
113758 2006-08-22  Bruno Haible  <bruno@clisp.org>
113760         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
113761         and lib_LTLIBRARIES like the other lib_* variables.
113763 2006-08-22  Bruno Haible  <bruno@clisp.org>
113765         * build-aux/x-to-1.in: New file, from GNU gettext.
113767 2006-08-22  Bruno Haible  <bruno@clisp.org>
113769         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
113770         <utmpx.h> exists.
113772 2006-08-22  Bruno Haible  <bruno@clisp.org>
113774         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
113775         <utmpx.h> exists.
113777 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113779         BeOS portability.
113780         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
113781         exist.
113782         Problem reported by Bruno Haible.
113784 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113786         Avoid the need for AC_LIBSOURCES in m4 macros.
113787         * modules/acl (EXTRA_DIST): Add acl.h.
113788         * modules/argmatch (Files): Add m4/argmatch.m4.
113789         (configure.ac): Add gl_ARGMATCH.
113790         (EXTRA_DIST): Renamed from lib_SOURCES, for
113791         consistency with the other modules.  Remove argmatch.c.
113792         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
113793         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
113794         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
113795         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
113796         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
113797         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
113798         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
113799         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
113800         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
113801         * modules/closeout (EXTRA_DIST): Add closeout.h.
113802         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
113803         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
113804         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
113805         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
113806         dirname.h; remove basename.c and stripslash.c.
113807         * modules/exclude (EXTRA_DIST): Add exclude.h.
113808         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
113809         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
113810         * modules/file-type (EXTRA_DIST): Add file-type.h.
113811         * modules/filemode (EXTRA_DIST): Add filemode.h.
113812         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
113813         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113814         * modules/fpending (EXTRA_DIST): Add __fpending.h.
113815         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
113816         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
113817         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
113818         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
113819         * modules/getdate (EXTRA_DIST): Add getdate.c.
113820         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
113821         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
113822         * modules/getpass (EXTRA_DIST): Add getpass.h.
113823         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
113824         * modules/group-member (EXTRA_DIST): Add group-member.h.
113825         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
113826         * modules/hash (EXTRA_DIST): Add hash.h.
113827         * modules/human (EXTRA_DIST): Add human.h.
113828         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
113829         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
113830         * modules/lchown (EXTRA_DIST): Add lchown.h.
113831         * modules/long-options (EXTRA_DIST): Add long-options.h.
113832         * modules/lstat (EXTRA_DIST): Add lstat.h.
113833         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
113834         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
113835         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
113836         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
113837         * modules/memxor (EXTRA_DIST): Add memxor.h.
113838         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
113839         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
113840         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
113841         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
113842         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
113843         * modules/physmem (EXTRA_DIST): Add physmem.h.
113844         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
113845         * modules/posixver (EXTRA_DIST): Add posixver.h.
113846         * modules/quote (EXTRA_DIST): Add quote.h.
113847         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
113848         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
113849         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
113850         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
113851         regex_internal.h regexec.c.
113852         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
113853         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
113854         * modules/same (EXTRA_DIST): Add same.h.
113855         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
113856         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
113857         * modules/savedir (EXTRA_DIST): Add savedir.h.
113858         * modules/sha1 (EXTRA_DIST): Add sha1.h.
113859         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
113860         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
113861         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
113862         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
113863         * modules/strdup (EXTRA_DIST): Add strdup.h.
113864         * modules/strftime (EXTRA_DIST): Add strftime.h.
113865         * modules/strndup (EXTRA_DIST): Add strndup.h.
113866         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
113867         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
113868         * modules/time_r (EXTRA_DIST): Add time_r.h.
113869         * modules/timespec (EXTRA_DIST): Add timespec.h.
113870         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113871         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
113872         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
113873         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
113874         * modules/userspec (EXTRA_DIST): Add userspec.h.
113875         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
113876         * modules/utimens (EXTRA_DIST): Add utimens.h.
113877         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
113878         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
113879         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
113880         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
113881         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
113882         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
113883         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
113884         * modules/yesno (EXTRA_DIST): Add yesno.h.
113886 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113888         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
113890         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
113891         * m4/dev-ino.m4, same-inode.m4: Remove.
113893         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
113894         * m4/acl.m4 (AC_FUNC_ACL):
113895         * m4/backupfile.m4 (gl_BACKUPFILE):
113896         * m4/c-strtod.m4 (gl_C99_STRTOLD):
113897         * m4/canon-host.m4 (gl_CANON_HOST):
113898         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
113899         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
113900         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
113901         * m4/cloexec.m4 (gl_CLOEXEC):
113902         * m4/close-stream.m4 (gl_CLOSE_STREAM):
113903         * m4/closeout.m4 (gl_CLOSEOUT):
113904         * m4/dirfd.m4 (gl_FUNC_DIRFD):
113905         * m4/dirname.m4 (gl_DIRNAME):
113906         * m4/exclude.m4 (gl_EXCLUDE):
113907         * m4/exitfail.m4 (gl_EXITFAIL):
113908         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
113909         * m4/file-type.m4 (gl_FILE_TYPE):
113910         * m4/filemode.m4 (gl_FILEMODE):
113911         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
113912         * m4/fpending.m4 (gl_FUNC_FPENDING):
113913         * m4/fprintftime.m4 (gl_FPRINTFTIME):
113914         * m4/fts.m4 (gl_FUNC_FTS):
113915         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
113916         * m4/getdate.m4 (gl_GETDATE):
113917         * m4/gethrxtime.m4 (gl_GETHRXTIME):
113918         * m4/getpagesize.m4 (gl_GETPAGESIZE):
113919         * m4/getpass.m4 (gl_FUNC_GETPASS):
113920         * m4/gettime.m4 (gl_GETTIME):
113921         * m4/getugroups.m4 (gl_GETUGROUPS):
113922         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
113923         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
113924         * m4/hard-locale.m4 (gl_HARD_LOCALE):
113925         * m4/hash.m4 (gl_HASH):
113926         * m4/idcache.m4 (gl_IDCACHE):
113927         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
113928         * m4/lchown.m4 (gl_FUNC_LCHOWN):
113929         * m4/long-options.m4 (gl_LONG_OPTIONS):
113930         * m4/lstat.m4 (gl_FUNC_LSTAT):
113931         * m4/md5.m4 (gl_MD5):
113932         * m4/memcasecmp.m4 (gl_MEMCASECMP):
113933         * m4/memcoll.m4 (gl_MEMCOLL):
113934         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
113935         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
113936         * m4/memxor.m4 (gl_MEMXOR):
113937         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
113938         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
113939         * m4/modechange.m4 (gl_MODECHANGE):
113940         * m4/mountlist.m4 (gl_MOUNTLIST):
113941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
113942         * m4/openat.m4 (gl_FUNC_OPENAT):
113943         * m4/pathmax.m4 (gl_PATHMAX):
113944         * m4/physmem.m4 (gl_PHYSMEM):
113945         * m4/posixtm.m4 (gl_POSIXTM):
113946         * m4/posixver.m4 (gl_POSIXVER):
113947         * m4/quote.m4 (gl_QUOTE):
113948         * m4/quotearg.m4 (gl_QUOTEARG):
113949         * m4/readtokens.m4 (gl_READTOKENS):
113950         * m4/readutmp.m4 (gl_READUTMP):
113951         * m4/regex.m4 (gl_REGEX):
113952         * m4/safe-read.m4 (gl_SAFE_READ):
113953         * m4/safe-write.m4 (gl_SAFE_WRITE):
113954         * m4/same.m4 (gl_SAME):
113955         * m4/save-cwd.m4 (gl_SAVE_CWD):
113956         * m4/savedir.m4 (gl_SAVEDIR):
113957         * m4/settime.m4 (gl_SETTIME):
113958         * m4/sha1.m4 (gl_SHA1):
113959         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
113960         * m4/stat-macros.m4 (gl_STAT_MACROS):
113961         * m4/stat-time.m4 (gl_STAT_TIME):
113962         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
113963         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
113964         * m4/strdup.m4 (gl_FUNC_STRDUP):
113965         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
113966         * m4/strndup.m4 (gl_FUNC_STRNDUP):
113967         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
113968         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
113969         * m4/time_r.m4 (gl_TIME_R):
113970         * m4/timespec.m4 (gl_TIMESPEC):
113971         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
113972         * m4/unlinkdir.m4 (gl_UNLINKDIR):
113973         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
113974         * m4/userspec.m4 (gl_USERSPEC):
113975         * m4/utimecmp.m4 (gl_UTIMECMP):
113976         * m4/utimens.m4 (gl_UTIMENS):
113977         * m4/xalloc.m4 (gl_XALLOC):
113978         * m4/xgetcwd.m4 (gl_XGETCWD):
113979         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
113980         * m4/xreadlink.m4 (gl_XREADLINK):
113981         * m4/xstrtod.m4 (gl_XSTRTOD):
113982         * m4/yesno.m4 (gl_YESNO):
113983         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113984         to get the necessary .h files and whatnot.
113986 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
113987             Bruno Haible  <bruno@clisp.org>
113989         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
113990         /bin/sh understanding of '!' conditional negation.
113992 2006-08-21  Jim Meyering  <jim@meyering.net>
113994         * modules/openat (Depends-on): Really alphabetize.
113996         * modules/acl (Depends-on): Add error and quote.
113998         * check-module (find_included_lib_files): Add at-func.c to the
113999         ok-to-include-more-than-once white list.
114001         * modules/openat (Depends-on): Add lstat.  Alphabetize.
114003 2006-08-21  Bruno Haible  <bruno@clisp.org>
114005         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114006         Emit a pkgdata_DATA variable only if some snippets add contents to it.
114007         Reported by Martin Lambers <marlam@marlam.de>.
114009 2006-08-21  Bruno Haible  <bruno@clisp.org>
114011         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
114012         specify an installation location, don't emit a noinst_LIBRARIES or
114013         noinst_LTLIBRARIES assignment.
114015 2006-08-21  Bruno Haible  <bruno@clisp.org>
114017         BeOS portability.
114018         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
114019         BeOS has mbrtowc() but no <wctype.h>.
114021 2006-08-21  Bruno Haible  <bruno@clisp.org>
114023         BeOS portability.
114024         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
114025         exist.
114027 2006-08-21  Bruno Haible  <bruno@clisp.org>
114029         BeOS portability.
114030         * lib/mbchar.h: Include <wctype.h> only if it exists.
114032 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114034         Remove files that are no longer needed by their respective modules.
114035         * m4/obstack.m4: Remove.
114036         * m4/strerror_r.m4: Remove.
114037         * m4/uint32_t.m4: Remove.
114038         * m4/uintptr_t.m4: Remove.
114039         * m4/ullong_max.m4: Remove.
114040         * m4/xstrtoimax.m4: Remove.
114041         * m4/xstrtoumax.m4: Remove.
114043         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
114044         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
114045         dependencies now capture this.
114047         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
114048         Do not use AC_LIBSOURCES, since gnulib modules now do this.
114049         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
114050         * m4/human.m4 (gl_HUMAN): Likewise.
114051         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
114052         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
114054         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
114056         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
114057         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
114058         stdint.
114059         * m4/human.m4 (gl_HUMAN): Likewise.
114060         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
114061         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
114062         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114063         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114064         * m4/xstrtol (gl_XSTRTOL): Likewise.
114066         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
114067         AC_TYPE_LONG_LONG_INT.
114068         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114069         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
114070         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
114071         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114073         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
114074         on stdbool.
114076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
114077         (gl_PREREQ_XSTRTOUL): Remove.
114079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
114081         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
114082         mode.
114084 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114086         Add and change modules to make it easier for coreutils to use
114087         gnulib-tool.
114088         * modules/backupfile (Files): Remove m4/d-ino.m4.
114089         (Depends-on): Add d-ino.
114090         * modules/cycle-check (Depends-on): Add stdint.
114091         (lib_SOURCES): Add cycle-check.h.
114092         * modules/d-ino: New module.
114093         * modules/d-type: New module.
114094         * modules/error (Files): Remove m4/strerror_r.m4.
114095         * modules/filemode (Files): Add m4/st_dm_mode.m4.
114096         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114097         m4/inttypes_h.m4, m4/uintmax_t.m4.
114098         (Depends-on): Add stdint.
114099         (lib_SOURCES): Add fsusage.h.
114100         * modules/getcwd (Files): Remove d-ino.m4.
114101         (Depends-on): Add d-ino.
114102         * modules/getndelim2 (Depends-on): Add stdint.
114103         * modules/glob (Files): Remove m4/d-type.m4.
114104         (Depends-on): Add d-type.
114105         * modules/host-os: New module.
114106         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
114107         m4/inttypes_h.m4, m4/uintmax_t.m4.
114108         * Depends-on: Add stdint.
114109         (lib_SOURCES): Add human.h.
114110         * modules/inttostr (Files): Remove m4/intmax_t.m4,
114111         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
114112         m4/uintmax_t.m4, m4/ulonglong.m4.
114113         (Depends-on): Add stdint.
114114         (EXTRA_DIST): Add inttostr.h.
114115         * modules/lchmod: New module.
114116         * modules/link-follow: New module.
114117         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
114118         (Depends-on): Add lchmod.
114119         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
114120         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
114121         (Depends-on): Add stdint.
114122         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
114123         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
114124         (Depends-on): Add stdint.
114125         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
114126         * modules/perl: New module.
114127         * modules/regex (Depends-on): Add stdint.
114128         * modules/rmdir-errno: New module.
114129         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114130         m4/intmax_t.m4.
114131         (Depends-on): Add stdint.
114132         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114133         m4/uintmax_t.m4.
114134         (Depends-on): Add stdint.
114135         * modules/unlink-busy: New module.
114136         * modules/utimecmp (Depends-on): Add stdint.
114137         * modules/uptime: New module.
114138         * modules/winsz-ioctl: New module.
114139         * modules/winsz-termios: New module.
114140         * modules/xnanosleep (Depends-on): Add nanosleep.
114141         * modules/ullong_max: Remove.
114142         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
114143         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
114144         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
114145         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
114146         (Depends-on): Add inttypes.
114147         (lib_SOURCES): Add xstrtol.h.
114148         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
114149         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
114150         * MODULES.html.sh: Move 'assert' into the assert section.
114151         Move 'dummy' into the linking section.
114152         Remove ullong_max.
114153         Add section for compatibility checks for POSIX:2001 functions,
114154         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
114155         winsz-ioctl, and winsz-termios into it.
114156         Add lchmod.
114157         Add top-level Misc section and put host-os, perl, and uptime
114158         into it.
114160 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114162         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
114163         now assume the stdint module.  Do not include inttypes.h.
114164         * lib/fsusage.h: Likewise.
114165         * lib/getndelim2.c: Likewise.
114166         * lib/human.h: Likewise.
114167         * lib/inttostr.h: Likewise.
114168         * lib/obstack.c: Likewise.
114169         * lib/regex_internal.h: Likewise.
114170         * lib/tempname.c: Likewise.
114171         * lib/utimecmp.c: Likewise.
114172         * lib/xstrtol.h: Likewise.
114174         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
114176         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
114177         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
114178         * lib/xtime.h: Likewise.
114180 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114182         * modules/openat (Files): Add lib/fchmodat.c.
114183         Fixes problem reported by Jay Youngman.
114185 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114187         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
114188         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
114190 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
114191             Bruno Haible  <bruno@clisp.org>
114193         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
114194         and is a script that invokes bison. Tighten the code. Add comments.
114196 2006-08-18  Jim Meyering  <jim@meyering.net>
114198         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
114199         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
114200         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
114201         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
114203 2006-08-18  Bruno Haible  <bruno@clisp.org>
114205         * modules/bison-i18n: New file.
114206         * MODULES.html.sh (Internationalization functions): Add it.
114208 2006-08-18  Bruno Haible  <bruno@clisp.org>
114210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
114211         sys/statvfs.h. When getmntinfo was found, check its declaration and
114212         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
114214 2006-08-18  Bruno Haible  <bruno@clisp.org>
114216         * m4/bison-i18n.m4: New file, from bison.
114218 2006-08-18  Bruno Haible  <bruno@clisp.org>
114220         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
114221         (ME_DUMMY): Treat "kernfs" as a dummy.
114222         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
114224 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114226         Update from coreutils.
114228         2006-08-15  Jim Meyering  <jim@meyering.net>
114230         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
114232         2006-01-17  Jim Meyering  <jim@meyering.net>
114234         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
114236         2006-01-11  Jim Meyering  <jim@meyering.net>
114238         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
114239         Check for the lchmod function.
114241 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114243         Update from coreutils.
114245         * lib/__fpending.h: Add copyright notice.
114246         * lib/fprintftime.h: Likewise.
114247         * lib/savedir.c: Use (C) in copyright notice.
114248         * lib/savedir.h: Likewise.
114250         2006-08-15  Jim Meyering  <jim@meyering.net>
114252         * lib/at-func.c: New file, with the logic of all emulated at-functions.
114253         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
114254         in support of the EXPECTED_ERRNO macro.
114255         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
114256         definitions.  Instead, define the appropriate symbols and include
114257         "at-func.c".
114258         * lib/mkdirat.c (mkdirat): Likewise.
114259         * lib/fchmodat.c (fchmodat): Likewise.
114260         (ENOSYS): Remove definition.
114261         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
114262         it.  Don't include "unistd--.h" -- it wasn't ever used.
114264         2006-01-17  Jim Meyering  <jim@meyering.net>
114266         Rewrite fts.c not to change the current working directory,
114267         by using openat, fstatat, fdopendir, etc..
114269         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
114270         (HAVE_OPENAT_SUPPORT): Define.
114271         [_LIBC] (fchdir): Don't undef or define; no longer used.
114272         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
114273         Now, this `function' always succeeds, and consumes its file descriptor
114274         parameter -- so callers must not close such FDs.  Update callers.
114275         (diropen_fd, opendirat, cwd_advance_fd): New functions.
114276         (diropen): Add parameter, SP.  Adjust all callers.
114277         Implement using diropen_fd, rather than open.
114278         (fts_open): Initialize new member, fts_cwd_fd.
114279         Remove fts_rft-setting code.
114280         (fts_close): Close fts_cwd_fd, if necessary.
114281         (__opendir2): Define in terms of opendir or opendirat,
114282         depending on whether the FST_NOCHDIR flag is set.
114283         (fts_build): Since fts_safe_changedir consumes its FD, and since
114284         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
114285         and close the dup'd file descriptor upon failure.
114286         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
114287         (fts_safe_changedir): Tweak semantics to reflect that this function
114288         now calls cwd_advance_fd and hence consumes its FD argument.
114289         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
114290         [struct FTS] (fts_rft): Remove now-unused member.
114291         [struct FTS] (fts_cycle.state): Improve comment.
114293         * lib/openat.c (openat_needs_fchdir): New function.
114294         * lib/openat.h (openat_needs_fchdir): Declare it.
114296 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114298         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
114299         Problem and fix reported by Pádraig Brady in
114300         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
114302 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114304         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
114306 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114308         * lib/memcoll.c (memcoll): Optimize for the common case where the
114309         arguments are bytewise equal.
114311 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114313         * doc/regexprops-generic.texi: Add a copyright notice.
114315 2006-08-15  Bruno Haible  <bruno@clisp.org>
114317         * modules/tmpdir (License): Change to LGPL.
114319 2006-08-15  Bruno Haible  <bruno@clisp.org>
114321         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
114322         module.
114324 2006-08-14  Simon Josefsson  <jas@extundo.com>
114326         * config/srclist.txt: Add gnupload.
114328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114330         Change copyright notice from LGPL 2 to GPL 2, since that's the
114331         standard form used in the gnulib repository.
114332         * tests/test-lock.c: Likewise.
114333         * tests/test-stdint.c: Likewise.
114334         * tests/test-tls.c: Likewise.
114336         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
114337         prelude-manager.  User shorter URLs for GNU projects, without '?'.
114338         Add copyright notice.
114340         * check-module: Add copyright notice.  Output a copyright
114341         notice if "--version" is specified.
114342         * modules/COPYING: New file.
114343         * tests/test-getaddrinfo.c: Add copyright notice.
114344         * tests/test-verify.c: Likewise.
114346 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114348         Change copyright notice from LGPL 2 to GPL 2, since that's the
114349         standard form used in the gnulib repository.
114350         * lib/lock.c: LGPL -> GPL.
114351         * lib/lock.h: Likewise.
114352         * lib/strnlen1.c: Likewise.
114353         * lib/strnlen1.h: Likewise.
114354         * lib/tls.c: Likewise.
114355         * lib/tls.h: Likewise.
114356         * lib/tmpdir.c: Likewise.
114358         * lib/TODO: Remove; this belongs only in coreutils.
114360 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114362         Add copyright notices to long-enough files that lack them, since
114363         otherwise the files aren't clearly free.  Use the same notice that
114364         getdate.texi already uses.
114365         * doc/alloca-opt.texi: Add copyright notice.
114366         * doc/alloca.texi: Likewise.
114367         * doc/ctime.texi: Likewise.
114368         * doc/functions.texi: Likewise.
114369         * doc/gcd.texi: Likewise.
114370         * doc/gnulib-tool.texi: Likewise.
114371         * doc/inet_ntoa.texi: Likewise.
114372         * doc/visibility.texi: Likewise.
114374         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
114375         * doc/quote.texi: Add copyright notice.
114377         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
114378         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
114379         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
114380         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
114381         is now obsolete, and give a pointer to the Sun list.
114382         Add copyright notice.
114384 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114386         * config/srclistvars.sh: Add copyright notice.
114388 2006-08-14  Eric Blake  <ebb9@byu.net>
114390         Import the following change from libc:
114392         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
114394         Upstream bug 2997.
114395         * lib/misc/error.c: Add space between program name and message if file
114396         name is missing.
114398 2006-08-12  Karl Berry  <karl@gnu.org>
114400         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
114401         remove, these originate in gnulib now.
114403 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114405         * doc/Makefile (standards.info standards.html standards.dvi):
114406         Also depend on make-stds.texi.
114408 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
114410         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
114411         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
114413         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
114414         in wchar_t.  Problem reported by Eric Blake.
114416         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
114417         LEN is smaller than SIZE.  Suggested by Bruno Haible.
114418         Also, help the compiler to keep LEN in a register.
114420 2006-08-11  Eric Blake  <ebb9@byu.net>
114422         * users.txt: Sort.  Add tar.
114424 2006-08-11  Bruno Haible  <bruno@clisp.org>
114426         * users.txt: New file.
114428 2006-08-11  Bruno Haible  <bruno@clisp.org>
114430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
114431         before <wchar.h>. Needed for OSF/1 and BSD/OS.
114433 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114435         * modules/snprintf (Depends-on): Remove minmax.
114436         (Maintainer): Add self and Bruno.
114438 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114440         * lib/.cppi-disable: Add snprintf.h, socket_.h.
114441         * lib/snprintf.c: Include <errno.h> and <limits.h>.
114442         (EOVERFLOW): Define if the system does not.
114443         Do not include "minmax.h"; it wasn't used.
114444         (snprintf): Don't assume size_t promotes to an unsigned type.
114445         Fix bug when generated string was too long for the buffer: the
114446         buffer's contents are supposed to be the initial prefix of the
114447         output.  Don't assume vasnprintf returns EOVERFLOW if the size
114448         exceeds INT_MAX; do the check ourselves.
114450         Import the following changes from libc:
114452         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
114454         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
114455         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
114456         set wc to the byte which couldn't be converted.
114457         (re_string_reconstruct): Don't clear valid_raw_len before calling
114458         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
114459         tip_context using re_string_context_at.
114461         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
114463         * lib/posix/regex.h: g++ still cannot handled [restrict].
114465         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
114467         * lib/posix/regex.h: Remove special handling for VMS.
114469 2006-08-10  Jim Meyering  <jim@meyering.net>
114471         * modules/same-inode: New module.
114472         * modules/dev-ino: New module.
114473         * modules/cycle-check: Depend on these modules, rather than simply
114474         including their .h files.
114475         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
114476         required via m4/cycle-check.m4.
114477         * modules/same: Depend on new same-inode module, rather than
114478         including same-inode.h.
114479         * modules/chdir-safer: New file.
114481         * modules/chown (Depends-on): Add stat-macros.
114483 2006-08-10  Jim Meyering  <jim@meyering.net>
114485         * m4/cycle-check.m4: New file.
114486         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
114487         * m4/dev-ino.m4, m4/same-inode.m4: New files.
114489 2006-08-10  Eric Blake  <ebb9@byu.net>
114491         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
114492         in from original proposal.
114494 2006-08-10  Eric Blake  <ebb9@byu.net>
114495         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114497         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
114498         namespace.
114500 2006-08-10  Bruno Haible  <bruno@clisp.org>
114502         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
114503         as well.
114505 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114507         Sync from coreutils.
114509         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
114511         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
114512         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
114514 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114516         * modules/restrict: Remove; no longer needed now that we assume
114517         Autoconf 2.59 or later.
114518         * MODULES.html.sh: Remove 'restrict'.
114519         * modules/argp (Depends-on): Remove 'restrict'.
114520         * modules/base64 (Depends-on): Likewise.
114521         * modules/gc (Depends-on): Likewise.
114522         * modules/getaddrinfo (Depends-on): Likewise.
114523         * modules/glob (Depends-on): Likewise.
114524         * modules/inet_ntop (Depends-on): Likewise.
114525         * modules/inet_pton (Depends-on): Likewise.
114526         * modules/memxor (Depends-on): Likewise.
114527         * modules/regex (Depends-on): Likewise.
114528         * modules/strtok_r (Depends-on): Likewise.
114529         * modules/time_r (Depends-on): Likewise.
114531 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114533         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
114534         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
114535         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114536         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
114537         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
114538         * m4/memxor.m4 (gl_MEMXOR): Likewise.
114539         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
114540         gl_C_RESTRICT replaced by AC_C_RESTRICT.
114542         Merge from coreutils.
114543         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
114544         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
114545         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
114546         * m4/time_r.m4 (gl_TIME_R): Likewise.
114548 2006-08-09  Karl Berry  <karl@gnu.org>
114550         * config/srclist.txt: no more gettext-tools, per Bruno.
114552 2006-08-08  Eric Blake  <ebb9@byu.net>
114554         * modules/verror: New module.
114555         * MODULES.html.sh: Document it.
114557 2006-08-08  Eric Blake  <ebb9@byu.net>
114559         * lib/verror.h, lib/verror.c: New files.
114561 2006-08-08  Eric Blake  <ebb9@byu.net>
114563         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
114564         verror_at_line output complies with GNU Coding Standards even when
114565         file is NULL.
114567 2006-08-07  Bruno Haible  <bruno@clisp.org>
114569         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
114570         versions of AIX.
114571         Reported by Ralf Wildenhues.
114573 2006-08-07  Bruno Haible  <bruno@clisp.org>
114575         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
114576         in an AC_DEFUN. Needed so that the autoconf snippets can use
114577         AC_REQUIRE.
114579 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114581         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114582         Initialize pkgdata_DATA.
114583         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
114584         overriding it.
114586 2006-08-06  Eric Blake  <ebb9@byu.net>
114588         * lib/error.h: Fold in some upstream changes from glibc.
114589         * lib/error.c: Likewise.
114591 2006-08-04  Bruno Haible  <bruno@clisp.org>
114593         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114594         Make the mostlyclean-local rule depend on mostlyclean-generic.
114595         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
114597 2006-07-31  Bruno Haible  <bruno@clisp.org>
114599         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
114600         <stdlib.h>, <string.h>.
114602 2006-07-30  Bruno Haible  <bruno@clisp.org>
114604         * modules/readlink (License): Change to LGPL.
114606 2006-07-30  Bruno Haible  <bruno@clisp.org>
114608         * modules/javaversion (Makefile.am): Distribute javaversion.java and
114609         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
114610         set PKGDATADIR to point to it.
114612 2006-07-30  Bruno Haible  <bruno@clisp.org>
114614         * modules/csharpexec (configure.ac): Comment out macro invocation.
114615         * modules/javaexec (configure.ac): Likewise.
114616         * modules/javacomp-script (configure.ac): Likewise.
114618         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
114620 2006-07-30  Bruno Haible  <bruno@clisp.org>
114622         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
114623         linked-list.
114625 2006-07-30  Bruno Haible  <bruno@clisp.org>
114627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
114629 2006-07-30  Bruno Haible  <bruno@clisp.org>
114631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114632         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
114633         get removed.
114635 2006-07-29  Bruno Haible  <bruno@clisp.org>
114637         Make it possible for gnulib-tool to work with locally modified or
114638         augmented gnulib repositories.
114639         * gnulib-tool (func_usage): Document --local-dir option.
114640         (local_gnulib_dir): New variable.
114641         Handle --local-dir option.
114642         (func_lookup_file): New function.
114643         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
114644         (func_get_description, func_get_filelist, func_get_description,
114645         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
114646         func_get_automake_snippet, func_get_include_directive,
114647         func_get_license, func_get_maintainer): Use func_lookup_file.
114648         (func_import, func_create_testdir): Use func_lookup_file.
114650 2006-07-29  Bruno Haible  <bruno@clisp.org>
114652         * modules/setenv (Depends-on): Add unistd.
114654 2006-07-29  Bruno Haible  <bruno@clisp.org>
114656         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
114658 2006-07-29  Bruno Haible  <bruno@clisp.org>
114660         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
114662 2006-07-29  Bruno Haible  <bruno@clisp.org>
114664         * gnulib-tool (import, update): If there is no Makefile.am, look at
114665         aclocal.m4, instead of bailing out.
114667 2006-07-29  Bruno Haible  <bruno@clisp.org>
114669         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
114670         Categorize the options by when they are useful.
114672 2006-07-29  Bruno Haible  <bruno@clisp.org>
114674         * gnulib-tool (func_usage): Document option --no-libtool.
114675         Handle option --no-libtool.
114676         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
114677         for changed semantics of $libtool variable.
114678         (func_import): Likewise. If libtool is not used, show this through
114679         an option --no-libtool.
114680         (func_create_testdir): Update.
114682 2006-07-29  Bruno Haible  <bruno@clisp.org>
114684         * gnulib-tool (func_import): Extend error message about missing
114685         --doc-base.
114687 2006-07-29  Bruno Haible  <bruno@clisp.org>
114689         * gnulib-tool (func_import): Don't create the $docbase directory if
114690         there is no file to store there.
114692 2006-07-29  Bruno Haible  <bruno@clisp.org>
114694         * gnulib-tool (autoconf_minversion): If a --dir option is given and
114695         relevant, look for configure.ac there, not in the current directory.
114696         Also use a simple search for AC_PREREQ, not "autoconf --trace".
114698 2006-07-29  Bruno Haible  <bruno@clisp.org>
114700         * gnulib-tool (SORT): New variable.
114701         (func_usage): Undocument --assume-autoconf option.
114702         Remove --assume-autoconf option handling.
114703         (autoconf_minversion): Determine from the contents of configure.ac.
114704         (func_import): Remove autoconf_minversion handling.
114705         Suggested by Eric Blake.
114707 2006-07-29  Bruno Haible  <bruno@clisp.org>
114709         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
114711 2006-07-29  Bruno Haible  <bruno@clisp.org>
114713         * config/srclist.txt (*setenv.[ch]): Remove rules.
114715 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114717         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
114719 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114721         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
114722         arpa/inet.h.
114724 2006-07-28  Simon Josefsson  <jas@extundo.com>
114726         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
114727         * modules/inet_pton (Depends-on): Likewise.
114729 2006-07-28  Simon Josefsson  <jas@extundo.com>
114731         * m4/netinet_in_h.m4: New file.
114733 2006-07-28  Simon Josefsson  <jas@extundo.com>
114735         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
114736         #include's.
114738 2006-07-28  Simon Josefsson  <jas@extundo.com>
114740         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
114741         #include's.
114743 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
114745         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
114746         setgid on directories only if they set these bits.
114747         * lib/modechange.h: Remove obsolete comment about masks.
114749 2006-07-28  Eric Blake  <ebb9@byu.net>
114751         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
114752         macro expansion.
114754 2006-07-28  Bruno Haible  <bruno@clisp.org>
114756         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
114758 2006-07-28  Bruno Haible  <bruno@clisp.org>
114760         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
114762 2006-07-28  Bruno Haible  <bruno@clisp.org>
114764         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
114765         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
114766         Define fallbacks.
114767         Avoids link error on FreeBSD 4.x.
114768         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
114770         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
114771         encoding.
114772         * lib/mbswidth.c (iswcntrl): Likewise.
114774 2006-07-27  Bruno Haible  <bruno@clisp.org>
114776         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
114777         test.
114779 2006-07-27  Bruno Haible  <bruno@clisp.org>
114781         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
114782         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
114783         defined.
114785 2006-07-26  Eric Blake  <ebb9@byu.net>
114787         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
114789 2006-07-26  Eric Blake  <ebb9@byu.net>
114791         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
114792         like mingw that lack mkstemp.
114793         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
114794         avoid compilation warning on mingw.
114796 2006-07-26  Bruno Haible  <bruno@clisp.org>
114798         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
114799         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
114800         INT_FAST*_MIN, INTPTR_MIN.
114802 2006-07-25  Bruno Haible  <bruno@clisp.org>
114804         * modules/version-etc (Depends-on): Add stdarg.
114806 2006-07-25  Bruno Haible  <bruno@clisp.org>
114808         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
114809         complex commands.
114811 2006-07-25  Bruno Haible  <bruno@clisp.org>
114813         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
114814         defined in <stdarg.h> or config.h.
114816 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114818         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
114819         (gl_STDIO_SAFER): Remove.
114821 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114823         * MODULES.html.sh (File stream based Input/Output):
114824         Add fopen-safer, tmpfile-safer; remove stdio-safer.
114825         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
114826         * modules/fopen-safer, modules/tmpfile-safer: New files.
114827         * modules/stdio-safer: Remove.
114829 2006-07-24  Bruno Haible  <bruno@clisp.org>
114831         * modules/tmpdir: New file.
114832         * MODULES.html.sh (File system functions): Add it.
114834 2006-07-24  Bruno Haible  <bruno@clisp.org>
114836         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
114837         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
114839 2006-07-24  Bruno Haible  <bruno@clisp.org>
114841         * modules/clean-temp: New file.
114843 2006-07-24  Bruno Haible  <bruno@clisp.org>
114845         * m4/tmpdir.m4: New file, from GNU gettext.
114847 2006-07-24  Bruno Haible  <bruno@clisp.org>
114849         * lib/tmpdir.h: New file, from GNU gettext.
114850         * lib/tmpdir.c: New file, from GNU gettext.
114852 2006-07-24  Bruno Haible  <bruno@clisp.org>
114854         * lib/clean-temp.h: New file, from GNU gettext.
114855         * lib/clean-temp.c: New file, from GNU gettext.
114857 2006-07-23  Eric Blake  <ebb9@byu.net>
114859         * modules/stdio-safer (Files): Add tmpfile-safer.c.
114860         (Depends-on): Add binary-io.
114862 2006-07-23  Eric Blake  <ebb9@byu.net>
114864         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
114866 2006-07-23  Eric Blake  <ebb9@byu.net>
114868         * lib/tmpfile-safer.c: New file.
114869         * lib/stdio-safer.h (fopen_safer): Add prototype.
114870         * lib/stdio--.h (tmpfile): Make safer.
114872 2006-07-23  Bruno Haible  <bruno@clisp.org>
114874         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
114875         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
114876         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
114877         gl_linked_remove_at): Use it.
114879 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114880         and Simon Josefsson <jas@extundo.com>
114882         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
114884         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
114886 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114888         * modules/close-stream: New file.
114889         * modules/closeout (Description): Make it clear that it exits
114890         with a diagnostic on error.
114891         (Depends-on): Add close-stream.  Remove fpending, stdbool.
114892         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
114894 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114896         * m4/close-stream.m4: New file.
114898 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114900         * lib/close-stream.c, lib/close-stream.h: New files.
114902 2006-07-22  Bruno Haible  <bruno@clisp.org>
114904         Merge from GNU gettext 0.15.
114906         2006-05-01  Bruno Haible  <bruno@clisp.org>
114908                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
114910         2006-07-22  Bruno Haible  <bruno@clisp.org>
114912                 * modules/javaversion: New file.
114913                 * MODULES.html.sh (Java): Add javaversion.
114915         2006-03-12  Bruno Haible  <bruno@clisp.org>
114917                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
114919         2005-12-04  Bruno Haible  <bruno@clisp.org>
114921                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
114922                 (untested).
114924         2006-06-21  Bruno Haible  <bruno@clisp.org>
114926                 Avoid warnings from recent versions of mcs.
114927                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
114928                 -o, -L, -r any more. Use options documented since mcs-1.0
114929                 instead. Similarly for -g.
114931         2005-12-04  Bruno Haible  <bruno@clisp.org>
114933                 * build-aux/csharpcomp.sh.in: Suffix for resources is
114934                 .resources, not .resource.
114936         2005-07-09  Bruno Haible  <bruno@clisp.org>
114938                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
114939                 add a .dll suffix.
114940                 Reported by Mark Junker <mjscod@gmx.de>.
114942         2006-07-22  Bruno Haible  <bruno@clisp.org>
114944                 * modules/gettext: Upgrade to gettext-0.15.
114945                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
114946                 m4/visibility.m4.
114947                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
114949 2006-07-22  Bruno Haible  <bruno@clisp.org>
114951         Merge from GNU gettext 0.15.
114953         2006-03-25  Bruno Haible  <bruno@clisp.org>
114955                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
114957         2006-07-21  Bruno Haible  <bruno@clisp.org>
114959                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
114960                 "1.1".
114962         2006-05-09  Bruno Haible  <bruno@clisp.org>
114964                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
114965                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
114966                 for the conftestver execution.
114968         2006-05-01  Bruno Haible  <bruno@clisp.org>
114970                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
114971                 optional target-version argument. Verify that the compiler
114972                 groks source of the specified source-version, or add -source
114973                 option as necessary. Verify that the compiler produces
114974                 bytecode in the specified target-version, or add -target and
114975                 -source options as necessary. Make the result of the test
114976                 available as variable CONF_JAVAC. Also log error output in
114977                 config.log.
114979         2006-03-11  Bruno Haible  <bruno@clisp.org>
114981                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
114983         2006-05-09  Bruno Haible  <bruno@clisp.org>
114985                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
114986                 CLASSPATH_SEPARATOR to a semicolon.
114988         2006-03-12  Bruno Haible  <bruno@clisp.org>
114990                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
114991                 available as variable CONF_JAVA, for subsequent autoconf
114992                 tests. Also log error output in config.log.
114994         2006-07-19  Bruno Haible  <bruno@clisp.org>
114996                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
114997                 that getline works on glibc2 systems. Needed to avoid trouble
114998                 in relocatable.c.
114999                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
115001         2005-12-04  Bruno Haible  <bruno@clisp.org>
115003                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
115004                 launcher (untested).
115006         2005-12-04  Bruno Haible  <bruno@clisp.org>
115008                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
115010         2006-07-22  Bruno Haible  <bruno@clisp.org>
115012                 * gettext.m4: Update from GNU gettext-0.15.
115013                 * nls.m4: Likewise.
115014                 * po.m4: Likewise.
115015                 * inttypes-pri.m4: Likewise.
115016                 * inttypes-h.m4: Renamed from inttypes.m4.
115017                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
115019 2006-07-22  Bruno Haible  <bruno@clisp.org>
115021         Merge from GNU gettext 0.15.
115023         2005-07-05  Bruno Haible  <bruno@clisp.org>
115025                 * printf-args.c (printf_fetchargs): Work around broken
115026                 definition of wint_t on mingw.
115028         2005-02-12  Bruno Haible  <bruno@clisp.org>
115030                 * xallocsa.h: Add extern "C" for C++.
115032         2006-05-17  Bruno Haible  <bruno@clisp.org>
115034                 Cygwin portability.
115035                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
115037         2006-04-30  Bruno Haible  <bruno@clisp.org>
115039                 * progreloc.c: Include <mach-o/dyld.h> if available.
115040                 (find_executable): Use _NSGetExecutablePath when possible.
115042         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
115044                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
115045                 function.
115047         2005-12-29  Bruno Haible  <bruno@clisp.org>
115049                 * progreloc.c (set_program_name_and_installdir): Fix
115050                 compilation error.
115052         2005-12-04  Bruno Haible  <bruno@clisp.org>
115054                 Cygwin portability.
115055                 * progreloc.c: Include <windows.h> also on Cygwin.
115056                 (find_executable): Add support for Cygwin.
115057                 (set_program_name_and_installdir): Handle also platforms with
115058                 nonempty EXEEXT.
115060         2006-07-11  Bruno Haible  <bruno@clisp.org>
115062                 * javacomp.c: Fix a comment.
115063                 Reported by Jim Meyering.
115065         2006-04-30  Bruno Haible  <bruno@clisp.org>
115067                 * javacomp.h (compile_java_class): Add source_version,
115068                 target_version arguments.
115069                 * javacomp.c: Rewritten to choose only a compiler that
115070                 respects the specified source_version and target_version.
115072         2006-06-27  Bruno Haible  <bruno@clisp.org>
115074                 Assume correct S_ISDIR macro.
115075                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
115077         2006-07-22  Bruno Haible  <bruno@clisp.org>
115079                 * javaversion.h: New file, from GNU gettext.
115080                 * javaversion.c: New file, from GNU gettext.
115081                 * javaversion.java: New file, from GNU gettext.
115082                 * javaversion.class: New file, from GNU gettext.
115084         2006-05-17  Bruno Haible  <bruno@clisp.org>
115086                 Cygwin portability.
115087                 * javaexec.c (execute_java_class): Test for jview program
115088                 also on Cygwin.
115090         2006-04-09  Bruno Haible  <bruno@clisp.org>
115092                 * fatal-signal.c: Don't include string.h.
115093                 (at_fatal_signal): Use a copying loop instead of memcpy.
115095         2005-12-04  Bruno Haible  <bruno@clisp.org>
115097                 * csharpexec.c: Add support for 'clix' launcher (untested).
115098                 (execute_csharp_using_sscli): New function.
115099                 (execute_csharp_program): Call it.
115101         2006-06-21  Bruno Haible  <bruno@clisp.org>
115103                 Avoid warnings from recent versions of mcs.
115104                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
115105                 -o, -L, -r any more. Use options documented since mcs-1.0
115106                 instead. Similarly for -g.
115108         2005-07-09  Bruno Haible  <bruno@clisp.org>
115110                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
115111                 add a .dll suffix.
115112                 Reported by Mark Junker <mjscod@gmx.de>.
115114         2006-06-17  Bruno Haible  <bruno@clisp.org>
115116                 * config.charset: Update for NetBSD 3.0.
115118         2006-05-17  Bruno Haible  <bruno@clisp.org>
115120                 Cygwin portability.
115121                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
115123         2006-05-16  Bruno Haible  <bruno@clisp.org>
115125                 * localcharset.c [CYGWIN]: Include <windows.h>.
115126                 (get_charset_aliases): For Cygwin, return the same CPxxx
115127                 aliases list as under WIN32.
115128                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
115129                 the environment variables. Fall back to GetACP().
115131         2006-04-05  Bruno Haible  <bruno@clisp.org>
115133                 * config.charset: Update Juan Manuel Guerrero's address.
115135         2005-02-12  Bruno Haible  <bruno@clisp.org>
115137                 * allocsa.h: Add extern "C" for C++.
115139         2005-02-10  Bruno Haible  <bruno@clisp.org>
115141                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
115142                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
115144         2006-07-22  Bruno Haible  <bruno@clisp.org>
115146                 * gettext.h: Update to GNU gettext-0.15.
115148 2006-07-22  Bruno Haible  <bruno@clisp.org>
115150         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
115151         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
115152         lib-prefix.m4, longdouble.m4, ssize_t.m4.
115154 2006-07-21  Eric Blake  <ebb9@byu.net>
115156         * modules/stdlib-safer: New file.
115157         * MODULES.html.sh (File stream based Input/Output): Add
115158         stdlib-safer.
115160 2006-07-21  Eric Blake  <ebb9@byu.net>
115162         * lib/stdlib-safer.h: New file from coreutils, required by
115163         stdlib--.h.
115165 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
115167         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
115169 2006-07-20  Bruno Haible  <bruno@clisp.org>
115171         * gnulib-tool: Recognize new option --assume-autoconf.
115172         (autoconf_minversion): New variable.
115173         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
115175 2006-07-20  Bruno Haible  <bruno@clisp.org>
115177         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
115179 2006-07-19  Derek R. Price  <derek@ximbiot.com>
115181         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
115182         Reindent and repaginate.
115184 2006-07-19  Derek Price  <derek@ximbiot.com>
115186         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
115187         Correct grammar.
115189 2006-07-17  Bruno Haible  <bruno@clisp.org>
115191         * modules/list: New file.
115192         * modules/array-list: New file.
115193         * modules/carray-list, modules/carray-list-tests: New files.
115194         * modules/linked-list, modules/linked-list-tests: New files.
115195         * modules/avltree-list, modules/avltree-list-tests: New files.
115196         * modules/rbtree-list, modules/rbtree-list-tests: New files.
115197         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
115198         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
115199         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
115200         * modules/oset: New file.
115201         * modules/array-oset: New file.
115202         * modules/avltree-oset, modules/avltree-oset-tests: New files.
115203         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
115204         * tests/test-carray_list.c: New file.
115205         * tests/test-linked_list.c: New file.
115206         * tests/test-avltree_list.c: New file.
115207         * tests/test-rbtree_list.c: New file.
115208         * tests/test-linkedhash_list.c: New file.
115209         * tests/test-avltreehash_list.c: New file.
115210         * tests/test-rbtreehash_list.c: New file.
115211         * tests/test-avltree_oset.c: New file.
115212         * tests/test-rbtree_oset.c: New file.
115213         * MODULES.html.sh (Container data structures): New section.
115215 2006-07-17  Bruno Haible  <bruno@clisp.org>
115217         * m4/gl_list.m4: New file.
115219 2006-07-17  Bruno Haible  <bruno@clisp.org>
115221         * lib/gl_list.h: New file.
115222         * lib/gl_list.c: New file.
115223         * lib/gl_array_list.h: New file.
115224         * lib/gl_array_list.c: New file.
115225         * lib/gl_carray_list.h: New file.
115226         * lib/gl_carray_list.c: New file.
115227         * lib/gl_linked_list.h: New file.
115228         * lib/gl_linked_list.c: New file.
115229         * lib/gl_anylinked_list1.h: New file.
115230         * lib/gl_anylinked_list2.h: New file.
115231         * lib/gl_avltree_list.h: New file.
115232         * lib/gl_avltree_list.c: New file.
115233         * lib/gl_anyavltree_list1.h: New file.
115234         * lib/gl_anyavltree_list2.h: New file.
115235         * lib/gl_rbtree_list.h: New file.
115236         * lib/gl_rbtree_list.c: New file.
115237         * lib/gl_anyrbtree_list1.h: New file.
115238         * lib/gl_anyrbtree_list2.h: New file.
115239         * lib/gl_anytree_list1.h: New file.
115240         * lib/gl_anytree_list2.h: New file.
115241         * lib/gl_linkedhash_list.h: New file.
115242         * lib/gl_linkedhash_list.c: New file.
115243         * lib/gl_anyhash_list1.h: New file.
115244         * lib/gl_anyhash_list2.h: New file.
115245         * lib/gl_avltreehash_list.h: New file.
115246         * lib/gl_avltreehash_list.c: New file.
115247         * lib/gl_rbtreehash_list.h: New file.
115248         * lib/gl_rbtreehash_list.c: New file.
115249         * lib/gl_anytreehash_list1.h: New file.
115250         * lib/gl_anytreehash_list2.h: New file.
115252         * lib/gl_oset.h: New file.
115253         * lib/gl_oset.c: New file.
115254         * lib/gl_array_oset.h: New file.
115255         * lib/gl_array_oset.c: New file.
115256         * lib/gl_avltree_oset.h: New file.
115257         * lib/gl_avltree_oset.c: New file.
115258         * lib/gl_rbtree_oset.h: New file.
115259         * lib/gl_rbtree_oset.c: New file.
115260         * lib/gl_anytree_oset.h: New file.
115262 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115264         * m4/mkancesdirs.m4: New file.
115265         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
115266         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
115267         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
115268         it.
115270 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115272         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
115273         * lib/mkancesdirs.h: New files.
115274         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
115275         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
115276         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
115277         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
115278         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
115279         callers changed.  Revamp internals significantly, by not
115280         attempting to create directories that are temporarily more
115281         permissive than the final results.  Do not attempt to use
115282         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
115283         This removes some race conditions, fixes some bugs, and simplifies
115284         things.  Use new dirchownmod function to do owner and mode changes.
115285         * lib/mkdir-p.h: Likewise.
115286         * lib/modechange.c (octal_to_mode): New function.
115287         (struct mode_change): New member mentioned.
115288         (make_node_op_equals): New arg mentioned.  All callers changed.
115289         (mode_compile): Keep track of which mode bits the user has explicitly
115290         mentioned.
115291         (mode_adjust): New arg DIR, so that we implement the X op correctly.
115292         New arg PMODE_BITS, to keep track of which mode bits the user
115293         mentioned; it treats S_ISUID and S_ISGID speciall.
115294         All callers changed.
115295         * lib/modechange.h: Likewise.
115297 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115299         * MODULES.html.sh: Add mkancestors.
115300         * modules/mkancesdirs: New module.
115301         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
115302         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
115303         The chdir-safer and afs files are now orphans; I'll remove them
115304         unless someone speaks up.
115305         Add lib/dirchownmod.c, lib/dirchownmod.h.
115306         (Depends-on): Remove alloca, chown, save-cwd, dirname.
115307         Add lchown, mkancesdirs.
115308         (Maintainer): Add self.
115310 2006-07-15  Karl Berry  <karl@gnu.org>
115312         * gnulib-tool: help message wording/arrangement.
115314 2006-07-14  Simon Josefsson  <jas@extundo.com>
115316         * doc/gnulib.texi (Libtool and Windows): New section.
115318 2006-07-12  Simon Josefsson  <jas@extundo.com>
115320         * modules/gendocs (License): Fix license, approved by Karl.
115322 2006-07-12  Eric Blake  <ebb9@byu.net>
115324         * MODULES.html.sh: Add gendocs.
115326 2006-07-11  Eric Blake  <ebb9@byu.net>
115328         * modules/fdl: New module, to install doc/fdl.texi.
115329         * MODULES.html.sh: Add new section for documentation modules.
115330         * gnulib-tool: Avoid space-tab.
115331         (--doc-base): New option, to manage files from doc.
115333 2006-07-11  Eric Blake  <ebb9@byu.net>
115335         * m4/absolute-header.m4: Fix comments to match recent change.
115337 2006-07-11  Eric Blake  <ebb9@byu.net>
115339         * gnulib-tool: List --doc-base before --tests-base.
115341 2006-07-11  Derek R. Price  <derek@ximbiot.com>
115343         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
115345 2006-07-11  Bruno Haible  <bruno@clisp.org>
115347         * README: Mention where to put documentation.
115349 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115351         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
115353 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115355         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
115356         to stdint.m4.
115358 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115360         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
115361         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
115362         "no/such/file/stdint.h" when there is no such file, so that
115363         the resulting C code can be parsed by dodgy compilers.
115364         Problems reported by Bob Proulx.
115366 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115368         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
115369         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115370         macros into the GNU _D_EXACT_NAMLEN.
115371         * lib/savedir.c:  Likewise.
115372         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
115374 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115375         and Paul Eggert  <eggert@cs.ucla.edu>
115377         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
115378         * m4/savedir.m4:
115379         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115380         macros into the GNU _D_EXACT_NAMLEN.
115382 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115384         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
115385         around the absolute name, to work around a problem with the HP-UX
115386         11.23 native C compiler, reported by Bob Proulx.
115388 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115390         * doc/maintain.texi, make-stds.texi: Sync from
115391         <http://savannah.gnu.org/projects/gnustandards>.
115393 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115395         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
115397 2006-07-09  Jim Meyering  <jim@meyering.net>
115399         * m4/glob.m4: Remove a doubled word in a comment.
115401 2006-07-09  Jim Meyering  <jim@meyering.net>
115403         * lib/argp-pv.c: Remove a doubled word in a comment.
115404         * lib/check-version.c (check_version): Likewise.
115405         * lib/javacomp.c (compile_java_class): Likewise.
115407 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
115409         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
115410         for the benefit of people using Autoconf 2.60.  If you want to
115411         support older Autoconf versions you can copy m4/onceonly_2_57.m4
115412         (or m4/onceonly.m4, if pre-2.57) manually.
115414 2006-07-08  Jim Meyering  <jim@meyering.net>
115416         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
115417         comment.
115418         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
115419         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
115420         comment.
115422 2006-07-08  Jim Meyering  <jim@meyering.net>
115424         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
115426 2006-07-07  Simon Josefsson  <jas@extundo.com>
115428         * tests/test-crc.c: Change expected crc value, the test vector
115429         were probably computed using the old broken crc.c?
115431 2006-07-06  Simon Josefsson  <jas@extundo.com>
115433         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
115434         now the canonical place for the M4 file).
115436         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
115437         from the sys_socket dependency now.
115439         * modules/inet_pton (Files): Ditto.
115441         * modules/inet_ntop (Files): Ditto.
115443 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
115445         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
115446         not gl_PREREQ_GETUSERSHELL.
115448 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115450         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
115451         with only one argument, for Autoconf 2.60.
115452         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
115453         expand to nothing, so add a shell command to avoid syntax error.
115454         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115456 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115458         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
115460 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115462         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
115463         no longer needed.  Check for isblank decl.
115464         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
115465         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
115466         of existence.
115468 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115470         * lib/getloadavg.c: Use __VMS, not VMS.
115471         * lib/getopt.c: Likewise.
115472         * lib/getpagesize.h: Likewise.
115473         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
115474         and probably does not work.
115476 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115478         * lib/.cppi-disable: Add wcwidth.
115479         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
115480         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
115481         (ISGRAPH): Remove.  All uses changed to isgraph.
115482         (FOLD) [!defined _LIBC]: Remove special case.
115483         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
115484         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
115485         HAVE_ISBLANK.
115486         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
115487         case.
115489 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115491         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
115492         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
115493         brackets.  Other minor changes to suppress some compiler
115494         warnings.
115496 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115497         and Paul Eggert  <eggert@cs.ucla.edu>
115499         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
115500         of invoking obsolescent AC_HEADER_DIRENT macro.
115501         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
115502         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
115503         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
115504         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
115505         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
115506         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115507         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
115508         * m4/readdir.m4: Remove; no longer needed.
115510 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115511         and Paul Eggert  <eggert@cs.ucla.edu>
115513         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
115514         Don't worry about this obsolete case any more.
115515         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
115516         directories.
115517         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
115518         worry about this obsolete case any more.
115519         * lib/fts.c: Likewise.
115520         * lib/getcwd.c: Likewise.
115521         * lib/glob.h: Likewise.
115522         * lib/savedir.c: Likewise.
115524 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
115527         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
115528         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
115529         needed.
115530         All uses removed.
115531         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115532         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115533         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
115534         needed.
115535         * m4/getdate.m4 (gl_GETDATE): Likewise.
115536         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115537         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115538         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115539         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115540         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115541         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115542         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
115543         needed.
115545 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115547         * lib/memcasecmp.c: Include <limits.h>.
115548         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
115549         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
115550         Don't assume isdigit succeeds only on '0' through '9'.
115552 2006-07-05  Eric Blake  <ebb9@byu.net>
115554         * modules/getaddrinfo (Depends-on): Add snprintf.
115556 2006-07-05  Eric Blake  <ebb9@byu.net>
115558         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
115559         to avoid 'header present but could not be compiled' on cygwin.
115561 2006-07-05  Eric Blake  <ebb9@byu.net>
115563         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
115564         missing from netdb.h.
115565         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
115567 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115569         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
115570         no longer needed.
115571         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
115572         * m4/getdate.m4 (gl_GETDATE): Likewise.
115573         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115574         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115575         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115576         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115579 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115581         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
115582         All uses of is_space replaced by isspace.
115583         * lib/exit.h: Don't talk about STDC_HEADERS.
115584         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
115585         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
115586         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
115587         replaced by isprint etc.
115588         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
115589         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115590         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
115591         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
115592         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
115593         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115595 2006-07-05  Bruno Haible  <bruno@clisp.org>
115597         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
115598         the function exists, before testing against AIX.
115599         Reported by Martin Lambers <marlam@marlam.de>.
115601 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115603         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
115604         From Mark D. Baushke.
115606 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115608         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
115609         to the absolute name, not just one, to bypass Sun C 5.8's
115610         "warning: #include of /usr/include/... may be non-portable".
115612 2006-07-04  Eric Blake  <ebb9@byu.net>
115614         * modules/dirname-tests: New test module.
115615         * tests/test-dirname.c: New file, replacing dirname.c
115616         TEST_DIRNAME section that was recently deleted.
115618 2006-07-04  Bruno Haible  <bruno@clisp.org>
115620         Assume ANSI C header files and <ctype.h> functions.
115621         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
115622         (mbsnwidth): Use isprint, iscntrl instead.
115624 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115626         Merge from coreutils.
115627         * MODULES.html.sh: Add xstrtold.
115628         * modules/xstrtold: New file.
115629         * modules/cycle-check (Files): Add lib/same-inode.h.
115630         * modules/dirname (Files): Add m4/double-slash-root.m4.
115631         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
115632         * modules/mkdir-p (Files): Add lib/same-inode.h.
115633         * modules/same (Files): Add lib/same-inode.h.
115635 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115637         * m4/absolute-header.m4: Renamed from full-header-path.m4.
115638         This is to keep the terminology clean; POSIX talks about
115639         "absolute pathnames", not "full pathnames", but the GNU
115640         Coding Standards say to use "path" for something else;
115641         so use "absolute" to keep both sides happy.
115642         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
115643         Set gl_absolute_header, not gl_full_header_path.
115644         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
115645         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
115646         All uses changed.
115648         Merge from coreutils.
115650         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115652         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
115653         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
115654         want to require the building of c-strtod.o.
115655         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
115656         needs -lm directly.
115657         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
115659         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
115661         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
115662         --as-needed option if available.  Problem reported by Albert Chin in
115663         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
115664         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
115665         cc merely issues a bunch of annoying warnings for --as-needed
115666         (this problem was reported by Bob Proulx).  Also, try linking with
115667         -lm to detect a bug in binutils 2.16 (this problem was reported
115668         by Ralf Wildenhues).
115670         2006-06-18  Jim Meyering  <jim@meyering.net>
115672         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
115673         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
115674         macro.
115675         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
115676         also check for glibc-2.4's abort-inducing bug.
115678         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
115679         Low-probability clean-up should be to use rmdir to get rid of
115680         the just-created directory, not unlink.
115682         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
115683         configure fail, and request a bug report to inform us about it.
115684         Add a comment that, barring reports to the contrary, in 2007 we'll
115685         assume ftruncate is universally available.
115687         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115689         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
115691         2006-03-12  Jim Meyering  <jim@meyering.net>
115693         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
115694         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
115695         * m4/same.m4 (gl_SAME): Likewise.
115696         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
115698         2006-03-11  Eric Blake  <ebb9@byu.net>
115700         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
115701         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
115702         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
115703         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
115705 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115707         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
115708         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
115709         reported by Mark D. Baushke, one in
115710         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
115712         Merge from coreutils.
115714         * lib/.cppi-disable: Add stdint_.h.
115715         * lib/.cvsignore: Add stdint.h.
115717         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115719         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
115720         both double and long double versions.
115721         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
115722         * lib/xstrtold.c: New file.
115723         * lib/xstrtod.h (xstrtold): New decl.
115725         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
115727         * lib/filemode.c (setst): Remove.
115728         (strmode): Rewrite to avoid setst.  This makes the code shorter,
115729         (arguably) clearer, and the generated code is a bit smaller on my
115730         Debian GNU/Linux stable x86 host.
115732         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115734         * lib/filemode.c: Include "filemode.h" first, to test the interface.
115735         Assume that filemode.h includes sys/types.h and sys/stat.h.
115736         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
115737         (ftypelet): Reorder to put common cases first, for efficiency.
115738         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
115739         to do 'M'.
115740         (strmode): Renamed from mode_string, and now stores 12 bytes instead
115741         of 10, for compatibility with FreeBSD.  All callers changed.
115742         (filemodestring): Now stores 12 bytes instead of 10, and sets file
115743         types that can't be deduced solely from st_mode.  First arg is now a
115744         const pointer.
115745         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
115746         (strmode): Renamed from mode_string.
115747         (filemodestring): New decl.
115748         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
115749         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
115750         needed.
115751         (S_ISPORT, S_ISWHT): New macros, if not already defined.
115753         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
115755         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
115756         fsusage.h now does that.  Include fsusage.h first, to test interface.
115757         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
115758         at most one method (the old code could have generated decls that
115759         didn't conform to C89, not that this was ever exercised).
115760         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
115762         2006-03-19  Jim Meyering  <jim@meyering.net>
115764         Work even in a chroot where d_ino values for entries in "/"
115765         don't match the stat.st_ino values for the same names.
115766         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
115767         number, iterate through all entries again, using lstat instead.
115768         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
115769         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
115771         * lib/getcwd.c (__getcwd): Clarify a comment.
115772         Use memcpy in place of a call to strcpy.
115774         2006-03-12  Jim Meyering  <jim@meyering.net>
115776         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
115777         matches that of the current directory (which we're about to chdir ".."
115778         out of), then save the dev-ino of the parent, instead.
115780         * lib/same-inode.h (SAME_INODE): New file/macro.
115781         * lib/chdir-safer.c (SAME_INODE): Remove definition.
115782         Include "same-inode.h", instead.
115783         * lib/same.c: Likewise.
115784         * lib/cycle-check.h: Include "same-inode.h".
115785         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
115786         * lib/cycle-check.c (SAME_INODE): Remove definition.
115787         * lib/root-dev-ino.h: Include "same-inode.h".
115789         2006-03-11  Eric Blake  <ebb9@byu.net>
115791         * lib/same.c (same_name): s/base_name/last_component/
115792         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
115793         * lib/filenamecat.c (file_name_concat): Likewise.
115795         2006-03-11  Eric Blake  <ebb9@byu.net>,
115796                     Paul Eggert  <eggert@cs.ucla.edu>
115798         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
115799         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
115800         drive prefix.
115801         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
115802         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
115803         (last_component): New method.
115804         * lib/dirname.c (dir_len): Determine when drive letters need a
115805         subsequent slash.  Preserve // when it is special.
115806         (dir_name): Don't append dot when drive letter is absolute.
115807         [TEST_DIRNAME]: Move into a full-blown gnulib test.
115808         * lib/basename.c (base_name): New semantics - malloc the result.
115809         Preserve // when it is special.  Preserve relative files that look
115810         like drive letters.
115811         (base_len): Preserve // when it is special.
115812         (last_component): New method, similar to old base_name semantics.
115813         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
115814         base_name.  Strip redundant slashes from ///.
115816 2006-07-03  Jim Meyering  <jim@meyering.net>
115818         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
115819         macro is used before the first cycle_check call.
115821 2006-07-03  Eric Blake  <ebb9@byu.net>
115823         * modules/dirname (Depends-on): Add xstrndup.
115825 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115827         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
115828         test cases, so that config.log is a bit easier to follow.
115830 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115832         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
115833         both are 64 bits, since this seems to be the tradition, and this
115834         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
115835         we ever run into a host that prefers long long to long in this
115836         case, we'll need another configure-time test.  Problem reported by
115837         Jim Meyering.
115839 2006-07-02  Eric Blake  <ebb9@byu.net>
115841         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
115843 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115845         * modules/inttypes (Depends-on): No longer depends on stdint.
115846         * modules/stdint (Description): Say more about assumptions.
115847         Say that the fast types might differ.  Say macros are used.
115848         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
115849         (Makefile.am): Revise list of substituted symbols to match
115850         new stdint.m4.
115851         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
115852         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
115853         * tests/test-stdint.c (verify_same_types)
115854         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
115855         the code conforms to C99/C89.
115856         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
115857         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
115859 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115861         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
115862         but fix a bug, by requiring at least 64 bits.
115863         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
115864         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
115865         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
115866         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115868         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
115869         changes.  Make 2.59 a prerequisite.  Check and substitute for
115870         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
115871         inttypes.h.  Do not use special include files; just use the
115872         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
115873         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
115874         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
115875         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
115876         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
115877         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
115878         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
115879         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
115880         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
115881         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
115882         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
115883         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
115884         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
115885         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
115886         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
115887         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
115888         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
115889         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
115890         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
115891         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
115892         WINT_MAX.  Check for C99 conformance more strictly, by detecting
115893         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
115894         not check for things that C99 does not require, e.g., int8_t.  If
115895         a test isn't needed unless <stdint.h> isn't working, and is
115896         unlikely to be needed for any other reason, then don't do it
115897         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
115898         size_t, since we assume C89 freestanding at least.  Do not check
115899         for sig_atomic_t, wchar_t, or wint_t, since the code now does
115900         the right thing even if the types are not defined.  Instead use:
115901         (gl_STDINT_TYPE_PROPERTIES): New macro.
115902         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
115903         testing whether <sys/types.h> clashes, as Autoconf does this for
115904         us now.  All uses removed.
115905         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
115906         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
115907         (gl_CHECK_TYPE_SAME):
115908         Remove; no longer needed.
115909         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
115910         exists, since we'll return 0 anyway in that case.
115911         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
115913 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115915         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
115916         possible collision with system files.
115917         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
115918         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
115919         WCHAR_MIN and WCHAR_MAX in this case.
115920         (<stddef.h>): Do not include; no longer needed.
115921         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
115922         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
115923         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
115924         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
115925         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
115926         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
115927         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
115928         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
115929         !defined(__c99))]: Include in this case too, since it's harmless
115930         now.
115931         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
115932         dangerous to do so.
115933         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
115934         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
115935         (_STDINT_MIN, _STDINT_MAX): New macros.
115936         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
115937         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
115938         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
115939         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
115940         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
115941         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
115942         macros, not typedefs; this simplifies things quite a bit.
115943         Use long int for all types narrower than int64_t.
115944         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
115945         Define in terms of long long int or int64_t or long int,
115946         not int64_t or int32_t.  This saves some compile-time testing.
115947         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
115948         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
115949         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
115950         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
115951         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
115952         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
115953         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
115954         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
115955         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
115956         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
115957         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115958         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115959         undef any previous version and define our own version, for
115960         simplicity and consistency with the new macros for types.
115961         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115962         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115963         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
115964         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
115965         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
115966         @WINT_T_SUFFIX@ to keep things simple here.
115967         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
115968         Simplify by assuming typical 8/16/32/64 host, since we're
115969         already doing that elsewhere anyway.
115970         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
115971         and assume long long int is 64 bits if available.  This
115972         speeds up 'configure'.
115974 2006-07-01  Eric Blake  <ebb9@byu.net>
115976         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
115977         Reported by Andreas Buening.
115979 2006-07-01  Eric Blake  <ebb9@byu.net>
115981         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
115983 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115985         * lib/getaddrinfo.c: fixed typo
115987 2006-06-29  Jim Meyering  <jim@meyering.net>
115989         * modules/strftime (Maintainer): Add my name, since with the
115990         FPRINTFTIME changes strftime.c has forked from glibc.
115992 2006-06-29  Eric Blake  <ebb9@byu.net>
115994         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
115996 2006-06-29  Eric Blake  <ebb9@byu.net>
115998         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
116000 2006-06-29  Eric Blake  <ebb9@byu.net>
116002         * lib/stat_.h: New file.
116004 2006-06-29  Eric Blake  <ebb9@byu.net>
116006         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
116007         unused static function.
116009 2006-06-29  Eric Blake  <ebb9@byu.net>
116011         * doc/functions.texi (Function Portability): Document missing lstat
116012         on mingw.
116014 2006-06-29  Eric Blake  <ebb9@byu.net>
116016         * MODULES.html.sh: Add sys_stat.
116017         * modules/sys_stat: New module.
116018         * modules/mkstemp (Depends-on): Add sys_stat.
116020 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116022         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
116024 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116026         * m4/c-bs-a.m4: Removed.
116028 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116030         * lib/strftime.c: Assume strftime() exists.
116032 2006-06-29  Derek Price  <derek@ximbiot.com>
116034         * modules/c-bs-a: Removed - \a is C89.
116035         * MODULES.html.sh: Remove c-bs-a.
116037 2006-06-29  Bruno Haible  <bruno@clisp.org>
116039         * modules/wcwidth (License): Change to LGPL.
116041 2006-06-28  Simon Josefsson  <jas@extundo.com>
116043         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
116044         on _WIN32.
116046         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
116047         getnameinfo.
116049 2006-06-28  Simon Josefsson  <jas@extundo.com>
116051         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
116053 2006-06-28  Simon Josefsson  <jas@extundo.com>
116055         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
116056         functions there.  It will succeed on Windows XP, but on Windows
116057         2000 and (presumably) earlier, it will fail, and use the internal
116058         re-implementation.
116059         (use_win32_p): New function.
116060         (getaddrinfo): Use strtoul on servname, to support numeric ports.
116061         Support AI_NUMERICSERV to disable getservbyname.
116062         (getnameinfo): New function, only supports
116063         NI_NUMERICHOST|NI_NUMERICSERV for now.
116065         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
116066         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
116067         getnameinfo.
116069 2006-06-28  Eric Blake  <ebb9@byu.net>
116071         * modules/wcwidth: New file.
116072         * modules/mbchar (Depends-on): Add wcwidth.
116073         * modules/mbswidth (Depends-on): Add wcwidth.
116074         * MODULES.html.sh: Add wcwidth.
116076 2006-06-28  Eric Blake  <ebb9@byu.net>
116078         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
116079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
116081 2006-06-28  Eric Blake  <ebb9@byu.net>
116083         * lib/xvasprintf.h: Fix comments.
116085 2006-06-28  Eric Blake  <ebb9@byu.net>
116087         * lib/mbchar.h (wcwidth): Include wcwidth.h.
116088         * lib/mbswidth.c (wcwidth): Move from here...
116089         * lib/wcwidth.h: ...to this new file.
116091 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116093         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
116095         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
116096         it's obsolete.
116097         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
116099 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116101         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
116102         Autoconf 2.60 says this stuff was obsolete.
116104 2006-06-28  Bruno Haible  <bruno@clisp.org>
116106         * modules/wcwidth (Files): Add m4/wchar_t.m4.
116108 2006-06-28  Bruno Haible  <bruno@clisp.org>
116110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
116111         gt_TYPE_WCHAR_T.
116113 2006-06-28  Bruno Haible  <bruno@clisp.org>
116115         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
116116         declaration for wcwidth.
116117         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
116119 2006-06-28  Bruno Haible  <bruno@clisp.org>
116121         * lib/mkdtemp.c [MINGW]: Include <io.h>.
116122         (mkdir): Define using _mkdir.
116124 2006-06-28  Bruno Haible  <bruno@clisp.org>
116126         * lib/getaddrinfo.h: Fix POSIX URL.
116127         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
116128         _WIN32.
116129         (use_win32_p): Make static.
116130         (getaddrinfo): Reject service name if it is empty or does not consist
116131         solely of decimal digits, or if its value is > 65535.
116132         (getnameinfo): Remove useless casts.
116134 2006-06-27  Simon Josefsson  <jas@extundo.com>
116136         * modules/sys_select: New file, suggested by Bruno Haible, Paul
116137         Eggert and Martin Lambers.
116139 2006-06-27  Simon Josefsson  <jas@extundo.com>
116141         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
116142         Eggert and Martin Lambers.
116144 2006-06-27  Bruno Haible  <bruno@clisp.org>
116146         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
116147         result to 0, not to empty.
116148         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
116150 2006-06-27  Bruno Haible  <bruno@clisp.org>
116152         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
116154 2006-06-26  Simon Josefsson  <jas@extundo.com>
116156         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
116157         present.
116159 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
116161         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
116162         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
116163         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
116165 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
116167         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
116169 2006-06-26  Bruno Haible  <bruno@clisp.org>
116171         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
116173 2006-06-26  Bruno Haible  <bruno@clisp.org>
116175         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
116177 2006-06-26  Bruno Haible  <bruno@clisp.org>
116179         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
116180         SGI C compiler in pre-C99 mode.
116181         Suggested by Mark D. Baushke and Larry Jones.
116183 2006-06-26  Bruno Haible  <bruno@clisp.org>
116185         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
116186         WCHAR_MAX.
116187         Reported by Mark D. Baushke and Larry Jones.
116189 2006-06-26  Bruno Haible  <bruno@clisp.org>
116191         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
116192         in pre-C99 mode.
116193         Suggested by Mark D. Baushke and Larry Jones.
116195 2006-06-23  Simon Josefsson  <jas@extundo.com>
116196             Bruno Haible  <bruno@clisp.org>
116198         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
116199         Emit mostlyclean-local rule.
116200         (func_emit_tests_Makefile_am): Likewise.
116201         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
116203 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
116205         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
116207 2006-06-23  Bruno Haible  <bruno@clisp.org>
116209         * tests/test-stdint.c: Update to match ISO C 99 Technical
116210         Corrigendum 1.
116212 2006-06-23  Bruno Haible  <bruno@clisp.org>
116214         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
116216 2006-06-23  Bruno Haible  <bruno@clisp.org>
116218         * lib/stdint_.h: Treat IRIX like OpenBSD.
116220 2006-06-23  Bruno Haible  <bruno@clisp.org>
116222         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
116223         ISO C 99 Technical Corrigendum 1.
116225 2006-06-22  Simon Josefsson  <jas@extundo.com>
116227         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
116228         MinGW.
116230 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
116232         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
116233         needed.  Some compiler complained about some of them.  Problem reported
116234         by Larry Jones in
116235         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
116237 2006-06-21  Simon Josefsson  <jas@extundo.com>
116239         * tests/test-getaddrinfo.c: New file.
116241         * modules/getaddrinfo-tests: New file.
116243         * MODULES.html.sh: Add inet_pton.
116245         * modules/inet_pton: New file.
116247 2006-06-21  Simon Josefsson  <jas@extundo.com>
116249         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
116250         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
116251         of using the (limited) gnulib implementation on Windows XP.
116253         * m4/inet_pton.m4: New file.
116255 2006-06-21  Simon Josefsson  <jas@extundo.com>
116257         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
116258         variable.
116260         * lib/socket_.h: Don't define WINVER.
116262         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
116263         slightly modified to work in gnulib.
116265 2006-06-21  Simon Josefsson  <jas@extundo.com>
116267         * doc/gnulib.texi (Windows sockets): Add.
116269 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
116271         * lib/read-file.c (fread_file): Start with buffer allocation of
116272         0 bytes rather than 1 byte; this simplifies the code.
116273         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
116274         code to free buffer and save/restore errno.
116275         (internal_read_file): Remove unused local.
116277 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
116279         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
116280         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
116281         Problem reported by Denis Excoffier in
116282         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
116284 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116286         * modules/sys_socket, modules/socklen: Include sys/types since
116287         FreeBSD 4.x's sys/socket.h needs it.
116289 2006-06-19  Simon Josefsson  <jas@extundo.com>
116291         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
116293 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116295         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
116297 2006-06-19  Bruno Haible  <bruno@clisp.org>
116299         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
116300         and FULL_PATH_INTTYPES_H in angle brackets.
116301         Reported by Mark D. Baushke <mdb@gnu.org>.
116303 2006-06-17  Eric Blake  <ebb9@byu.net>
116305         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
116306         errno.
116308 2006-06-17  Bruno Haible  <bruno@clisp.org>
116310         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
116311         <sys/inttypes.h>.
116313 2006-06-17  Bruno Haible  <bruno@clisp.org>
116315         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
116316         whether errno is declared. Assume <errno.h> declares errno.
116318 2006-06-17  Bruno Haible  <bruno@clisp.org>
116320         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
116322 2006-06-17  Bruno Haible  <bruno@clisp.org>
116324         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
116325         problem on Solaris 2.5.1.
116327 2006-06-16  Eric Blake  <ebb9@byu.net>
116329         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
116330         * lib/unicodeio.c [!defined errno]: Likewise.
116331         * lib/strtol.c [!defined errno]: Likewise.
116332         * lib/strtod.c [!defined errno]: Likewise.
116334 2006-06-15  Eric Blake  <ebb9@byu.net>
116336         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
116338 2006-06-15  Eric Blake  <ebb9@byu.net>
116340         * config/srclist.txt (ssize_t.m4): Lose sync.
116342 2006-06-15  Bruno Haible  <bruno@clisp.org>
116344         * modules/stdint (Files): Include m4/full-header-path.m4,
116345         m4/size_max.m4, m4/wchar_t.m4.
116346         (Makefile.am): Many more substitutions.
116347         * modules/stdint-tests: New file.
116348         * tests/test-stdint.c: New file.
116350 2006-06-15  Bruno Haible  <bruno@clisp.org>
116352         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
116353         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
116354         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
116355         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
116356         gl_CHECK_TYPE_SAME): New macros.
116358 2006-06-15  Bruno Haible  <bruno@clisp.org>
116360         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
116362 2006-06-15  Bruno Haible  <bruno@clisp.org>
116364         * lib/stdint_.h: Rewritten to be fully auto-configured.
116365         Fixes bug on HP-UX/IA64.
116367 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
116369         * lib/getdate.y (__attribute__): Don't define if already defined.
116370         Problem reported by Larry Jones.
116371         * lib/utimens.c (__attribute__): Likewise.
116373 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
116375         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
116376         reported by Andreas Schwab.
116378 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116379             Bruno Haible  <bruno@clisp.org>
116381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
116382         check for the declaration of strnlen and a run test that exposes the
116383         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
116384         rpl_strndup.
116386 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116387             Bruno Haible  <bruno@clisp.org>
116389         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
116391 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116393         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
116394         compile test, for Tru64 4.0D.
116396 2006-05-28  Karl Berry  <karl@gnu.org>
116398         * config/srclist.txt (printf-args.c): lose sync.
116400 2006-05-26  Martin Lambers  <marlam@marlam.de>
116402         * lib/getpass.c: Updates the test for the native W32 API, and adds
116403         missing includes, thus fixing compilation warnings.
116405 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116407         * lib/exclude.c (exclude_fnmatch): New function.
116408         (excluded_file_name): Call exclude_fnmatch.
116409         * lib/exclude.h (excluded_file_name): New prototype
116411 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
116413         * lib/tempname.c (small_open, large_open): New macros.
116414         (__open, __open64) [!_LIBC]: Remove.
116415         (__gen_tempname): Use small_open and large_open instead of __open
116416         and __open64.  This fixes a portability bug on HP-UX 11.11i
116417         reported by Simon Wing-Tang in
116418         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
116420 2006-05-24  Bruno Haible  <bruno@clisp.org>
116422         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
116423         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
116424         Reported by Thorsten Maerz <torte@netztorte.de> via
116425         Aaron Stone <aaron@serendipity.cx>.
116427 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
116430         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
116431         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
116432         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
116433         not really conditional on the cache.
116434         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
116436 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116438         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
116439         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
116440         (my_usleep): Don't mishandle maximum value.
116442 2006-05-19  Jim Meyering  <jim@meyering.net>
116444         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
116446 2006-05-17  Bruno Haible  <bruno@clisp.org>
116448         Cygwin portability.
116449         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
116451 2006-05-17  Bruno Haible  <bruno@clisp.org>
116453         * lib/stdint_.h: Fix recognition of Cygwin.
116455 2006-05-15  Bruno Haible  <bruno@clisp.org>
116457         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
116458         on libtool patch by Ralf Wildenhues.
116460 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
116462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
116463         test for C99 conformance; (bool) 0.5 is an integer constant
116464         expression, but (bool) -0.5 is not.  Problem reported by Fedor
116465         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
116467 2006-05-11  Simon Josefsson  <jas@extundo.com>
116469         * m4/xvasprintf.m4: Fix obvious typo.
116471 2006-05-11  Jim Meyering  <jim@meyering.net>
116473         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
116474         James Lemley.
116476 2006-05-10  Simon Josefsson  <jas@extundo.com>
116478         * lib/md4.c: Typo fix, update copyright years.
116479         (K1, K2): Don't use L because it turn computations into 64-bit on
116480         64-bit platforms.
116482 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
116484         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
116485         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
116486         unwanted sign propagation, e.g., on hosts with 64-bit int.
116487         There still are some problems with reeelly weird theoretical hosts
116488         (e.g., 33-bit int) but it's not worth worrying about now.
116489         * lib/sha1.c (rol): Likewise.
116490         (K1, K2, K3, K4): Remove unnecessary L suffix.
116492 2006-05-10  Bruno Haible  <bruno@clisp.org>
116494         * lib/des.c: Cast to avoid warnings.
116496 2006-05-09  Bruno Haible  <bruno@clisp.org>
116498         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
116499         (Depends-on): Depend also on xsize, stdarg.
116500         (configure.ac): Add gl_XVASPRINTF.
116502 2006-05-09  Bruno Haible  <bruno@clisp.org>
116504         * m4/xvasprintf.m4: New file.
116506 2006-05-09  Bruno Haible  <bruno@clisp.org>
116508         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
116509         (EOVERFLOW): Define fallback value.
116510         (xstrcat): New function.
116511         (xvasprintf): Recognize the special case of a string concatenation.
116513 2006-05-08  Eric Blake  <ebb9@byu.net>
116515         * gnulib-tool (func_version): Base copyright year on CVS date.
116516         (func_emit_copyright_notice): New function.
116517         (func_emit_lib_Makefile_am): Use it.
116518         (func_emit_tests_Makefile_am): Likewise.
116519         (func_import): Likewise.
116521 2006-05-08  Bruno Haible  <bruno@clisp.org>
116523         * modules/stdarg: New file.
116524         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
116526 2006-05-08  Bruno Haible  <bruno@clisp.org>
116528         * m4/stdarg.m4: New file, from GNU gettext.
116530 2006-05-08  Bruno Haible  <bruno@clisp.org>
116532         * config/srclist.txt (build-aux/config.rpath): different from latest
116533         release.
116535 2006-05-08  Bruno Haible  <bruno@clisp.org>
116537         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
116539 2006-05-05  Jim Meyering  <jim@meyering.net>
116541         * m4/warning.m4: New file, derived from bison's file by the same name.
116543 2006-05-03  Bruno Haible  <bruno@clisp.org>
116545         * lib/stdint_.h: Shorter URL.
116546         * lib/inttypes.h: Likewise.
116548 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116550         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
116552 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116554         * lib/verify.h: Document the internals better.  Most of this change
116555         was written by Bruno Haible.
116557 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116559         * doc/verify.texi: New file, partly based on a proposal by
116560         Bruno Haible.
116562 2006-05-02  Bruno Haible  <bruno@clisp.org>
116564         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
116565         test from here...
116566         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
116568 2006-04-29  Bruno Haible  <bruno@clisp.org>
116570         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
116571         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
116573 2006-04-29  Bruno Haible  <bruno@clisp.org>
116575         * gnulib-tool: Make --update option actually work.
116577 2006-04-29  Bruno Haible  <bruno@clisp.org>
116579         * doc/gcd.texi: New file.
116580         * doc/gnulib.texi: Include it.
116582 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
116584         * lib/getdate.y (get_date): When adding relative date, start with the
116585         initial time, not with the result of the first mktime call.
116587 2006-04-25  Bruno Haible  <bruno@clisp.org>
116589         * gnulib-tool (func_import): Output the include directives in three
116590         blocks, sorted separately.
116591         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116593 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116595         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
116596         to define main with arguments, for C++.  Reported by Eric Blake.
116597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
116598         Prefer 'int main ()' to 'int main (void)', for C++.
116599         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
116600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
116601         for 'main', for C99 and C++.
116603 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116605         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
116606         Don't assume that exit status -1 is valid.
116607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116608         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
116609         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
116610         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
116611         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
116612         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
116613         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
116614         functions can be used without declaring them, or that you can
116615         exit with status -1.
116616         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
116618 2006-04-24  Karl Berry  <karl@gnu.org>
116620         * config/srclist.txt (longdouble.m4): sync lost.
116622 2006-04-24  Eric Blake  <ebb9@byu.net>
116624         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
116626 2006-04-24  Bruno Haible  <bruno@clisp.org>
116628         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
116629         poll() implementation in AIX.
116630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116632 2006-04-24  Bruno Haible  <bruno@clisp.org>
116634         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
116635         assigned exactly once.
116637 2006-04-23  Claudio Fontana  <claudio@gnu.org>
116638             Bruno Haible  <bruno@clisp.org>
116640         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
116641         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
116642         for AM_CPPFLAGS.
116644 2006-04-23  Bruno Haible  <bruno@clisp.org>
116646         * modules/copy-file: Depend on unistd.
116647         * modules/execute: Likewise.
116648         * modules/fatal-signal: Likewise.
116649         * modules/findprog: Likewise.
116650         * modules/mkdtemp : Likewise.
116651         * modules/pipe: Likewise.
116652         * modules/wait-process: Likewise.
116654 2006-04-23  Bruno Haible  <bruno@clisp.org>
116656         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
116657         condition was already detected.
116658         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116660 2006-04-23  Bruno Haible  <bruno@clisp.org>
116662         * lib/copy-file.c: Include <unistd.h> unconditionally.
116663         * lib/execute.c: Likewise.
116664         * lib/fatal-signal.c: Likewise.
116665         * lib/findprog.c: Likewise.
116666         * lib/mkdtemp.c: Likewise.
116667         * lib/pipe.h: Likewise.
116668         * lib/pipe.c: Likewise.
116669         * lib/wait-process.h: Likewise.
116671 2006-04-23  Bruno Haible  <bruno@clisp.org>
116673         * gnulib-tool (func_usage): Fix --import description. Document
116674         --update.
116675         (func_import): Create temporary file in a temporary directory, if
116676         --dry-run is specified. Silence errors from 'grep' when there are no
116677         m4 files in $m4dir.
116678         (func_create_testdir): Silence errors from 'grep' when there are no
116679         m4 files in $m4dir.
116680         Reported by Karl Berry <karl@freefriends.org>.
116682 2006-04-20  Bruno Haible  <bruno@clisp.org>
116684         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
116685         one argument, so that the code will be portable to Autoconf 2.60.
116686         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
116687         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116688         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
116690 2006-04-19  Derek Price  <derek@ximbiot.com>
116691             Eric Blake  <ebb9@byu.net>
116693         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
116694         rather than "/full/path.h".  Update comment to match.  Shorten &
116695         generalize m4_translit call via AS_TR_CPP.
116697 2006-04-19  Derek Price  <derek@ximbiot.com>
116698             Eric Blake  <ebb9@byu.net>
116700         * lib/inttypes.h: Correct grammar in comment.
116702 2006-04-18  Derek Price  <derek@ximbiot.com>
116703             Paul Eggert  <eggert@cs.ucla.edu>
116705         * modules/inttypes: New file.
116706         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
116708 2006-04-18  Derek Price  <derek@ximbiot.com>
116709             Paul Eggert  <eggert@cs.ucla.edu>
116711         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
116712         New files.
116714 2006-04-18  Derek Price  <derek@ximbiot.com>
116715             Paul Eggert  <eggert@cs.ucla.edu>
116717         * lib/inttypes.h: New file.
116718         * lib/strtoimax.c: Assume <inttypes.h>.
116720 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
116722         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
116723         isn't mounted.  Problem reported by Kir Kolyshkin.
116725 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
116727         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
116728         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
116729         Derek R. Price.
116730         * lib/regex.h (RE_DUP_MAX): Update comment to match current
116731         implementation.
116733 2006-04-12  Eric Blake  <ebb9@byu.net>
116735         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
116736         is now done automatically by the corresponding Autoconf macro.
116738 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
116740         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
116741         time_r.h.
116743 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116745         Merge regex changes from libc, removing some of our
116746         POSIX-conformance changes that were rejected and redoing them in a
116747         less-intrusive way.
116749         * lib/regcomp.c (re_compile_internal, init_dfa):
116750         Length arg is now size_t, not Idx.  All uses changed.
116751         (peek_token): Forward decl now says internal_function.
116752         (__re_error_msgid, __re_error_msgid_idx):
116753         Now static rather than extern with attribute_hidden.
116754         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
116755         For some reason libc prefers K&R style defns for external functions.
116756         (regerror) [!defined _LIBC]: Likewise.
116757         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
116758         (seek_collating_symbol_entry, lookup_collation_sequence_value):
116759         (build_range_exp, build_collating_symbol):
116760         Use K&R-style defn.
116761         (re_compile_fastmap): Use '\0' to memset, not 0.
116762         (utf8_sb_map): Make the calculations more obvious.
116763         (init_dfa, parse_bracket_exp, build_charclass_op):
116764         Call calloc and cast result, as glibc does.
116765         (init_word_char, fetch_token, peek_token, peek_token_bracket):
116766         (build_range_exp, build_collating_symbol):
116767         Now internal functions.
116769         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
116771         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
116772         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
116773         Don't depend on VMS; depend on __VMS instead, for POSIX
116774         namespace cleanness.
116775         (regoff_t): Define to ssize_t, not long int.
116777         Remove the REG_ macros named below.  Instead, make the old names
116778         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
116779         __USE_GNU_REGEX.
116780         (REG_BACKSLASH_ESCAPE_IN_LISTS):
116781         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
116782         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
116783         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
116784         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
116785         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
116786         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
116787         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
116788         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
116789         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
116790         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
116791         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
116792         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
116793         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
116794         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
116795         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
116796         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
116797         (REG_NREGS):
116798         Remove.  All uses replaced by the old RE_* names.
116799         (RE_BACKSLASH_ESCAPE_IN_LISTS):
116800         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
116801         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
116802         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
116803         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
116804         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
116805         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
116806         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
116807         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
116808         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
116809         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
116810         Don't bother having these macros be independent of each others'
116811         values, since they no longer exist in the POSIX name space.
116813         Rename the following member names back to their old names,
116814         unless !__USE_GNU_REGEX.  All uses changed back.
116815         (buffer): Renamed from re_buffer.
116816         (allocated): Renamed from re_allocated.
116817         (used): Renamed from re_used.
116818         (syntax): Renamed from re_syntax.
116819         (fastmap): Renamed from re_fastmap.
116820         (translate): Renamed from re_translate.
116821         (can_be_null): Renamed from re_can_be_null.
116822         (regs_allocated): Renamed from re_regs_allocated.
116823         (fastmap_accurate): Renamed from re_fastmap_accurate.
116824         (no_sub): Renamed from re_no_sub.
116825         (not_bol): Renamed from re_not_bol.
116826         (not_eol): Renamed from re_not_eol.
116827         (newline_anchor): Renamed from re_newline_anchor.
116828         (num_regs): Renamed from rm_num_regs.
116829         (start): Renamed from rm_start.
116830         (end): Renamed from rm_end.
116832         (free_state): Move up a bit.
116834         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
116835         #define to be empty.
116836         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
116837         when that is what is intended.
116838         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
116839         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
116840         (MAX): New macro.
116841         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
116842         All uses changed back to re_malloc, etc.  It's now the caller's
116843         responsibility to check for overflow; all callers changed.
116844         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
116845         (re_x2nrealloc): Remove.
116846         (free_state): Remove decl.
116848         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
116849         (re_set_registers, re_exec):
116850         Use K&R-style defn.
116852         2006-01-31  Roland McGrath  <roland@redhat.com>
116854         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
116855         Reported by Mike Frysinger <vapier@gentoo.org>.
116857         2006-01-15  Andreas Jaeger  <aj@suse.de>
116859         [BZ #1950]
116860         * lib/regex_internal.c (re_string_reconstruct): Adjust for
116861         build_wcs_upper_buffer change.
116862         (build_wcs_upper_buffer): Change return type.
116864         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
116866         * lib/regex_internal.h: Include <stdint.h> if available.
116868         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
116870         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
116872         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
116874         * lib/regcomp.c: Adjust for changed secondary hash function.
116876         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
116878         * lib/regex.h: Pretty printing.
116879         Clean up namespace a bit.
116881         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
116883         * lib/regexec.c (update_cur_sifted_state, check_arrival,
116884         check_arrival_add_next_nodes): Avoid using uninitialized variable.
116886         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
116887                     Ulrich Drepper  <drepper@redhat.com>
116889         [BZ #1302]
116890         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
116891         changed.
116892         (bitset_word_t): Renamed from bitset_word.  All uses changed.
116894         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
116896         [BZ #281]
116897         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
116898         * lib/regcomp.c: Remove unnecessary uses of
116899         unsigned RE_TRANSLATE_TYPE.
116900         * lib/regex_internal.h: Likewise.
116901         * lib/regex_internal.c: Likewise.
116902         * lib/regexec.c: Likewise.
116903         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
116905         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
116907         * lib/regexec.c (find_recover_state): Remove unnecessary
116908         initialization.
116909         (transit_state_bkref): Make DFA a const pointer.
116910         (get_subexp): Likewise.
116911         (check_arrival): Likewise.
116912         (update_cur_sifted_state): Likewise.
116913         (re_search_internal): Likewise.
116914         (prune_impossible_nodes): Likewise.
116915         (acquire_init_state_context): Likewise.
116916         (proceed_next_node): Likewise.
116917         (set_regs): Likewise.
116918         (free_fail_stack_return): Likewise.
116919         (check_arrival_expand_ecl): Mark DFA parameter as const.
116920         (check_arrival_expand_ecl_sub): Likewise.
116921         (check_subexp_limits): Likewise.
116922         (sub_epsilon_src_nodes):  Likewise.
116923         (add_epsilon_src_nodes):  Likewise.
116924         (merge_state_array): Likewise.
116925         (update_regs): Likewise.
116926         (build_trtable): Likewise.
116927         (sift_states_backward): Mark MCTX parameter as const.
116928         (build_sifted_states): Likewise.
116929         (update_cur_sifted_state): Likewise.
116930         (sift_states_mkref): Likewise.
116931         (check_arrival_expand_ecl): Mark eclosure as const.
116932         (check_dst_limits_calc_pos_1): Likewise.
116933         * lib/regex_internal.h (re_match_context_t): Make dfa a const
116934         pointer.
116936         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
116938         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
116939         (transit_state_sb): Likewise.
116940         (transit_state_mb): Likewise.
116941         (sift_states_iter_mb): Likewise.
116942         (check_arrival_add_next_nodes): Likewise.
116943         (check_node_accept_bytes): Change first parameter to pointer-to-const.
116944         [_LIBC] (re_search_2_stub): Use mempcpy.
116946         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
116947         mbrtowc for very simple UTF-8 case.
116949         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
116950         a pointer-to-const.
116951         (re_acquire_state_context): Likewise.
116952         * lib/regex_internal.h: Adjust prototypes.
116954         * lib/regex.c: Prevent using C++ compilers.
116956         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
116957         (re_acquire_state_context): Likewise.
116959 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116961         * modules/regex (Depends-on): Add ssize_t.
116963 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116965         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
116966         translation table.
116968 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116970         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
116972 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
116973             Bruno Haible  <bruno@clisp.org>
116975         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
116976         <sys/types.h> and <inttypes.h>.
116978 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116980         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
116981         `__error_t_defined', so argp.h will not typedef the former.
116983 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
116985         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
116986         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
116987         glibc names.  Even if glibc is changed to conform to POSIX, the
116988         traditional names will be available anyway, since regex depends on
116989         the extensions module.  Also, fix a longstanding typo in the
116990         implementation of Spencer ERE test #75 from grep 2.3.  Problems
116991         reported by Emanuele Giaquinta.  Also, change sense of cached
116992         variable, so that the message makes sense.
116994 2006-03-24  Simon Josefsson  <jas@extundo.com>
116996         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
116997         including some doc fixes.
116998         (base64_encode_alloc): Fix +1 bug on allocation failures.
117000 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117002         * lib/base64.c (base64_encode): Do not read past end of array with
117003         unsanitized input on systems with CHAR_BIT > 8.
117005 2006-03-24  Eric Blake  <ebb9@byu.net>
117007         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
117009 2006-03-22  Karl Berry  <karl@gnu.org>
117011         * config/srclist.txt (*setenv.[ch]): get from coreutils.
117012         * config/srclistvars.sh (COREUTILS): new var.
117014 2006-03-17  Jim Meyering  <jim@meyering.net>
117016         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
117017         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
117019 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117021         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
117022         no longer needs it.  Instead, check that regoff_t is as least
117023         as wide as ptrdiff_t.
117025         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
117026         so that our regex.h stays compatible with the installed regex.
117027         This is helpful for installers who configure --without-included-regex.
117028         Problem reported by Emanuele Giaquinta.
117030 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117032         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
117033         Typedef to long int, not to off_, as POSIX will likely change
117034         in that direction.
117036 2006-03-15  Eric Blake  <ebb9@byu.net>
117038         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
117040 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117042         * lib/argp-help.c (validate_uparams): Fix typo
117043         * lib/argp-parse.c (argp_default_options): Consistently begin help
117044         messages with a lowercase letter.
117046 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
117048         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
117049         overrun buffers and shouldn't be used (much as gets shouldn't be
117050         used).
117051         * lib/time_r.c (asctime_r, ctime_r): Likewise.
117053 2006-03-08  Simon Josefsson  <jas@extundo.com>
117055         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
117056         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117058 2006-03-08  Simon Josefsson  <jas@extundo.com>
117060         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
117061         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117063 2006-03-08  Simon Josefsson  <jas@extundo.com>
117065         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
117066         signal that configure disabled the device.
117068 2006-03-08  Simon Josefsson  <jas@extundo.com>
117070         * build-aux/maint.mk: Fix refresh-po, to handle no translated
117071         languages.
117073 2006-03-07  Simon Josefsson  <jas@extundo.com>
117075         * modules/getopt (Depends-on): Add unistd.
117077         * modules/unistd: New file.
117079 2006-03-07  Simon Josefsson  <jas@extundo.com>
117081         * modules/gc-random: New file.
117083 2006-03-07  Simon Josefsson  <jas@extundo.com>
117085         * m4/unistd_h.m4: New file.
117087 2006-03-07  Simon Josefsson  <jas@extundo.com>
117089         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
117090         test to be side-effect free by storing the result in the cache
117091         variable gl_cv_lib_readline, and moving the assignment of
117092         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
117093         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117095 2006-03-07  Simon Josefsson  <jas@extundo.com>
117097         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
117098         error on missing devices (the functions will return an error).
117100         * m4/gc.m4: Move random stuff to gc-random.m4
117102 2006-03-07  Simon Josefsson  <jas@extundo.com>
117104         * lib/unistd_.h: New file.
117106 2006-03-07  Simon Josefsson  <jas@extundo.com>
117108         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
117110 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117112         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
117113         Problem reported by Juan Manuel Guerrero.
117115 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117117         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
117118         the unistd module.
117119         * lib/getlogin_r.c: Likewise.
117120         * lib/getlogin_r.h: Likewise.
117121         * lib/glob.c: Likewise.
117122         * lib/pagealign_alloc.c: Likewise.
117123         * lib/unistd_.h: Remove; no longer needed.
117125 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117127         * MODULES.html.sh (Support for systems lacking POSIX:2001):
117128         Add unistd.
117129         * modules/c-stack (Depends-on): Add unistd.
117130         * modules/getlogin_r: Likewise.
117131         * modules/glob: Likewise.
117132         * modules/pagealign_alloc: Likewise.
117133         * modules/unistd (Files): Remove lib/unistd_.h.
117134         (EXTRA_DIST): Remove.
117135         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
117136         need unistd_.h.
117137         (MOSTLYCLEANFILES): Remove unistd.h-t.
117139 2006-03-03  Simon Josefsson  <jas@extundo.com>
117141         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
117143 2006-03-03  Simon Josefsson  <jas@extundo.com>
117145         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
117146         libidn and bison.
117148 2006-03-03  Simon Josefsson  <jas@extundo.com>
117150         * build-aux/maint.mk: Add indent target.
117152 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
117154         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
117155         our replacement poll.h in any case, to avoid a differing
117156         declaration from a system header.  Seen on AIX.
117158 2006-03-01  Simon Josefsson  <jas@extundo.com>
117160         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
117161         <kasal@ucw.cz>.
117163 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117165         * modules/gettime (Depends-on): Add extensions module.
117166         * modules/nanosleep (Depends-on): Likewise.
117167         * modules/settime (Depends-on): Likewise.
117169 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117171         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
117172         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
117173         pedantically.
117174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117175         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
117177         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
117178         not "==".  Reported by Ralf Wildenhues.
117180 2006-03-01  Karl Berry  <karl@gnu.org>
117182         * doc/Copyright/request-*: new files, synced from gnuorg.
117184 2006-03-01  Karl Berry  <karl@gnu.org>
117186         * config/srclist.txt (Copyright/*): new entries.
117188 2006-02-28  Simon Josefsson  <jas@extundo.com>
117190         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
117192 2006-02-27  Simon Josefsson  <jas@extundo.com>
117194         * lib/base64.h: Indent #define's.  From Jim Meyering
117195         <jim@meyering.net>.
117197 2006-02-27  Jim Meyering  <jim@meyering.net>
117199         Revert the change of 2006-02-24, so these files can continue
117200         to be sync'd from gettext.
117201         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
117202         of `config.h'.
117204 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
117206         * modules/intprops: New file.
117207         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
117208         Add intprops.
117209         * modules/getloadavg (Files): Remove lib/intprops.h.
117210         (Depends-on): Add intprops.
117211         * modules/human: Likewise.
117212         * modules/inttostr: Likewise.
117213         * modules/openat: Likewise.
117214         * modules/sig2str: Likewise.
117215         * modules/userspec: Likewise.
117216         * modules/utimecmp: Likewise.
117217         * modules/xnanosleep: Likewise.
117218         * modules/xstrtol: Likewise.
117220 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
117222         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
117223         * modules/lock-tests (TESTS): Use $(EXEEXT).
117224         * modules/tls-tests: Likewise.
117225         * modules/argp-tests: Likewise.
117226         (check_PROGRAMS): New var, replacing...
117227         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
117229 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117231         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
117232         `config.h'.
117234 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
117236         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
117238 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117240         Sync from coreutils.
117241         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
117242         gl_CHDIR_SAFER.
117244 2006-02-22  Jim Meyering  <jim@meyering.net>
117246         Sync from coreutils.
117247         * m4/chdir-safer.m4: New file.
117249 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
117251         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
117252         AT_FDCWD exceeds INT_MAX.
117253         * lib/openat.h (AT_FDCWD): Likewise.
117255 2006-02-17  Eric Blake  <address@hidden>
117257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
117259 2006-02-16  Simon Josefsson  <jas@extundo.com>
117261         * modules/getaddrinfo (Depends-on): Add sys_socket.
117263 2006-02-15  Simon Josefsson  <jas@extundo.com>
117265         * build-aux/maint.mk: Add dsyntax-check rule.
117267 2006-02-15  Eric Blake  <ebb9@byu.net>
117269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
117270         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
117271         'present but cannot compile' warnings on cygwin.
117272         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
117273         use ws2tcpip.h if sys/socket.h works.
117274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
117275         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
117277 2006-02-14  Simon Josefsson  <jas@extundo.com>
117279         * modules/maintainer-makefile (Files): Rename.
117281         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
117282         and (the local) Makefile.cfg to maint-cfg.mk.
117284         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
117285         to the latter.
117287         * modules/maintainer-makefile: New module.
117289         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
117290         severaly stripped to make it possible to build it up from scratch
117291         with reliable tests.
117293         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
117294         fixes to permit overriding the default actions when configure and
117295         makefile are not available.
117297 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
117299         Sync from coreutils.
117300         * modules/lstat (Depends-on): Don't depend on xalloc.
117301         (License): Change from GPL to LGPL, since this is now simply a
117302         replacement for a libc function.
117304 2006-02-14  Jim Meyering  <jim@meyering.net>
117306         Sync from coreutils.
117308         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
117309         failure on deficient systems, and simplify gnulib lgpl dependencies.
117310         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
117311         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
117313         * lib/xalloc-die.c: Remove unused definition of N_.
117315 2006-02-14  Jim Meyering  <jim@meyering.net>
117317         Sync from coreutils.
117318         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
117319         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
117320         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
117321         double-quote uses of that variable, to accommodate the rare case in
117322         which getmntent is available in none of the libraries checked.  This
117323         happens at least on FreeBSD 5.0.
117325 2006-02-13  Simon Josefsson  <jas@extundo.com>
117327         * gnulib-tool (Usage): Fix --import, from
117328         karl@freefriends.org (Karl Berry).
117330 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117332         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
117334 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
117336         * lib/argp-namefrob.h: Restore changes accidentally lost during the
117337         "autoupdate" on 2005-12-12.
117339 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117341         * modules/closeout (Depends-on): Remove atexit.
117343 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117345         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
117346         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
117348 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
117350         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
117351         __EXTENSIONS__ if this causes compilation to fail.  Problem
117352         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
117353         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
117355 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117357         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
117358         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
117359         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
117360         All uses changed.
117362 2006-01-26  Simon Josefsson  <jas@extundo.com>
117364         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
117365         prototype is visible on mingw32.
117367         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
117368         for mingw32.
117370         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
117371         mingw32).
117373 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117375         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
117376         attempt to open for write; this always fails, at least on POSIX
117377         hosts.  This reinstates the 2006-01-09 change, which was
117378         inadvertently removed.
117380 2006-01-26  Bruno Haible  <bruno@clisp.org>
117382         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
117383         Reported by Paul Eggert.
117385 2006-01-26  Bruno Haible  <bruno@clisp.org>
117386             Paul Eggert  <eggert@cs.ucla.edu>
117388         * lib/stdbool_.h (_Bool)
117389         [(! (defined __cplusplus || defined __BEOS__)
117390           && !defined __GNUC__
117391           && !(defined __HP_cc || defined __xlc__
117392                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
117393                || defined __sgi))]:
117394         #define to signed char in these cases too; this simplifies
117395         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
117396         etc., separately) and makes it more conservative.
117398 2006-01-25  Simon Josefsson  <jas@extundo.com>
117400         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
117401         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
117402         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
117404 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117406         * lib/argp-namefrob.h: Bugfix. Remove stray #
117408 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
117410         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
117411         so that we test the test.
117412         Check for yet another HP-UX cc bug involving *bool |= bool.
117414 2006-01-25  Karl Berry  <karl@gnu.org>
117416         * config/srclist.txt (vasnprintf.c): sync lost.
117418 2006-01-25  Jim Meyering  <jim@meyering.net>
117420         Sync from the stable (b5) branch of coreutils:
117422         * lib/fts.c (fts_children): Don't let close() clobber errno from
117423         failed fchdir().
117425         * lib/fts.c (fts_stat): When following a symlink-to-directory,
117426         don't necessarily interpret stat-fails+lstat-succeeds as indicating
117427         a dangling symlink.  That can also happen at least for ELOOP.
117428         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
117429         FYI, this bug predates the inclusion of fts.c in coreutils.
117431         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
117432         in their own block, so pre-c99 compilers don't object.
117434         Avoid the double-free (first in fts_read, second in fts_close) that
117435         would occur when an `active' directory is made inaccessible (e.g.,
117436         via chmod a-x) during a traversal.
117437         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117438         before returning.  Reproduce this failure by
117439         mkdir -p a/b; cd a; chmod a-x . b
117440         Reported by Stavros Passas.
117442 2006-01-25  Jim Meyering  <jim@meyering.net>
117444         * lib/fileblocks.c: Remove more useless parentheses.
117445         * lib/readutmp.h: Likewise.
117447 2006-01-25  Bruno Haible  <bruno@clisp.org>
117449         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
117450         warnings.
117451         Reported by Paul Eggert.
117453 2006-01-25  Bruno Haible  <bruno@clisp.org>
117455         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
117456         rid of a trap command. For Solaris sh.
117457         Reported by Mark D. Baushke <mdb@gnu.org>.
117459 2006-01-24  Simon Josefsson  <jas@extundo.com>
117461         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
117462         Bruno.
117464 2006-01-24  Karl Berry  <karl@gnu.org>
117466         * config/srclist.txt (argp-namefrob.h): sync lost.
117468 2006-01-24  Jim Meyering  <jim@meyering.net>
117470         * modules/openat (Files): Add lib/intprops.h.
117471         From Mark D. Baushke.
117473 2006-01-24  Jim Meyering  <jim@meyering.net>
117475         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
117476         Reported by Mark D. Baushke.
117478 2006-01-24  Jim Meyering  <jim@meyering.net>
117480         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
117482 2006-01-24  Bruno Haible  <bruno@clisp.org>
117484         * modules/strnlen (Maintainer): Change from glibc to all.
117486 2006-01-24  Bruno Haible  <bruno@clisp.org>
117488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
117489         Patch by Paul Eggert.
117491 2006-01-24  Bruno Haible  <bruno@clisp.org>
117493         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
117494         already has it.
117495         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
117496         2005-11-26.
117498         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
117499         'signed char' to avoid problems with the built-in _Bool type.
117500         Reported by Paul Eggert on 2005-11-26.
117502 2006-01-24  Bruno Haible  <bruno@clisp.org>
117504         * gnulib-tool (func_import): Avoid constructing complicated sed
117505         expressions inside backquote.
117506         Report and solution by Mark D. Baushke <mdb@gnu.org>.
117508 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
117510         These changes imported from libc.
117511         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
117512         test and two separate function calls.
117513         * lib/strndup.c (__strndup): Add libc_hidden_def.
117515 2006-01-23  Simon Josefsson  <jas@extundo.com>
117517         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
117518         Remove the test_*_SOURCES variable: automake infers it by default.
117519         * modules/tls-tests: Likewise.
117521 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117523         Work around porting bugs reported by Dieter in
117524         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
117525         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
117526         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
117527         Include "getopt.h" first, to check interface.
117528         (getenv): Declare only if defined HAVE_DECL_GETENV &&
117529         !HAVE_DECL_GETENV.
117530         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
117531         (__strndup): Revert to K&R-style function dfns, the glibc style.
117532         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
117533         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
117534         Include strnlen.h first, to get prototype properly.
117535         (strnlen): Renamed from __strnlen.
117536         Remove weak alias.
117538 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117540         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
117542 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117544         * config/srclist.txt: Adjust to reflect glibc reorganization.
117545         This affects only comments.
117547 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
117549          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
117550          Reported by Bruce Korb <bkorb@gnu.org>.
117552 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
117554         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
117555         to pacify gcc -Wswitch-default.
117557 2006-01-22  Bruno Haible  <bruno@clisp.org>
117559         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
117560         temporary buffer for sprintf, take into account the precision also
117561         for 'd', 'i', 'u', 'o', 'x', 'X'.
117563 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117565         * modules/argp-tests: New module
117566         * tests/test-argp.c: New file
117567         * tests/test-argp-2.sh: New file
117569 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117571         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
117572         (__argp_base_name): Removed
117573         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
117574         typo.
117575         (__argp_base_name): Provide macro definition or extern declaration
117576         depending on the configuration
117578 2006-01-20  Simon Josefsson  <jas@extundo.com>
117580         * modules/inet_ntop (Depends-on): Depend on sys_socket.
117582 2006-01-20  Simon Josefsson  <jas@extundo.com>
117584         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
117586 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117588         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
117589         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
117590         Suggested by Bruno Haible.
117592 2006-01-20  Karl Berry  <karl@gnu.org>
117594         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
117595         until changes propagate, I guess.
117597 2006-01-19  Simon Josefsson  <jas@extundo.com>
117599         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
117601 2006-01-19  Simon Josefsson  <jas@extundo.com>
117603         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
117605 2006-01-19  Simon Josefsson  <jas@extundo.com>
117607         * gnulib-tool: Set check_PROGRAMS.
117609         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117610         modules/des-tests, modules/gc-arcfour-tests,
117611         modules/gc-arctwo-tests, modules/gc-des-tests,
117612         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117613         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117614         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117615         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117616         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117617         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
117618         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
117619         test_*_SOURCES.
117621 2006-01-18  Simon Josefsson  <jas@extundo.com>
117623         * modules/socklen (Depends-on): Depend on sys_socket.
117625 2006-01-18  Simon Josefsson  <jas@extundo.com>
117627         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117628         modules/des-tests, modules/gc-arcfour-tests,
117629         modules/gc-arctwo-tests, modules/gc-des-tests,
117630         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117631         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117632         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117633         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117634         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117635         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
117636         $(EXEEXT) to automake TESTS variable, for mingw32.
117638 2006-01-17  Simon Josefsson  <jas@extundo.com>
117640         * modules/socklen (Include): Need sys/socket.h.
117642 2006-01-17  Bruno Haible  <bruno@clisp.org>
117644         * modules/ssize_t (Include): Add <sys/types.h>.
117646 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
117648         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
117649         it's not portable and it doesn't work with cross-compiles.
117650         Problem reported by Bruno Haible.  Fix missing-$ typo in
117651         'test "gl_cv_ignore_unused_libraries" ...' that prevented
117652         -zignore from being used with Sun's C compiler.
117654 2006-01-12  Simon Josefsson  <jas@extundo.com>
117656         * lib/base64.c: Fix warning, reported by Bruno Haible
117657         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
117659 2006-01-12  Bruno Haible  <bruno@clisp.org>
117661         * modules/ldd: New file.
117662         * build-aux/ldd.sh.in: New file.
117663         * MODULES.html.sh (Support for building libraries and executables): Add
117664         ldd.
117666 2006-01-12  Bruno Haible  <bruno@clisp.org>
117668         * m4/ldd.m4: New file.
117670 2006-01-12  Bruno Haible  <bruno@clisp.org>
117672         * gnulib-tool (func_import, func_create_testdir): Don't go into an
117673         endless loop while replacing $auxdir with build-aux.
117675 2006-01-11  Simon Josefsson  <jas@extundo.com>
117677         * lib/stdint_.h (SIZE_MAX): Add missing (.
117679 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
117681         Sync from coreutils.
117682         * lib/md5.c: Fix commentary typos.
117683         (alignof, UNALIGNED_P): No need for a GCC-specific version.
117684         * lib/md5.h (__attribute__): Remove; unused.
117685         * lib/sha1.c: Fix commentary to match md5 better.
117686         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
117687         so that we don't need to worry about alignment.  All uses changed.
117688         This merges the 2005-10-28 md5 change into sha1.
117690 2006-01-11  Jim Meyering  <jim@meyering.net>
117692         Sync from coreutils.
117693         * lib/md5.c (OP): Fix spacing.
117695 2006-01-11  Bruno Haible  <bruno@clisp.org>
117697         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117698         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
117699         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
117701 2006-01-11  Bruno Haible  <bruno@clisp.org>
117703         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117704         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
117705         the "early" section as well.
117707 2006-01-11  Bruno Haible  <bruno@clisp.org>
117709         Avoid "ar: no archive members specified" error on MacOS X.
117710         * gnulib-tool (func_modules_add_dummy): New function.
117711         (func_import, func_create_testdir): Invoke it.
117713 2006-01-11  Bruno Haible  <bruno@clisp.org>
117715         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
117716         with $auxdir in AC_CONFIG_FILES statements.
117718 2006-01-11  Bruno Haible  <bruno@clisp.org>
117720         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
117721         Initialize also noinst_HEADERS to empty.
117723 2006-01-11  Bruno Haible  <bruno@clisp.org>
117725         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
117726         variables.
117727         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
117728         autoreconf.
117730 2006-01-11  Bruno Haible  <bruno@clisp.org>
117732         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
117733         overridable by the user.
117734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117736 2006-01-10  Simon Josefsson  <jas@extundo.com>
117738         * modules/sys_socket: New file.
117740 2006-01-10  Simon Josefsson  <jas@extundo.com>
117742         * m4/sys_socket_h.m4: New file.
117744 2006-01-10  Simon Josefsson  <jas@extundo.com>
117746         * lib/socket_.h: New file.
117748 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117750         * modules/readutmp (Maintainer): Add myself.
117752 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117754         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
117755         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
117756         People who are still concerned with buggy memcmp implementations
117757         can invoke gl_FUNC_MEMCMP themselves.
117759 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117761         * lib/regex_internal.h (BITSET_WORD_BITS):
117762         Work around a bug in 64-bit PGC (before version 6.1-2), where the
117763         preprocessor mishandles large unsigned values as if they were signed.
117764         Problem reported by Claudio Fontana in
117765         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
117767 2006-01-10  Jim Meyering  <jim@meyering.net>
117769         Avoid the double-free (first in fts_read, second in fts_close) that
117770         would occur when an `active' directory is made inaccessible (e.g.,
117771         via chmod a-x) during a traversal.
117772         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117773         before returning.  Reproduce this failure by
117774         mkdir -p a/b; cd a; chmod a-x . b
117775         Reported by Stavros Passas.
117777         Sync from coreutils.
117778         * lib/sha1.c: Tweak grammar in a comment.
117780 2006-01-10  Jim Meyering  <jim@meyering.net>
117782         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
117783         Patch by Joerg Sonnenberger.
117785 2006-01-10  Bruno Haible  <bruno@clisp.org>
117787         * modules/readutmp: Depend on module free.
117788         * modules/strtok_r: Depend on module restrict.
117790 2006-01-10  Bruno Haible  <bruno@clisp.org>
117792         * modules/gettext (configure.ac): Add an invocation of
117793         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
117795 2006-01-10  Bruno Haible  <bruno@clisp.org>
117797         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
117798         Reported by Werner Lemberg <wl@gnu.org>.
117800 2006-01-10  Bruno Haible  <bruno@clisp.org>
117802         * lib/localcharset.c: Update from GNU gettext.
117804 2006-01-10  Bruno Haible  <bruno@clisp.org>
117806         * lib/argp.h (__const): Remove macro. Use const instead.
117807         * lib/argp-fmtstream.h (__const): Likewise.
117808         * lib/glob_.h (__const): Remove macro.
117809         * lib/glob-libc.h: Use const instead of __const.
117811 2006-01-10  Bruno Haible  <bruno@clisp.org>
117813         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
117814         variable.
117815         Needed to avoid an automake error regarding the 'gettext' module.
117817 2006-01-09  Simon Josefsson  <jas@extundo.com>
117819         * modules/inet_ntop (Depends-on): Add restrict.
117821 2006-01-09  Simon Josefsson  <jas@extundo.com>
117823         * modules/gc-rijndael-tests (License): Put under LGPL.
117825         * modules/gc-des-tests (License): Likewise.
117827         * modules/gc-arcfour-tests (License): Likewise.
117829         * modules/gc-arctwo-tests (License): Likewise.
117831         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
117833         * modules/gc-hmac-sha1-tests (Files): Likewise.
117835         * modules/gc-hmac-md5-tests (License): Likewise.
117837         * modules/gc-sha1-tests (License): Likewise.
117839         * modules/gc-md5-tests (License): Likewise.
117841         * modules/gc-md4-tests (License): Likewise.
117843         * modules/gc-md2-tests (License): Likewise.
117845         * modules/gc-tests (License): Likewise.
117847         * modules/des-tests (License): Likewise.
117849         * modules/md4-tests (License): Likewise.
117851         * modules/md2-tests (License): Likewise.
117853 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117855         Sync from coreutils:
117857         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
117858         * modules/lib-ignore: New file.
117859         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
117860         chdir-safer.m4, lchmod.m4.
117861         * modules/openat: Add mkdirat.c, openat-priv.h.
117863 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117865         Sync from coreutils.
117866         * m4/lib-ignore.m4: New file.
117867         * m4/lchmod.m4: New file.
117869 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117871         Sync from coreutils.
117872         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
117873         for write access: POSIX says that must fail.
117874         * lib/fts.c (diropen): Likewise.
117875         * lib/save-cwd.c (save_cwd): Likewise.
117876         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
117877         well, for minor improvements on hosts that lack O_DIRECTORY.
117878         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
117879         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
117880         Fall back on chown if open failed with EACCES.
117882         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
117883         Report an error at compile-time if only a 1-second nominal clock
117884         resolution is found.
117886         * lib/lchmod.h: New file.
117887         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
117888         (make_dir_parents): Use lchown rather than chown, and
117889         lchmod rather than chmod.
117891         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
117892         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
117893         "proc" reported by n0dalus.
117895         * lib/mountlist.c: Include <limits.h>.
117896         (dev_from_mount_options)
117897         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
117898         New function.  It no longer assumes "dev=" has the System V meaning
117899         on Linux (since it doesn't).  It also parses "dev=" more carefully.
117900         (read_file_system_list)
117901         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
117902         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
117903         dev= in that case.
117905         * lib/posixtm.h (PDS_PRE_2000): New macro.
117906         * lib/posixtm.c (year): Arg is now syntax_bits rather than
117907         allow_century.  All usages changed.  Reject dates outside the range
117908         1969-1999 if PDS_PRE_2000 is used.
117910 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117912         Sync from coreutils.
117913         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
117914         (Time of day items): Mention the possibility of leap seconds.
117915         Problem reported by Dr. David Alan Gilbert.
117917 2006-01-09  Jim Meyering  <jim@meyering.net>
117919         Sync from coreutils.
117921         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
117923         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
117925         * lib/modechange.c (mode_compile): Reject an invalid mode string
117926         that starts with an octal digit.  From Andreas Gruenbacher.
117928         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
117929         and dup to open_safer and dup_safer, respectively.
117930         (openat_permissive): Fix typo in comment.
117932         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
117933         "gettext.h"; either no longer needed or are guaranteed by openat.h.
117934         (_): Remove; no longer needed.
117935         (openat): Renamed from rpl_openat; no need for rpl_openat
117936         since openat.h renames openat for us.
117937         Replace most of the body with a call to openat_permissive,
117938         to avoid duplicate code.
117939         Port to (probably hypothetical) environments were mode_t is
117940         wider than int.
117941         (openat_permissive): Require mode arg, so that we can check
117942         types better.  Put it just after flags.  Change cwd failure
117943         indicator from pointer-to-bool to pointer-to-errno-value.
117944         All callers changed.
117945         Invoke openat_save_fail and/or openat_restore_fail if
117946         cwd_errno is null, so that openat can call us.
117947         (openat_permissive, fdopendir, fstatat, unlinkat):
117948         Simplify errno handling to avoid some duplicate code,
117949         as it's OK to set errno on success.
117950         * lib/openat.h: Revamp code so that function macros depend on
117951         __OPENAT_PREFIX only, not also on AT_FDCWD.
117952         (openat_ro): Remove.  Caller changed to use openat_permissive.
117953         (openat_permissive): Now a macro, if not a function.
117954         (openat_restore_fail, openat_save_fail): Now always functions,
117955         since mkdirat needs them even if __OPENAT_PREFIX is defined.
117957         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
117958         and openat.c.
117959         * lib/mkdirat.c: Include openat-priv.h.
117960         Remove definitions of macros defined therein.
117961         * lib/openat.c: Likewise.
117963         * lib/mkdirat.c (mkdirat): New file and function.
117964         * lib/openat.h (mkdirat): Declare.
117966         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
117968         * lib/openat.h (openat_permissive): Declare.
117969         (openat_ro): Define.
117971         * lib/openat.c (EXPECTED_ERRNO): New macro.
117972         (openat_permissive): New function -- used in remove.c rewrite.
117973         (all functions): Set errno just before returning, only if there
117974         was an actual failure.
117975         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
117977         Emulate openat-family functions using Linux's procfs, if possible.
117978         Idea and some code based on Ulrich Drepper's glibc changes.
117980         * lib/openat.c: (BUILD_PROC_NAME): New macro.
117981         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
117982         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
117983         before falling back on save_cwd and restore_cwd.
117984         (fdopendir, fstatat, unlinkat): Likewise.
117986         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
117987         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
117989         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
117990         as second argument to va_arg.  Otherwise, some versions of gcc
117991         warn that `if this code is reached, the program will abort'.
117993 2006-01-09  Jim Meyering  <jim@meyering.net>
117995         Sync from coreutils.
117996         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
117997         Require openat-priv.h.
117999 2006-01-09  Bruno Haible  <bruno@clisp.org>
118001         * modules/strnlen (Include): Use strnlen.h.
118003 2006-01-09  Bruno Haible  <bruno@clisp.org>
118005         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
118007 2006-01-09  Bruno Haible  <bruno@clisp.org>
118009         * lib/sysexit_.h (EX_OK): New macro.
118010         Suggested by Martin Lambers <marlam@marlam.de>.
118012 2006-01-09  Bruno Haible  <bruno@clisp.org>
118014         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
118015         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
118017 2006-01-09  Bruno Haible  <bruno@clisp.org>
118019         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
118020         numbers.
118022 2006-01-09  Bruno Haible  <bruno@clisp.org>
118024         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
118025         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
118026         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
118027         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
118029 2006-01-09  Bruno Haible  <bruno@clisp.org>
118031         * build-aux/javacomp.sh.in: New file, moved from lib/.
118032         * modules/javacomp-script (Files): Update.
118033         (configure.ac): Add AC_CONFIG_FILES invocation.
118034         (EXTRA_DIST): Remove variable.
118036         * build-aux/javaexec.sh.in: New file, moved from lib/.
118037         * modules/javaexec (Files): Update.
118038         (configure.ac): Add AC_CONFIG_FILES invocation.
118039         (EXTRA_DIST): Remove javaexec.sh.in.
118041         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
118042         * modules/csharpcomp-script (Files): Update.
118043         (configure.ac): Add AC_CONFIG_FILES invocation.
118044         (EXTRA_DIST): Remove variable.
118046         * build-aux/csharpexec.sh.in: New file, moved from lib/.
118047         * modules/csharpexec (Files): Update.
118048         (configure.ac): Add AC_CONFIG_FILES invocation.
118049         (EXTRA_DIST): Remove csharpexec.sh.in.
118051 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118053         Sync from coreutils.
118055         Add POSIX ACL support
118056         * lib/acl.h (copy_acl, set_acl): Add declarations.
118057         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
118058         systems other than Linux.
118059         (chmod_or_fchmod): New function: use fchmod when possible,
118060         and chmod otherwise.
118061         (file_has_acl): Add a POSIX ACL implementation, with a
118062         Linux-specific subcase.
118063         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
118064         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
118065         acls are unsupported.
118066         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
118067         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
118068         are unsupported.
118070 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118072         Sync from coreutils.
118073         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
118075 2006-01-07  Bruno Haible  <bruno@clisp.org>
118077         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
118078         gl_EARLY.
118080 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118082         * lib/strftime.c (tzname): Don't declare if it is already #defined.
118083         Problem reported for Mingw by Mark Junker.
118085 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118087         * README: Gnulib normally doesn't generate a tarball.
118089 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
118091         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
118092         long int, not int, for nanosecond counts, so that people who are
118093         used to POSIX struct timespec won't be surprised.  Reported by Jim
118094         Meyering.
118096 2005-12-28  Bruno Haible  <bruno@clisp.org>
118098         * build-aux/config.rpath: Update from GNU gettext.
118100 2005-12-16  Jim Meyering  <jim@meyering.net>
118102         * modules/fprintftime: New module.
118103         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
118105 2005-12-16  Jim Meyering  <jim@meyering.net>
118107         * m4/fprintftime.m4: New file.
118109 2005-12-16  Jim Meyering  <jim@meyering.net>
118111         * lib/fprintftime.c, lib/fprintftime.h: New files.
118113 2005-12-15  Simon Josefsson  <jas@extundo.com>
118115         * modules/socklen (configure.ac): Fix M4 macro name, to align with
118116         new m4/socklen.m4.
118118 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118120         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
118121         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
118123 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118125         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
118126         * lib/argp-help.c (fill_in_uparams): Check if the constructed
118127         struct uparams is valid. Fall back to the default values if it is
118128         not.
118130 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118132         * modules/argp (Files): Add argp-pin.c
118133         (Depends-on): dirname
118134         (lib_SOURCES): Add argp-pin.c
118136 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118138         * m4/argp.m4:  Check if program_invocation_name and
118139         program_invocation_short_name are declared and define appropriate
118140         macros if they are not.
118142 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118144         * lib/argp-help.c (__argp_base_name): New function
118145         (__argp_short_program_name): Rewrite using __argp_base_name
118146         * lib/argp-namefrob.h: Define program_invocation_name and
118147         program_invocation_short_name if requested
118148         (__argp_base_name): Add prototype
118149         * lib/argp-parse.c (argp_def): Use gettext wrappers
118150         (argp_default_parser): Use __argp_base_name
118151         * lib/argp-pin.c: New file. Defines program_invocation_name and
118152         program_invocation_short_name on systems that lack them.
118154 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118156         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
118157         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118158         porting problem reported by Georg Schwarz in
118159         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118161 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118163         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
118164         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118165         porting problem reported by Georg Schwarz in
118166         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118168 2005-12-05  Bruno Haible  <bruno@clisp.org>
118170         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
118171         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
118172         Reported by Mark Junker <mjscod@gmx.de>.
118174 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
118176         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
118177         Use implementation from Albert Chin, with some
118178         comments/corrections by Stepan Kasal and myself.
118180 2005-12-02  Bruno Haible  <bruno@clisp.org>
118182         * gnulib-tool (func_import): Accept GPLed build tool modules when
118183         --lgpl is given.
118184         * modules/csharpcomp-script: New file.
118185         * modules/csharpcomp: Depend on it.
118186         * modules/javacomp-script: New file.
118187         * modules/javacomp: Depend on it.
118188         Suggested by Simon Josefsson.
118190 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
118192         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
118193         statement, to work around an HP-UX 10.20 compiler bug reported by
118194         Peter O'Gorman.
118196 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118198         * modules/savedir (Depends-on): Add openat.
118200 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118202         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
118203         (uintmax_t) [defined uintmax_t]: Do not declare.
118204         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
118205         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
118206         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
118207         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
118208         sake of portability to weird hosts that C allows (though we don't
118209         know of any practical examples).
118211         * lib/savedir.h (fdsavedir): New decl.
118212         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
118213         contains most of the former guts of savedir.
118214         (savedir): Use savedirstream.
118215         Include "openat.h".
118217 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
118219         * modules/obstack (Files): Add m4/ulonglong.m4.
118220         Problem reported by Davide Angelocola.
118222 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
118224         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
118225         coreutils no longer futzes with rounding modes.
118227 2005-11-14  Jim Meyering  <jim@meyering.net>
118229         * lib/mkstemp-safer.c: Include <config.h>, required for possible
118230         replacement of mkstemp.
118232 2005-11-10  Simon Josefsson  <jas@extundo.com>
118234         * lib/readline.c: Remove EOL.
118236 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118238         * modules/gethrxtime (Depends-on): Add gettime.
118240 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118242         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
118243         or gettimeofday; no longer needed.
118245 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118247         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
118248         time business.
118249         (gethrxtime) [! (HAVE_NANOUPTIME
118250         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
118251         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
118252         our own approximation.
118254 2005-11-08  Eric Blake  <ebb9@byu.net>
118256         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118258 2005-11-08  Eric Blake  <ebb9@byu.net>
118260         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118262 2005-11-04  Bruno Haible  <bruno@clisp.org>
118264         * gnulib-tool: Implement --update mode.
118266 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118268         Fix porting problem reported by Theodoros V. Kalamatianos.
118269         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
118270         Don't assume that futimes failing means we must fail.
118272 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118274         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
118275         variables to suggest the intended function of the PATH_MAX check.
118277 2005-10-30  Kean Johnston  <jkj@sco.com>
118279         Trivial changes to support SCO systems.
118280         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
118281         as PATH_MAX.
118282         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
118283         where __ptr is null when no I/O is pending.
118285 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
118287         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
118288         leave errno alone.  Problem reported by Dmitry V. Levin.
118290 2005-10-28  Simon Josefsson  <jas@extundo.com>
118292         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
118293         Test more.
118295         * tests/test-gc-md2.c, tests/test-md2.c: New files.
118297         * modules/md2, modules/md2-tests: New files.
118299 2005-10-28  Simon Josefsson  <jas@extundo.com>
118301         * m4/inet_ntop.m4: More tests.
118303         * m4/gc-md2.m4, md2.m4: New file.
118305 2005-10-28  Simon Josefsson  <jas@extundo.com>
118307         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
118308         "restrict" keywords, as per POSIX.  Protect the function
118309         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
118310         Don't use K&R prototypes.  Check the sprintf return values.
118311         Re-define EAFNOSUPPORT if not present.  Indent.
118313         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
118314         suggested by Bruno Haible <bruno@clisp.org>.
118316         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
118318         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
118320         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
118321         libgcrypt).
118323         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
118325         * lib/md2.h, lib/md2.c: New files.
118327 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
118329         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
118330         errno alone.  Problem reported by Frederic Jolliton.
118332 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
118334         * modules/verify (License): Change from GPL to LGPL.  This is a
118335         tiny module and there are apparently near-equivalents that are
118336         under the BSD license.
118338 2005-10-24  Simon Josefsson  <jas@extundo.com>
118340         * modules/sha1: Relicense to LGPL.
118342 2005-10-24  Simon Josefsson  <jas@extundo.com>
118344         * lib/md4.h: Shrink buffer size, now that we changed the type.
118346 2005-10-23  Simon Josefsson  <jas@extundo.com>
118348         * gnulib-tool (func_import): Fix --tests-base.
118350 2005-10-22  Simon Josefsson  <jas@extundo.com>
118352         * modules/arcfour (Depends-on): Need stdint.
118354 2005-10-22  Simon Josefsson  <jas@extundo.com>
118356         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
118357         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
118359 2005-10-22  Simon Josefsson  <jas@extundo.com>
118361         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
118362         suggested by Bruno Haible <bruno@clisp.org>.
118364 2005-10-22  Simon Josefsson  <jas@extundo.com>
118366         * lib/crc.h: Include stddef.h, for size_t.
118368 2005-10-22  Simon Josefsson  <jas@extundo.com>
118370         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
118371         arcfour_context struct (simplify test vector testing in GNU
118372         Shishi).
118374 2005-10-21  Simon Josefsson  <jas@extundo.com>
118376         * modules/des, modules/des-tests: New files.
118378         * modules/gc-des, modules/gc-des-tests: New files.
118380         * tests/test-des.c, tests/test-gc-des.c: New file.
118382 2005-10-21  Simon Josefsson  <jas@extundo.com>
118384         * modules/arctwo, modules/arctwo-tests: New files.
118386         * tests/test-arctwo.c: New file.
118388         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
118390         * tests/test-gc-arctwo.c: New file.
118392 2005-10-21  Simon Josefsson  <jas@extundo.com>
118394         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
118395         Bruno Haible <bruno@clisp.org>.
118397         * m4/gc-des.m4: New file.
118399 2005-10-21  Simon Josefsson  <jas@extundo.com>
118401         * m4/arctwo.m4: New file.
118403         * m4/gc-arctwo.m4: New file.
118405 2005-10-21  Simon Josefsson  <jas@extundo.com>
118407         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
118408         block.
118410 2005-10-21  Simon Josefsson  <jas@extundo.com>
118412         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
118413         <bruno@clisp.org>.
118415         * lib/hmac-sha1.c (hmac_sha1): Likewise.
118417         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
118418         Bruno Haible <bruno@clisp.org>.
118420         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
118421         <bruno@clisp.org>.
118423 2005-10-21  Simon Josefsson  <jas@extundo.com>
118425         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
118427 2005-10-21  Simon Josefsson  <jas@extundo.com>
118429         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
118431 2005-10-21  Simon Josefsson  <jas@extundo.com>
118433         * lib/des.h, lib/des.c: New files.
118435         * lib/gc-gnulib.c: Support DES.c
118437 2005-10-21  Simon Josefsson  <jas@extundo.com>
118439         * lib/arctwo.h, lib/arctwo.c: New files.
118441         * lib/gc-gnulib.c: Support ARCTWO.
118443 2005-10-21  Simon Josefsson  <jas@extundo.com>
118445         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
118446         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118448 2005-10-21  Simon Josefsson  <jas@extundo.com>
118450         * gnulib-tool (func_import, func_create_testdir): Define automake
118451         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
118452         Makefile.am snippet),
118453         suggested by Bruno Haible <bruno@clisp.org>.
118455         * modules/gc (Makefile.am): Use it.
118457 2005-10-21  Bruno Haible  <bruno@clisp.org>
118459         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
118460         patch.
118462 2005-10-19  Simon Josefsson  <jas@extundo.com>
118464         * tests/test-gc-rijndael.c: New file.
118466         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
118468 2005-10-19  Simon Josefsson  <jas@extundo.com>
118470         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
118471         interface too.
118473 2005-10-19  Simon Josefsson  <jas@extundo.com>
118475         * tests/test-gc-arcfour.c: New file.
118477         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
118479 2005-10-19  Simon Josefsson  <jas@extundo.com>
118481         * modules/gc-md4, modules/gc-md4-tests: New file.
118483         * tests/test-gc-md4.c: New file.
118485 2005-10-19  Simon Josefsson  <jas@extundo.com>
118487         * m4/gc-md4.m4: New file.
118489 2005-10-19  Simon Josefsson  <jas@extundo.com>
118491         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
118492         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
118493         <kasal@ucw.cz>.
118495 2005-10-19  Simon Josefsson  <jas@extundo.com>
118497         * m4/gc-arcfour.m4: New file.
118499         * m4/gc-rijndael.m4: New file.
118501 2005-10-19  Simon Josefsson  <jas@extundo.com>
118503         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
118505 2005-10-19  Simon Josefsson  <jas@extundo.com>
118507         * lib/gc-gnulib.c: Support ARCFOUR.
118509 2005-10-19  Simon Josefsson  <jas@extundo.com>
118511         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
118512         support.
118514         * lib/gc.h: Add ECB enum type.
118516         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
118518 2005-10-18  Simon Josefsson  <jas@extundo.com>
118520         * tests/test-md5.c: New file.
118522         * modules/md5-tests: New file.
118524 2005-10-18  Simon Josefsson  <jas@extundo.com>
118526         * tests/test-md4.c: New file.
118528         * modules/md4, modules/md4-tests: New files.
118530 2005-10-18  Simon Josefsson  <jas@extundo.com>
118532         * m4/md4.m4: New file.
118534 2005-10-18  Simon Josefsson  <jas@extundo.com>
118536         * lib/md4.h, lib/md4.c: New files, based on md5.?.
118538 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
118540         * gnulib-tool (func_create_testdir): Omit the second check whether
118541         BUILT_SOURCES in nonempty.
118543 2005-10-17  Simon Josefsson  <jas@extundo.com>
118545         * tests/test-rijndael.c: New file.
118547 2005-10-17  Simon Josefsson  <jas@extundo.com>
118549         * modules/sha1: Depend on stdint instead of md5.
118551         * modules/md5: Depend on stdint, remove uint32_t.
118553 2005-10-17  Simon Josefsson  <jas@extundo.com>
118555         * modules/gc-sha1-tests: New file.
118557         * tests/test-gc-sha1.c: New file.
118559 2005-10-17  Simon Josefsson  <jas@extundo.com>
118561         * m4/md5.m4: Remove call to uint32_t.m4.
118563 2005-10-17  Simon Josefsson  <jas@extundo.com>
118565         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
118567         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
118568         md5.h.
118570         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
118572         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
118574 2005-10-17  Simon Josefsson  <jas@extundo.com>
118576         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
118578 2005-10-17  Simon Josefsson  <jas@extundo.com>
118580         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
118582 2005-10-17  Simon Josefsson  <jas@extundo.com>
118584         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
118586         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
118588 2005-10-17  Bruno Haible  <bruno@clisp.org>
118590         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
118591         that it can also be used in a test.
118593 2005-10-16  Bruno Haible  <bruno@clisp.org>
118595         * gnulib-tool (func_emit_tests_Makefile_am): Also define
118596         TESTS_ENVIRONMENT, so that individual tests can augment it.
118598         * gnulib-tool (func_create_testdir): Use an intermediate target for
118599         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
118600         macros, like $(ALLOCA_H), which cannot be passed through the command
118601         line.
118603 2005-10-15  Simon Josefsson  <jas@extundo.com>
118605         * modules/rijndael-tests: New file.
118607         * modules/rijndael: New file.
118609 2005-10-15  Simon Josefsson  <jas@extundo.com>
118611         * m4/rijndael.m4: New file.
118613 2005-10-15  Simon Josefsson  <jas@extundo.com>
118615         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
118617         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
118619 2005-10-14  Simon Josefsson  <jas@extundo.com>
118621         * tests/test-arcfour.c: New file.
118623         * modules/arcfour, modules/arcfour-tests: New files.
118625 2005-10-14  Simon Josefsson  <jas@extundo.com>
118627         * m4/arcfour.m4: New file.
118629 2005-10-14  Simon Josefsson  <jas@extundo.com>
118631         * lib/arcfour.h, lib/arcfour.c: New files.
118633 2005-10-14  Roland McGrath  <roland@redhat.com>
118635         Import from libc.  [BZ #1331]
118636         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
118637         macro argument.
118638         Reported by Matej Vela <vela@debian.org>.
118640 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118642         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
118643         include <wchar.h>; no longer needed.
118645 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118647         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
118649 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
118650         and  Ulrich Drepper  <drepper@redhat.com>
118652         Import from libc.
118653         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
118654         instead of inline stream orientation test and two separate
118655         function calls.  Pay no attention to USE_IN_LIBIO.
118657 2005-10-13  Simon Josefsson  <jas@extundo.com>
118659         * modules/gc-hmac-md5-tests: New file.
118661         * tests/test-gc-hmac-sha1.c: New file.
118663         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
118665         * modules/gc-hmac-md5-tests: New file.
118667         * tests/test-gc-md5.c: New file.
118669         * modules/gc-md5-tests: New file.
118671 2005-10-13  Simon Josefsson  <jas@extundo.com>
118673         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
118674         Move memory allocation outside of loop.
118676 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
118678         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
118679         intermediate directory is in a read-only file system.  Problem
118680         reported by Eric Blake.
118682 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
118684         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
118686 2005-10-12  Simon Josefsson  <jas@extundo.com>
118688         * tests/test-hmac-sha1.c: New file.
118690         * modules/hmac-sha1-tests: New file.
118692         * modules/hmac-sha1: New file.
118694 2005-10-12  Simon Josefsson  <jas@extundo.com>
118696         * modules/gc-sha1: New file.
118698 2005-10-12  Simon Josefsson  <jas@extundo.com>
118700         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
118702         * tests/test-gc-pbkdf2-sha1.c: New file.
118704 2005-10-12  Simon Josefsson  <jas@extundo.com>
118706         * modules/gc-md5, modules/gc-hmac-md5: New files.
118708         * modules/gc (Files): Remove md5, memxor and hmac files.
118710 2005-10-12  Simon Josefsson  <jas@extundo.com>
118712         * m4/gc-pbkdf2-sha1.m4: New file.
118714         * m4/gc-hmac-sha1.m4: New file.
118716         * m4/gc-sha1: New file.
118718         * m4/hmac-sha1.m4: New file.
118720 2005-10-12  Simon Josefsson  <jas@extundo.com>
118722         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
118724         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
118726 2005-10-12  Simon Josefsson  <jas@extundo.com>
118728         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
118729         suggested by Bruno Haible <bruno@clisp.org>.
118731 2005-10-12  Simon Josefsson  <jas@extundo.com>
118733         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
118735 2005-10-12  Simon Josefsson  <jas@extundo.com>
118737         * lib/gc-pbkdf2-sha1.c: New file.
118739         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
118741 2005-10-12  Simon Josefsson  <jas@extundo.com>
118743         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
118745         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
118747 2005-10-12  Simon Josefsson  <jas@extundo.com>
118749         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
118750         GC_USE_HMAC_MD5, respectively.
118752         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
118753         (gc_md5): Fix typo.
118755         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
118757         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
118759         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
118761 2005-10-12  Bruno Haible  <bruno@clisp.org>
118763         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
118764         Reported by Stepan Kasal <kasal@ucw.cz>.
118766 2005-10-11  Simon Josefsson  <jas@extundo.com>
118768         * tests/test-crc.c: New file.
118770         * modules/crc, modules/crc-tests: New files.
118772 2005-10-11  Simon Josefsson  <jas@extundo.com>
118774         * m4/crc.m4: New file.
118776 2005-10-11  Simon Josefsson  <jas@extundo.com>
118778         * lib/gc.h: Add gc_hash and gc_hash_buffer.
118780         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
118782         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
118784 2005-10-11  Simon Josefsson  <jas@extundo.com>
118786         * lib/crc.h, lib/crc.c: New files.
118788         * lib/gc.h (gc_hash_buffer): Add doc.
118790 2005-10-11  Bruno Haible  <bruno@clisp.org>
118792         * modules/c-strcasestr: New file.
118793         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
118795 2005-10-11  Bruno Haible  <bruno@clisp.org>
118797         * modules/c-strcase: New file.
118798         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
118800 2005-10-11  Bruno Haible  <bruno@clisp.org>
118802         * lib/strcasecmp.c: Include limits.h.
118803         (strcasecmp): Avoid integer overflow on exotic platforms.
118804         * lib/strncasecmp.c: Include limits.h.
118805         (strncasecmp): Avoid integer overflow on exotic platforms.
118806         Reported by Paul Eggert.
118808 2005-10-11  Bruno Haible  <bruno@clisp.org>
118810         * lib/c-strcasestr.h: New file, from GNU gettext.
118811         * lib/c-strcasestr.c: New file, from GNU gettext.
118813 2005-10-11  Bruno Haible  <bruno@clisp.org>
118815         * lib/c-strcase.h: New file, from GNU gettext.
118816         * lib/c-strcasecmp.c: New file, from GNU gettext.
118817         * lib/c-strncasecmp.c: New file, from GNU gettext.
118819 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
118821         * modules/mempcpy (License): GPL -> LGPL.
118822         * modules/strchrnul (License): Likewise.
118823         * modules/sysexits (License): Likewise.
118825 2005-10-08  Simon Josefsson  <jas@extundo.com>
118827         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
118829 2005-10-07  Simon Josefsson  <jas@extundo.com>
118831         * m4/memxor.m4: Remove gl_C_RESTRICT call.
118833 2005-10-06  Simon Josefsson  <jas@extundo.com>
118835         * tests/test-hmac-md5.c: New file.
118837         * modules/hmac-md5-tests: New file.
118839         * modules/hmac-md5: New file.
118841 2005-10-06  Simon Josefsson  <jas@extundo.com>
118843         * m4/hmac-md5.m4: New file.
118845         * m4/memxor.m4: Require gl_C_RESTRICT.
118847 2005-10-06  Simon Josefsson  <jas@extundo.com>
118849         * lib/memxor.c (memxor): Avoid casts and warnings.
118851 2005-10-06  Simon Josefsson  <jas@extundo.com>
118853         * lib/hmac-md5.c: New file.
118855         * lib/hmac.h: New file.
118857 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
118859         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
118860         promotes to int, not unsigned int, to catch the AIX 5.3
118861         compiler bug.
118863 2005-10-05  Simon Josefsson  <jas@extundo.com>
118865         * modules/memxor: New file.
118867         * modules/iconv (Files): Move config.rpath to havelib, it is used
118868         there.
118870         * modules/havelib (Files): Add config.rpath.
118872 2005-10-05  Simon Josefsson  <jas@extundo.com>
118874         * m4/memxor.m4: New file.
118876 2005-10-05  Simon Josefsson  <jas@extundo.com>
118878         * lib/memxor.c (memxor): Fix compiler error.
118880         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
118881         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
118883         * lib/memxor.h, lib/memxor.c: New files.
118885         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
118886         we assume all systems have it, suggested by Jim Meyering
118887         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
118888         any systems lack sys/socket.h; mingw32 is known to lack it, but we
118889         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
118890         same reasons.
118892 2005-10-05  Simon Josefsson  <jas@extundo.com>
118894         * config/srclist.txt: Add glibc bug 1423 for md5.h.
118896 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
118898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
118899         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
118900         needed, since the source code now assumes these .h files.
118902 2005-10-05  Derek Price  <derek@ximbiot.com>
118904         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
118906 2005-10-05  Bruno Haible  <bruno@clisp.org>
118908         * modules/stdint (License): Change to LGPL.
118910 2005-10-04  Simon Josefsson  <jas@extundo.com>
118912         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
118913         D. Baushke" <mdb@gnu.org>.
118915 2005-10-04  Bruno Haible  <bruno@clisp.org>
118917         * lib/verify.h (verify_true): Provide alternative definition for C++.
118919 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
118921         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
118922         (SSIZE_MAX): New macro, if not already defined.
118923         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
118924         than 2 GiB.
118926 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118928         Sync from coreutils.
118929         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
118930         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
118931         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
118932         ULLONG_MAX doesn't work with 2.7.2.1.
118934 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118936         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
118937         From Ben Pfaff.
118939         * modules/exclude (Depends-on): Depend on verify.
118940         * modules/strtoimax (Depends-on): Likewise.
118941         * modules/utimecmp (Depends-on): Likewise.
118943 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118945         * lib/exclude.c: Include verify.h.
118946         (verify): Remove.  All callers changed to use verify.h's version.
118947         * lib/strtoimax.c: Likewise.
118948         * lib/utimecmp.c: Likewis.e
118950         Sync from coreutils.
118951         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
118952         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
118953         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
118954         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
118955         bother returning ENOSYS if settimeofday or stime fails; just let
118956         them return whatever errno they want to return.
118957         * lib/utimens.c: Include unistd.h, for dup2.
118958         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
118959         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
118961 2005-10-02  Jim Meyering  <jim@meyering.net>
118963         Sync from coreutils.
118964         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
118965         from glibc-2.2.5 that fails for read-only files.
118967 2005-10-02  Jim Meyering  <jim@meyering.net>
118969         Sync from coreutils.
118970         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
118971         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
118972         `#if HAVE_CONFIG_H'.
118973         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
118974         Remove AT_FDCWD test.
118975         Do not consume the fd unless successful.
118976         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
118977         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
118978         block, so that we don't even try to compile it if settimeofday is
118979         available.  This works around a compilation failure on OSF1 V5.1,
118980         due to stime requiring a `long int*' while tv_sec is `int'.
118982 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
118984         Sync from coreutils.
118985         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
118986         against `yes', rather than just testing for nonempty.
118988 2005-10-01  Simon Josefsson  <jas@extundo.com>
118990         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
118991         and Darwin.
118993         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
118994         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
118995         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
118996         freeaddrinfo and gai_strerror are declared by the POSIX headers.
118997         Check if struct addrinfo is declared.
118999 2005-10-01  Simon Josefsson  <jas@extundo.com>
119001         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
119002         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
119003         AI_* and EAI_* definitions.  Protect function declarations.
119005 2005-10-01  Jim Meyering  <jim@meyering.net>
119007         Sync from coreutils.
119009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
119010         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
119011         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
119012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119013         in the inet and nsl libraries.  Required on Solaris 5.7.
119015 2005-10-01  Jim Meyering  <jim@meyering.net>
119017         Sync from coreutils.
119018         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119019         in the inet and nsl libraries.  Required on Solaris 5.7.
119021 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
119023         * lib/getdelim.c (getdelim): Remove unused variables.
119025 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
119027         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
119028         so that the code works even with ancient cpp.  Portability problem
119029         with GCC 2.7.2.1 reported by Thomas M.Ott.
119031 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
119033         * modules/regex (Depends-on): Add strcase.
119035         * modules/gethostname (Licence): Change from GPL to LGPL, since
119036         gethostname.c is a trivial implementation of a standard library
119037         function.
119038         * modules/poll (License): Change from GPL to LGPL, since it's
119039         derived from LGPL code.
119041 2005-09-27  Jim Meyering  <jim@meyering.net>
119043         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
119044         HAVE_CONFIG_H.
119046         * lib/intprops.h (signed_type_or_expr__): Define.
119047         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
119048         for unsigned types.
119050 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
119052         * lib/verify.h (verify_expr): Remove, replacing with:
119053         (verify_true): New macro that returns true instead of void.
119054         (verify_type__): Remove.
119055         (verify): Use verify_true rather than verify_type__.
119057 2005-09-26  Bruno Haible  <bruno@clisp.org>
119059         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
119060         is necessary.
119061         (lib_SOURCES): Remove mbchar.c.
119062         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
119063         (Files): Add m4/mbrtowc.m4.
119064         * modules/mbiter: Likewise.
119065         * modules/mbuiter: Likewise.
119067 2005-09-26  Bruno Haible  <bruno@clisp.org>
119069         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
119070         compile mbchar.c if they are not both present.
119071         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
119072         * m4/mbiter.m4 (gl_MBITER): Likewise.
119073         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
119074         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
119075         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
119077 2005-09-25  Jim Meyering  <jim@meyering.net>
119079         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
119080         also uses socklen_t.
119082 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
119084         * lib/utimens.c (ENOSYS): Define if not already defined.
119085         (futimens): Support having a null PATH if the file descriptor
119086         is nonnegative.
119088         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
119089         Remove.
119090         (__attribute): Define to empty unless GCC 3.1 or later.
119091         This works around a core dump on OpenBSD 3.4, which has GCC
119092         2.95.3, which dumps core when given __attribute__(()).  It also
119093         simplifies other tests, since we really don't want to bother with
119094         worrying about which ancient version of GCC supported what.
119095         Original problem reported by Yoann Vandoorselaere, with part of
119096         the fix suggested by Derek Price.
119098 2005-09-24  Jim Meyering  <jim@meyering.net>
119100         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
119101         so we can once again use a positive bitfield width of 1 -- now we
119102         don't have to explain why we were using a bitfield width of 2.
119104 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119106         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
119107         and similarly for the other external symbols.  Problem reported
119108         by James Gallager.
119110         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
119111         bug reported by Jim Meyering.
119113         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
119114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
119115         not needed, since socklen is a prerequisite module.
119117 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119119         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
119120         Problem reported by Eric Blake.
119121         (getaddrinfo): Initialize se so that it's not garbage.
119122         Redo internal storage allocation so that it doesn't make unportable
119123         assumptions about alignment.
119124         Fix a memory leak.
119126         * lib/utimens.c (futimens): Use futimesat if available.
119127         Prefer it to futimes since it doesn't have the futimes bug.
119129         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
119130         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
119131         Instead, declare a function that returns a pointer to an array,
119132         and use verify_type__ to declare the size of the array.
119133         Problem and germ of a solution reported by Bruno Haible.
119134         (verify_type__): Use 2, not 1, for bitfield size, to avoid
119135         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
119137 2005-09-23  Jim Meyering  <jim@meyering.net>
119139         Sync from coreutils.
119140         Correct build failure (socklen_t not defined) on at least
119141         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
119142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
119144 2005-09-23  Jim Meyering  <jim@meyering.net>
119146         * modules/getaddrinfo (Depends-on): Add socklen.
119148 2005-09-23  Bruno Haible  <bruno@clisp.org>
119150         * tests/test-verify.c: New file.
119152 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119154         Sync from coreutils.
119156         * modules/argmatch (Depends-on): Add verify.
119157         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
119158         unistd-safer.
119159         * modules/save-cwd (Depends-on): Likewise.
119161         * modules/openat (Files): Add lib/openat-die.c.
119162         (Depends-on): Remove error, exitfail.
119163         Add dirname.
119165         * modules/verify: New file.
119166         * MODULES.html.sh (Diagnostics <assert.h>): New section,
119167         with "verify" module.
119169 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119171         Sync from coreutils.
119173         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
119174         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
119175         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
119176         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
119177         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
119178         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
119179         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
119180         Don't bother checking for string.h, stdlib.h, unistd.h.
119181         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
119182         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
119183         module's job.
119184         * m4/jm-macros.m4 (gl_MACROS): Likewise.
119185         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
119187         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
119188         (gl_GETDATE): Use it.
119190         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
119192 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119194         Sync from coreutils.
119196         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
119197         stat-time.h.
119198         * lib/argmatch.h: Include verify.h
119199         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
119200         (ARGMATCH_ASSERT): Remove; unused.
119201         * lib/canonicalize.c: Assume STDC_HEADERS.
119202         * lib/exclude.c: Include "strcase.h".
119203         * lib/regex_internal.h [!defined _LIBC]: Likewise.
119204         * lib/getusershell.c: Include stdio--.h rather than stdio.h
119205         and stdio-safer.h.
119206         (getusershell): Call fopen, not fopen_safer.
119207         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
119208         Do not include unistd-safer.h.
119209         (save_cwd): Don't call fd_safer; no longer needed
119210         now that we include fcntl--.h.
119212         * lib/getdate.y (relative_time): New type.
119213         (RELATIVE_TIME_0): New constant.
119214         (parser_control): Use relative_time instead of doing it ourselves.
119215         (%union): Add new relative_time rel member.
119216         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
119217         Now typeless.
119218         (relunit, relunit_snumber): Now of type rel.
119219         (zone, rel, relunit, get_date): Adjust to above changes.
119221         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
119222         Do not include unistd-safer.h.
119223         (getloadavg): Don't call fd_safer; no longer needed
119224         now that we include fcntl--.h.
119226         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
119227         (make_dir_parents): Treat ENOSYS like EEXIST.
119229         Improve quality of diagnostics on restore_cwd failure.
119230         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
119231         (make_dir_parents): Last arg is now int * (for errno), not bool *.
119232         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
119233         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
119234         each time through the loop.  Do not diagnose restore_cwd failure;
119235         that is the caller's job (and perhaps the caller does not care).
119237         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
119238         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
119239         If the file already exists but is not a directory, don't bother
119240         to try to make its parents.
119241         Close potential file descriptor leak if we can't chdir("/") (!).
119242         Don't always return true if chdir($PWD) fails; return true only
119243         if the requested action was done successfully (except for the
119244         chdir($PWD)).
119245         Don't log final directory unless we actually made it.
119246         Refactor to avoid duplicate code to fix up permissions.
119247         Don't attempt to fix up parent permissions if chdir($PWD) fails.
119249         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
119250         to make it a bit faster and (I hope) clearer.
119251         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
119252         Fix bug in formats like %2N.
119254         * lib/verify.h: New file.
119256 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119258         Sync from coreutils.
119259         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
119261 2005-09-22  Jim Meyering  <jim@meyering.net>
119263         Sync from coreutils.
119265         * m4/lstat.m4 (gl_FUNC_LSTAT):
119266         Use AC_LIBSOURCES to require lstat.c and lstat.h.
119267         Remove obsolete comment.
119268         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
119269         * m4/xstrtod.m4: Likewise.
119271         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
119273 2005-09-22  Jim Meyering  <jim@meyering.net>
119275         Sync from coreutils.
119277         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
119279         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
119280         the .tm_year member, since otherwise gcc-4.0 would now warn about
119281         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
119283         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
119284         order to avoid an unsuppressible warning from gcc on 64-bit systems.
119286         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
119287         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
119288         when run in a time zone for which daylight savings time is in effect
119289         for the starting date.
119291         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
119292         stop us from restricting permissions of just-created absolute-named
119293         directories.
119294         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
119295         to restore initial working directory.
119296         * lib/mkdir-p.c (make_dir_parents): New parameter:
119297         different_working_dir, to tell caller if/when we change the working
119298         directory and are unable to return to the initial one.
119299         * lib/mkdir-p.h (make_dir_parents): Update prototype.
119300         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
119301         `return false'.  This fixes a bug introduced on 2004-07-30.
119303         * lib/openat.c (fdopendir): Be sure to close the supplied
119304         file descriptor before returning.  This makes our replacement
119305         implementation a little closer to Solaris's, where fdopendir
119306         ties the file descriptor to the returned DIR* pointer.
119307         * lib/openat.c (unlinkat): New function.
119308         * lib/openat.h (unlinkat): Add prototype.
119309         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
119310         (openat_restore_fail): Rename from openat_restore_die.
119311         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
119313         Provide an alternative to exiting immediately upon save_cwd or
119314         restore_cwd failure.  Now, an application can arrange e.g.,
119315         to perform a longjump in that case.
119316         * lib/openat.c: Include dirname.h.
119317         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
119318         (rpl_openat, fdopendir, fstatat): Call openat_save_die
119319         and openat_restore_die rather than calling error directly.
119320         Don't include "error.h" or "exitfail.h"; they're no longer needed.
119322         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
119323         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
119324         define.
119326         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
119327         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
119328                             int utc, int nanoseconds);
119329         Background:
119330         date should not have to allocate a megabyte of virtual memory to
119331         handle a format argument like +%1048575T.  When implemented with
119332         strftime, it must allocate such a buffer, use strftime to fill it
119333         in, print it, then free it.
119334         With fprintftime, it simply prints everything and exits.
119335         With no need for memory allocation, that's one fewer way to fail.
119336         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
119337         optional field width, not before, so we accept %9:z, not %:9z.
119338         (my_strftime): Be sure to use L_('x') for literals.
119340         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
119341         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
119342         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
119343         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
119344         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
119345         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
119346         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
119347         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
119348         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
119349         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
119350         * lib/xgethostname.c, lib/xreadlink.c:
119351         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
119353         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
119354         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
119355         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
119356         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
119357         and don't include <sys/file.h>).
119359 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
119361         Sync from coreutils.
119363         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
119364         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
119365         [!LDAV_DONE]: Avoid unused variable warning.
119367 2005-09-21  Bruno Haible  <bruno@clisp.org>
119369         * lib/unicodeio.h (unicode_to_mb): New declaration.
119371 2005-09-20  Derek Price  <derek@ximbiot.com>
119373         * lib/getaddrinfo.c: Don't include <netdb.h> included from
119374         getaddrinfo.h.
119376 2005-09-20  Bruno Haible  <bruno@clisp.org>
119378         * gnulib-tool: Remove trailing slashes from the values specified for
119379         --source-base, --m4-base, --tests-base, --aux-dir.
119380         Suggested by Simon Josefsson <jas@extundo.com>.
119382 2005-09-20  Bruno Haible  <bruno@clisp.org>
119384         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
119385         func_modules_to_filelist, func_import, func_create_testdir): Make all
119386         sorting results locale-independent, so that gnulib-cache.m4 doesn't
119387         change when gnulib-tool is invoked in a different locale.
119389 2005-09-19  Simon Josefsson  <jas@extundo.com>
119391         * m4/socklen.m4: Fix typo.
119393 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
119395         Use a consistent style for including <config.h>.
119396         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
119397         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
119398         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
119399         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
119400         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
119401         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
119402         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
119403         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
119404         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
119405         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
119406         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
119407         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
119408         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
119409         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
119410         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
119411         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
119412         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
119413         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
119414         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
119415         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
119416         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
119417         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
119418         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
119419         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
119420         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
119421         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
119422         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
119423         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
119424         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
119425         lib/xstrtoumax.c, lib/yesno.c:
119426         Standardize inclusion of config.h.
119427         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
119428         lib/inttostr.h:  Removed inclusion of config.h from header files.
119429         * lib/inttostr.c:  Adjusted in-tree users.
119430         * lib/timespec.h: Remove superfluous warning to include config.h.
119431         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
119432         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
119433         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
119434         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
119435         config.h with HAVE_CONFIG_H.
119437 2005-09-19  Jim Meyering  <jim@meyering.net>
119439         * modules/pathmax (License): Change to LGPL.
119441 2005-09-19  Derek Price  <derek@ximbiot.com>
119443         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
119445 2005-09-19  Bruno Haible  <bruno@clisp.org>
119447         * gnulib-tool (import): Provide default for --tests-base.
119449 2005-09-19  Bruno Haible  <bruno@clisp.org>
119451         * doc/quote.texi: New file, extracted from gnulib.texi.
119452         * doc/ctime.texi: New file, extracted from gnulib.texi.
119453         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
119454         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
119455         * doc/gnulib.texi: Include them.
119457 2005-09-18  Bruno Haible  <bruno@clisp.org>
119459         Portability fix.
119460         * gnulib-tool (func_readlink): New function.
119461         (func_ln_if_changed): Use it.
119463 2005-09-18  Bruno Haible  <bruno@clisp.org>
119465         * gnulib-tool: Support --with-tests also with --import.
119466         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
119467         (func_import): Use variables $testsbase and $inctests. Emit a
119468         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
119469         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
119470         SUBDIRS += $testsdir.
119471         (func_create_testdir): Update.
119473 2005-09-18  Bruno Haible  <bruno@clisp.org>
119475         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
119476         instead of $dry_run.
119477         (func_cp_if_changed, func_mv_if_changed): Remove functions.
119478         (func_ln_if_changed): Don't handle dry-run here.
119479         (func_import): In dry-run mode, detect more precisely which actions
119480         would be performed, and don't use "...ing" verbs.
119482 2005-09-18  Bruno Haible  <bruno@clisp.org>
119484         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
119485         (func_import): Use join on two temporary files instead of three nested
119486         loops, in order to determine which files are new or old.
119488 2005-09-18  Bruno Haible  <bruno@clisp.org>
119490         * gnulib-tool (func_import): Comment out code that spits out the
119491         new files with --dry-run.
119493 2005-09-18  Bruno Haible  <bruno@clisp.org>
119495         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
119497 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119499         * lib/stat-time.h: New file.
119500         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
119501         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
119502         in a different way.
119503         (timespec_cmp): New function.
119504         * lib/utimecmp.c: Include stat-time.h.
119505         (SYSCALL_RESOLUTION): Depend on whether various struct stat
119506         members exist, not on the obsolescent ST_MTIM_NSEC.
119507         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
119509 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119511         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
119513 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119515         * MODULES.html.sh (File system functions): Add stat-time.
119516         * modules/stat-time: New file.
119517         * modules/timespec (Files): Remove m4/st_mtim.m4; this
119518         is now done in a different way, by the stat-time module.
119519         * modules/utimecmp (Depends-on): Add stat-time.
119521 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
119523         * m4/st_mtim.m4: Remove.  Superseded by...
119524         * m4/stat-time.m4: New file.
119525         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
119526         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
119528 2005-09-15  Derek Price  <derek@ximbiot.com>
119530         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
119532 2005-09-15  Derek Price  <derek@ximbiot.com>
119534         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
119535         * lib/regex_internal.c: Ditto, using this...
119536         (__GNUC_PREREQ): ...new macro.
119537         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
119538         using...
119539         (__GNUC_PREREQ): ...this new macro.
119541         * lib/strstr.h: Include string.h. Define strstr as a macro here.
119543 2005-09-15  Derek Price  <derek@ximbiot.com>
119544             Paul Eggert  <eggert@cs.ucla.edu>
119546         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
119547         changes, consolidating in...
119548         * lib/regex_internal.h: ...this file.
119550 2005-09-13  Jim Meyering  <jim@meyering.net>
119552         * lib/canon-host.c: Filter through gnu indent and reword comments
119553         slightly.
119554         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
119556 2005-09-13  Derek Price  <derek@ximbiot.com>
119558         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
119559         failure.
119560         Reported by Jim Meyering  <jim@meyering.net>.
119562 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119564         * lib/base64.c: Typo.
119565         (base64_encode): Put b64str in initialized data section.
119567 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
119569         Merge glibc and coreutils changes into gnulib, plus a few
119570         extra fixes.
119571         * lib/md5.c: Use #error rather than a string.
119572         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
119573         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
119574         (__attribute__): Define to empty for non recent-GCC.
119575         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
119576         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
119577         Renamed from their non-__ counterparts, with new macros replacing
119578         them if not _LIBC.  Add __THROW attribute.
119579         (rol): Remove.
119580         (struct md5_ctx): Align buffer if using GCC.
119581         * lib/sha1.h (struct sha1_ctx): Likewise.
119582         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
119583         The old name was backwards.
119584         (NOTSWAP): Remove; not used.
119585         (rol): New macro, moved here from md5.h.
119586         (sha1_process_block): Remove a FIXME that doesn't make sense.
119588 2005-09-12  Derek Price  <derek@ximbiot.com>
119590         Return usable errors from canon-host.
119591         * lib/canon-host.h: New file.
119592         * lib/canon-host.c (canon_host): Wrap...
119593         (canon_host_r): ...this new function, which now relies exclusively on
119594         getaddrinfo.
119595         (ch_strerror): New function.
119596         (last_cherror): New global.
119597         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
119598         interface.
119599         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
119600         void *.
119601         (freeaddrinfo): Free ai->ai_canonname when set.
119603 2005-09-12  Derek Price  <derek@ximbiot.com>
119605         Make canon-host require getaddrinfo.
119606         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
119607         AC_LIBSOURCE canon-host.h.  Call...
119608         (gl_PREREQ_CANON_HOST): ...this new function, which requires
119609         gl_GETADDRINFO.
119610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
119612 2005-09-12  Derek Price  <derek@ximbiot.com>
119614         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
119615         LGPL.
119616         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
119618 2005-09-12  Derek Price  <derek@ximbiot.com>
119620         * lib/gai_strerror.c: Include config.h when available.  Include
119621         getaddrinfo.h before other headers to test interface.
119622         Reported by Larry Jones <lawrence.jones@ugs.com>.
119624 2005-09-12  Derek Price  <derek@ximbiot.com>
119625             Paul Eggert  <eggert@cs.ucla.edu>
119627         * modules/glob (Files): Add glob-libc.h.
119629 2005-09-12  Derek Price  <derek@ximbiot.com>
119630             Paul Eggert  <eggert@cs.ucla.edu>
119632         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
119633         glob_.h, glob-libc.h.
119634         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
119636 2005-09-12  Derek Price  <derek@ximbiot.com>
119637             Paul Eggert  <eggert@cs.ucla.edu>
119639         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
119640         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
119641         protecting things that should be done only in gnulib contexts.
119642         * lib/glob_.h: New file, containing only the glob things needed for
119643         gnulib.
119644         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
119645         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
119646         (glob, globfree, glob_pattern_p): Now defined simply in terms of
119647         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
119648         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
119649         and to respect the namespace rules better.
119651 2005-09-08  Simon Josefsson  <jas@extundo.com>
119653         * modules/socklen: New file.
119655 2005-09-08  Simon Josefsson  <jas@extundo.com>
119657         * m4/socklen.m4: New file.
119659 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119661         * modules/utimens (Files): Add m4/utimbuf.m4, since
119662         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
119663         Reported by Sergey Poznyakoff.
119665 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119667         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
119668         definitions, since that's the preferred style in glibc.
119669         Fix a minor spacing issue, and update copyright notice to match
119670         glibc's.
119672 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119674         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
119676 2005-09-06  Simon Josefsson  <jas@extundo.com>
119678         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
119679         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
119681 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119683         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
119684         warning.
119686 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119688         * config/srclist.txt: Add glibc bug 1302.
119690 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
119692         Change bitset word type from unsigned int to unsigned long int,
119693         as this has better performance on typical 64-bit hosts.
119694         Port bitset code to hosts with unusual word sizes.
119695         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
119696         (build_collating_symbol):
119697         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
119698         argument is a bitset.  This is merely a style issue, but it makes
119699         it clearer that an entire array is expected.
119700         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
119701         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
119702         Port to the case where bitset_word is not the same as unsigned int.
119703         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119704         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
119705         Likewise.
119706         * lib/regexec.c (check_dst_limits_calc_pos_1,
119707         check_subexp_matching_top):
119708         (build_trtable, group_nodes_into_DFAstates):
119709         Likewise.
119710         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
119711         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
119712         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
119713         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
119714         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
119715         * lib/regcomp.c (optimize_subexps, lower_subexp):
119716         Work even if bitset_word has holes in its bitwise representation.
119717         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
119718         * lib/regexec.c (check_dst_limits_calc_pos_1,
119719         check_subexp_matching_top):
119720         Likewise.
119721         * lib/regex_internal.c (re_string_reconstruct):
119722         Don't assume UCHAR_MAX == 255.
119723         * lib/regex_internal.h (bitset_set_all): Likewise.
119724         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
119725         All uses changed.
119726         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
119727         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
119728         All uses changed.
119729         (BITSET_WORD_MAX): New macro.
119730         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
119731         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
119732         (bitset_empty, bitset_copy):
119733         Prefer sizeof (bitset) to multiplying it out ourselves.
119734         (bitset_not_merge): Remove; unused.
119735         (bitset_contain): Return bool, not unsigned int with one bit on.
119736         All callers changed.
119737         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
119738         alignment than re_node_set; do this by defining a new internal
119739         type struct dests_alloc and using it to allocate memory.
119741 2005-09-05  Bruno Haible  <bruno@clisp.org>
119743         * gnulib-tool (func_import): Fix comparison in handling of symbolic
119744         links.
119746 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
119748         * modules/size_max (Makefile.am): Add size_max.h
119750 2005-09-04  Derek Price  <derek@ximbiot.com>
119752         * gnulib-tool (func_import): Fix reversed $symbolic logic.
119754 2005-09-03  Simon Josefsson  <jas@extundo.com>
119756         * gnulib-tool: Fix typo.
119758 2005-09-03  Simon Josefsson  <jas@extundo.com>
119760         * config/srclist.txt: Add glibc bug 1293.
119762 2005-09-03  Derek Price  <derek@ximbiot.com>
119764         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
119765         From Larry Jones <lawrence.jones@ugs.com>.
119767 2005-09-02  Simon Josefsson  <jas@extundo.com>
119769         * modules/socklen: New file.
119771 2005-09-02  Simon Josefsson  <jas@extundo.com>
119773         * modules/havelib: New module.
119775         * modules/gettext, modules/iconv, modules/lock, modules/readline:
119776         Use havelib.
119778 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119780         Check for arithmetic overflow when calculating sizes, to prevent
119781         some buffer-overflow issues.  These patches are conservative, in the
119782         sense that when I couldn't determine whether an overflow was possible,
119783         I inserted a run-time check.
119784         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
119785         macros.
119786         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
119787         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
119788         (re_xnrealloc, re_x2nrealloc): New inline functions.
119789         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
119790         parse_bracket_exp):
119791         (build_equiv_class, build_charclass): Check for arithmetic overflow
119792         in size expression calculations.
119793         * lib/regex_internal.c (re_string_realloc_buffers):
119794         (build_wcs_upper_buffer, re_node_set_add_intersect):
119795         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
119796         (re_dfa_add_node, register_state): Likewise.
119797         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
119798         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
119799         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
119800         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
119802 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119804         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
119805         m4/ulonglong.m4.  Problem reported by Martin Lambers.
119807 2005-09-02  Bruno Haible  <bruno@clisp.org>
119809         Support for lib vs. lib64 distinction on biarch platforms.
119810         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
119811         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
119812         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
119814 2005-09-02  Bruno Haible  <bruno@clisp.org>
119816         * gnulib-tool (import): In the other first-use case, provide defaults
119817         as well.
119819 2005-09-02  Bruno Haible  <bruno@clisp.org>
119821         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
119822         patches not yet found in the latest gettext release.
119824 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119826         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
119827         to avoid a collision with bits/local_lim.h in glibc.
119828         All uses changed.  Problem reported by Dmitry V. Levin in
119829         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
119831         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
119832         bugs in int versus size_t comparisons.
119833         (re_string_context_at): Fix bug where the code assumed that
119834         Idx is signed.
119836         Use bool where appropriate.
119837         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
119838         All callers changed.
119839         (calc_eclosure_iter): Likewise, for ROOT arg.
119840         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
119841         (build_charclass_op): Likewise, for NON_MATCH arg.
119842         * lib/regex_internal.c (re_string_allocate, re_string_construct):
119843         (re_string_construct_common): Likewise, for ICASE arg.
119844         * lib/regexec.c (re_search_2_stub, re_search_stub):
119845         Likewise, for RET_LEN arg.
119846         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
119847         (set_regs): Likewise, for FL_BACKTRACK arg.
119848         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
119849         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
119850         (calc_eclosure_iter, parse_bracket_exp):
119851         Use bool for internal variables that are booleans.
119852         * lib/regexec.c (re_search_internal, check_matching,
119853         proceed_next_node):
119854         (set_regs, build_sifted_states, sift_states_bkref):
119855         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
119856         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
119857         (find_collation_sequence_value):
119858         Likewise.
119859         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
119860         (re_node_set_compare):
119861         Return bool, not int. All callers changed.
119862         * lib/regexec.c (check_halt_node_context, check_dst_limits):
119863         (build_trtable, check_node_accept): Likewise.
119864         * lib/regex_internal.h: Include stdbool.h.
119866         Fix bugs uncovered when converting to bool.
119867         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
119868         failure instead of charging ahead blindly.
119869         * lib/regex_internal.c (register_state): Likewise.
119870         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
119871         for freeing internal storage.
119872         (group_nodes_into_DFA_states): Use unsigned int, not int, for
119873         bitset pieces used as boolean, to avoid undefined behavior
119874         on hosts that do int overflow checking.
119876 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119878         * config/srclist.txt: Add glibc bugs 1285-1287.
119880 2005-09-01  Jim Meyering  <jim@meyering.net>
119882         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
119883         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
119884         Require gl_STAT_MACROS, too.
119886 2005-09-01  Bruno Haible  <bruno@clisp.org>
119888         * gnulib-tool (import): In the first-use case, provide defaults.
119890 2005-09-01  Bruno Haible  <bruno@clisp.org>
119892         * gnulib-tool (func_import): Remove the .tmp files.
119894 2005-09-01  Bruno Haible  <bruno@clisp.org>
119896         * gnulib-tool (func_import): Fix handling of symbolic links.
119898 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119900         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
119901         old glibc regex code mishandles strings longer than 2**31 bytes.
119902         This patch fixes this when the regex code is used in gnulib
119903         (i.e., outside glibc).
119905         This patch should not affect the use of the regex code inside
119906         glibc.  No doubt this problem also needs to be handled for glibc
119907         as well, but the result will be an incompatible change to the
119908         glibc ABI, and the old ABI will have to be supported too.  That
119909         can be the subject for another patch.
119911         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
119912         governing whether the rest of this patch is active.  By default,
119913         the macro is disabled and the patch has no effect.
119914         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
119915         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
119916         (struct re_pattern_buffer, re_search, re_search_2, re_match):
119917         (re_match_2, re_set_registers): Use the new types.
119918         * lib/regex_internal.h (Idx, re_hashval_t): New types.
119919         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
119920         New macros.
119921         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
119922         (re_string_context_at, bin_tree_t, re_dfastate_t):
119923         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
119924         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
119925         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
119926         (re_string_char_size_at, re_string_wchar_at):
119927         (re_string_elem_size_at):
119928         Use the new types and macros to port to 64-bit hosts.
119929         Use unsigned types for internal values, so that the code
119930         mostly works even for arrays larger than SSIZE_MAX.
119931         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
119932         (search_duplicated_node, calc_eclosure_iter, fetch_number):
119933         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
119934         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
119935         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
119936         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
119937         (calc_inveclosure, parse_dup_op, build_range_exp):
119938         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
119939         (fetch_number, create_token_tree, mark_opt_subexp):
119940         Likewise.
119941         * lib/regex_internal.c (re_string_construct_common,
119942         create_ci_newstate):
119943         (create_cd_newstate, re_string_allocate, re_string_construct):
119944         (re_string_realloc_buffers, build_wcs_upper_buffer):
119945         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
119946         (re_string_reconstruct, re_string_peek_byte_case):
119947         (re_string_fetch_byte_case, re_string_context_at):
119948         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
119949         (re_node_set_init_copy, re_node_set_add_intersect):
119950         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119951         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119952         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
119953         (re_acquire_state, re_acquire_state_context, register_state):
119954         Likewise.
119955         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
119956         search_cur_bkref_entry):
119957         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
119958         (re_search_internal, re_search_2_stub, re_search_stub)
119959         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
119960         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
119961         (update_cur_sifted_state, check_dst_limits):
119962         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
119963         (check_subexp_limits, sift_states_bkref, merge_state_array):
119964         (check_subexp_matching_top, get_subexp, get_subexp_sub):
119965         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
119966         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
119967         (expand_bkref_cache, check_node_accept_bytes):
119968         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
119969         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
119970         (acquire_init_state_context, check_halt_node_context):
119971         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
119972         (sift_states_backward, clean_state_log_if_needed):
119973         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
119974         (find_recover_state, transit_state_sb, transit_state_mb):
119975         (transit_state_bkref, build_trtable, match_ctx_clean):
119976         Likewise.
119977         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
119978         to work around an assumption that REG_MISSING is negative.
119980         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
119981         (seek_collating_symbol_entry) [defined _LIBC]:
119982         (lookup_collation_sequence_value) [defined _LIBC]:
119983         (build_range_exp, build_collating_symbol) [defined _LIBC]:
119984         Use prototypes rather than old-style function definitions.
119985         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
119986         (transit_state_sb) [0]:
119987         (find_collation_sequence_value) [defined _LIBC]: Likewise.
119989         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
119990         rm_eo.
119992         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
119993         (optimize_subexps, lower_subexp):
119994         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
119995         since the signed shift might overflow.  Use 1u<<31 instead.
119996         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119997         Likewise.
119998         * lib/regexec.c (check_dst_limits_calc_pos_1,
119999         check_subexp_matching_top): Likewise.
120001         * lib/regcomp.c (optimize_subexps, lower_subexp):
120002         Use CHAR_BIT rather than 8, for clarity.
120003         * lib/regexec.c (check_dst_limits_calc_pos_1):
120004         (check_subexp_matching_top): Likewise.
120005         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
120006         have to worry about portability issues when shifting it left.
120007         Remove no-longer-needed test for table_size > 0.
120008         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
120009         in a word, as the resulting behavior is undefined.
120010         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
120011         in one case, a <= should have been an <, and in another case the
120012         whole test was missing.
120013         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
120014         the standard name CHAR_BIT.
120015         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
120016         this is not true on one's complement and signed-magnitude hosts.
120018         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
120019         next_last_offset.
120020         (struct re_dfa_t): Remove unused member states_alloc.
120021         * lib/regcomp.c (init_dfa): Don't initialize unused members.
120023 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120025         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
120026         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
120027         and large-file glibc and in 32-bit large-file Solaris.
120029 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120031         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
120032         lengths fit in regoff_t; this isn't true if regoff_t is the same
120033         width as size_t.
120034         * lib/regex.c (re_search_internal): 5th arg is LAST_START
120035         (= START + RANGE) instead of RANGE.  This avoids overflow
120036         problems when regoff_t is the same width as size_t.
120037         All callers changed.
120038         (re_search_2_stub): Check for overflow when adding the
120039         sizes of the two strings.
120040         (re_search_stub): Check for overflow when adding START
120041         to RANGE; if it occurs, substitute the extreme value.
120043 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120045         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
120047 2005-08-31  Jim Meyering  <jim@meyering.net>
120049         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
120050         a pointer-to-const.
120051         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
120052         (register_state): Likewise.
120053         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
120054         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120055         (group_nodes_into_DFAstates): Likewise.
120057 2005-08-31  Jim Meyering  <jim@meyering.net>
120059         * check-module: Add a FIXME comment.
120061 2005-08-31  Eric Blake  <ebb9@byu.net>
120063         * modules/unistd-safer (Files): Add unistd--.h.
120064         * modules/stdio-safer (Files): Add stdio--.h.
120066 2005-08-31  Derek Price  <derek@ximbiot.com>
120068         * lib/getdelim.c (getdelim): Return EOF on EOF.
120069         Reported by Larry Jones <lawrence.jones@ugs.com>.
120071 2005-08-31  Bruno Haible  <bruno@clisp.org>
120073         Avoid unnecessary diffs in the generated lib/Makefile.am.
120074         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
120075         the generated files.
120076         (func_import): Don't set cmd.
120078 2005-08-31  Bruno Haible  <bruno@clisp.org>
120080         * lib/strstr.c: Include <stddef.h>, for NULL.
120081         * lib/strcasestr.c: Likewise.
120082         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120084 2005-08-31  Bruno Haible  <bruno@clisp.org>
120086         * gnulib-tool: New option --macro-prefix.
120087         (func_import): Use macro_prefix.
120088         (import): Handle option --macro-prefix.
120090 2005-08-31  Bruno Haible  <bruno@clisp.org>
120092         * gnulib-tool (import): Rename most ac_* variables to cached_*.
120093         Also use new variables cached_lgpl, cached_libtool.
120095 2005-08-31  Bruno Haible  <bruno@clisp.org>
120097         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
120098         always instantiating them.
120100 2005-08-31  Bruno Haible  <bruno@clisp.org>
120102         * gnulib-tool (func_import): Read the previous cached settings
120103         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
120104         earlier added by gnulib but are now dropped. Warn when a gnulib file
120105         overwrites a non-gnulib file.
120107 2005-08-31  Bruno Haible  <bruno@clisp.org>
120109         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
120110         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
120111         projects that don't keep autogenerated files in CVS. Put into
120112         actioncmd only the specified modules, not the transitive closure.
120114 2005-08-31  Bruno Haible  <bruno@clisp.org>
120116         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
120117         Create directories that shall be filled.
120118         (import): Don't look for gl_* macros in configure.ac. Recurse across
120119         all directories containing a gnulib-cache.m4 files, if meaningful.
120121 2005-08-31  Bruno Haible  <bruno@clisp.org>
120123         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
120124         (import): Set seen_libtool when we see gl_LIBTOOL.
120126 2005-08-31  Bruno Haible  <bruno@clisp.org>
120128         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
120129         declaration macro definitions from generated gnulib.m4.
120131 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
120133         * lib/iconvme.h: Add prototype for iconv_alloc.
120135 2005-08-29  Simon Josefsson  <jas@extundo.com>
120137         * lib/iconvme.c: Fix errno.
120139 2005-08-29  Bruno Haible  <bruno@clisp.org>
120141         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
120142         that it works when the directory contains spaces.
120144 2005-08-29  Bruno Haible  <bruno@clisp.org>
120146         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
120148 2005-08-29  Bruno Haible  <bruno@clisp.org>
120150         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
120151         Emit more advice.
120153 2005-08-29  Bruno Haible  <bruno@clisp.org>
120154         and Stepan Kasal  <kasal@ucw.cz>
120156         * check-module: If more parameters are given, check each of them
120157         separately; add more exceptions, as noted by Jim Meyering.
120158         (check_module): New procedure.
120159         (%exempt_header): Now contains all exceptions.
120161 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
120163         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
120165 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
120167         * lib/iconvme.c: Split iconv_string into iconv_alloc.
120169 2005-08-28  Bruno Haible  <bruno@clisp.org>
120171         * m4/gnulib-tool.m4: New file.
120173 2005-08-27  Jim Meyering  <jim@meyering.net>
120175         * modules/unistd-safer (Files): Add pipe-safer.c.
120176         * modules/fcntl-safer (Files): Add creat-safer.c.
120178 2005-08-27  Jim Meyering  <jim@meyering.net>
120180         * m4/stdlib-safer.m4: New file.  From coreutils.
120181         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
120182         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
120183         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
120184         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
120185         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
120187 2005-08-27  Jim Meyering  <jim@meyering.net>
120189         * lib/fopen-safer.c: Merge minor changes from coreutils.
120190         * lib/dup-safer.c: Likewise.
120191         * lib/fd-safer.c: Likewise.
120193         Merge from coreutils.
120194         * lib/stdio--.h: New file.
120195         * lib/stdlib--.h: New file.
120196         * lib/mkstemp-safer.c: New file.
120198         GNU tar needs these.
120199         * lib/pipe-safer.c: New file.
120200         * lib/creat-safer.c: New file.
120201         * lib/fcntl--.h (creat): Define to creat_safer.
120202         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
120203         * lib/unistd--.h (pipe): Define to pipe_safer.
120204         * lib/unistd-safer.h: Declare pipe_safer.
120206 2005-08-26  Simon Josefsson  <jas@extundo.com>
120208         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
120209         Haible <bruno@clisp.org>.
120211 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
120213         * lib/regex_internal.h: Remove all references to
120214         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
120215         or better.
120216         (bitset_not, bitset_merge, bitset_not_merge):
120217         (bitset_mask, re_string_allocate, re_string_construct):
120218         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
120219         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
120220         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
120221         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
120222         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120223         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120224         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
120225         (re_acquire_state_context):
120226         Remove unnecessary forward decls.
120227         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
120228         Put __attribute at function definition,
120229         now that the function decl has been removed.
120230         * lib/regex_internal.c (re_string_peek_byte_case):
120231         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
120232         Likewise.
120234 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
120236         * m4/regex.m4: Add AC_PREREQ(2.50).
120237         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
120239 2005-08-25  Simon Josefsson  <jas@extundo.com>
120241         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
120242         __fsetlocking.
120244 2005-08-25  Simon Josefsson  <jas@extundo.com>
120246         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
120247         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
120248         GLIBC specific code.
120250 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120252         Make regex safe for g++.  This fixes one real bug (an "err"
120253         that should have been "*err").  g++ problem reported by
120254         Sam Steingold.
120255         * lib/regex_internal.h (re_calloc): New macro, consistent with
120256         re_malloc etc.  All callers of calloc changed to use re_calloc.
120257         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
120258         not int.  All callers changed.
120259         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
120260         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
120261         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
120262         (find_recover_state): Change "err" to "*err"; this fixes what
120263         appears to be a real bug.
120264         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
120265         versus int.
120267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120269         * modules/regex (Depends-on): Add malloc, since the code
120270         assumes that !malloc(0) means failure.
120272 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120274         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
120276         alloca modernization/simplification for regex.
120277         * lib/regex.c: Remove portability cruft for alloca.  This no longer
120278         needs to be at the start of the file, and can be moved into
120279         regex_internal.h and simplified.
120280         * lib/regex_internal.h: Include <alloca.h>.
120281         (__libc_use_alloca) [!defined _LIBC]: New macro.
120282         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
120283         now works outside glibc.
120285 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120287         * config/srclist.txt: Add glibc bugs 1241, 1245.
120289 2005-08-25  Jim Meyering  <jim@meyering.net>
120291         * lib/open-safer.c: Include <config.h>.
120292         Otherwise, we'd lose LARGEFILE support in any file using
120293         e.g. "fcntl--.h"
120295 2005-08-25  Bruno Haible  <bruno@clisp.org>
120297         * m4/minmax.m4: Require autoconf 2.52.
120298         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
120299         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
120300         alternatives of translit over the alphabet.
120301         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
120303 2005-08-24  Simon Josefsson  <jas@extundo.com>
120305         * tests/test-getpass.c: New file.
120307 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120309         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
120310         for GNU regex features.
120312 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120314         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
120315         * lib/regex.h (regerror): Likewise.
120317         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
120318         requires this.  (The code never needed it.)
120320         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
120321         All uses of recently-renamed identifiers changed to use the new,
120322         POSIX-compliant names.  The code will build and run just fine
120323         without these changes, but it's better to eat our own dog food
120324         and use the standard-conforming names.
120326         * lib/regex.h: Fix a multitude of POSIX name space violations.
120327         These changes have an effect only for programs that define
120328         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
120329         do not change anything for programs compiled in the normal way.
120330         Also, there is no effect on the ABI.
120332         (_REGEX_SOURCE): New macro.
120333         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
120334         defined and _GNU_SOURCE is not; this fixes a name space violation.
120336         Rename the following macros to obey POSIX requirements.
120337         The old names are still visible as macros if _REGEX_SOURCE is defined.
120338         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
120339         RE_BACKSLASH_ESCAPE_IN_LISTS.
120340         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
120341         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
120342         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
120343         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
120344         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
120345         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
120346         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
120347         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
120348         (REG_INTERVALS): renamed from RE_INTERVALS.
120349         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
120350         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
120351         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
120352         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
120353         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
120354         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
120355         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
120356         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
120357         RE_UNMATCHED_RIGHT_PAREN_ORD.
120358         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
120359         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
120360         (REG_DEBUG): renamed from RE_DEBUG.
120361         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
120362         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
120363         unusual, since we can't clash with the POSIX REG_ICASE.
120364         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
120365         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
120366         (REG_NO_SUB): renamed from RE_NO_SUB.
120367         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
120368         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
120369         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
120370         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
120371         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
120372         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
120373         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
120374         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
120375         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
120376         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
120377         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
120378         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
120379         RE_SYNTAX_POSIX_MINIMAL_BASIC.
120380         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
120381         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
120382         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
120383         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
120384         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
120385         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
120386         (REG_FIXED): Renamed from REGS_FIXED.
120387         (REG_NREGS): Renamed from RE_NREGS.
120389         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
120390         of other REG_* macros, since POSIX says the user is allowed to
120391         #undef these macros selectively.
120393         (reg_errcode_t): Update comment stating what other tables need
120394         to be consistent.
120396         Rename the following enum values to obey POSIX requirements.
120397         The old names are still visible as macros.
120398         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
120399         is not defined, since GNU is supposed to be a superset of POSIX as
120400         much as possible, and since we want reg_errcode_t to be a signed
120401         type for implementation consistency.
120402         (_REG_NOERROR): Renamed from REG_NOERROR.
120403         (_REG_NOMATCH): Renamed from REG_NOMATCH.
120404         (_REG_BADPAT): Renamed from REG_BADPAT.
120405         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
120406         (_REG_ECTYPE): Renamed from REG_ECTYPE.
120407         (_REG_EESCAPE): Renamed from REG_EESCAPE.
120408         (_REG_ESUBREG): Renamed from REG_ESUBREG.
120409         (_REG_EBRACK): Renamed from REG_EBRACK.
120410         (_REG_EPAREN): Renamed from REG_EPAREN.
120411         (_REG_EBRACE): Renamed from REG_EBRACE.
120412         (_REG_BADBR): Renamed from REG_BADBR.
120413         (_REG_ERANGE): Renamed from REG_ERANGE.
120414         (_REG_ESPACE): Renamed from REG_ESPACE.
120415         (_REG_BADRPT): Renamed from REG_BADRPT.
120416         (_REG_EEND): Renamed from REG_EEND.
120417         (_REG_ESIZE): Renamed from REG_ESIZE.
120418         (_REG_ERPAREN): Renamed from REG_ERPAREN.
120419         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
120420         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
120421         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
120422         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
120424         (_REG_RE_NAME, _REG_RM_NAME): New macros.
120425         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
120426         changed.  But support the old name if the new one is not defined
120427         and if _REGEX_SOURCE.
120429         Change the following member names in struct re_pattern_buffer.
120430         The old names are still supported if !_REGEX_SOURCE.
120431         The new names are always supported, regardless of _REGEX_SOURCE.
120432         (re_buffer): Renamed from buffer.
120433         (re_allocated): Renamed from allocated.
120434         (re_used): Renamed from used.
120435         (re_syntax): Renamed from syntax.
120436         (re_fastmap): Renamed from fastmap.
120437         (re_translate): Renamed from translate.
120438         (re_can_be_null): Renamed from can_be_null.
120439         (re_regs_allocated): Renamed from regs_allocated.
120440         (re_fastmap_accurate): Renamed from fastmap_accurate.
120441         (re_no_sub): Renamed from no_sub.
120442         (re_not_bol): Renamed from not_bol.
120443         (re_not_eol): Renamed from not_eol.
120444         (re_newline_anchor): Renamed from newline_anchor.
120446         Change the following member names in struct re_registers.
120447         The old names are still supported if !_REGEX_SOURCE.
120448         The new names are always supported, regardless of _REGEX_SOURCE.
120449         (rm_num_regs): Renamed from num_regs.
120450         (rm_start): Renamed from start.
120451         (rm_end): Renamed from end.
120453         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
120454         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
120455         Prepend __ to parameter names.
120457         Undo yesterday's changes.
120459 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120461         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
120462         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
120463         lib/regex.c.
120465 2005-08-24  Jim Meyering  <jim@meyering.net>
120467         Sync from coreutils.
120468         * m4/fcntl-safer.m4: New file.
120470         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
120471         and object files for this module.
120473 2005-08-24  Jim Meyering  <jim@meyering.net>
120475         Sync from coreutils.
120476         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
120478 2005-08-24  Jim Meyering  <jim@meyering.net>
120480         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
120481         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
120483 2005-08-24  Jim Meyering  <jim@meyering.net>
120485         * modules/fcntl-safer: New module.
120486         * modules/fts (Depends-on): Add fcntl-safer.
120487         * MODULES.html.sh (File descriptor based Input/Output):
120488         Add fcntl-safer.
120490 2005-08-24  Bruno Haible  <bruno@clisp.org>
120492         Support for unit test modules.
120493         * modules/README: Mention tests modules.
120494         * modules/TEMPLATE-TESTS: New file.
120495         * gnulib-tool: New options --extract-tests-module, --with-tests and
120496         --tests-base (unused for the moment).
120497         (testsbase, inctests): New variables.
120498         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
120499         (func_verify_module): Exclude TEMPLATE-TESTS.
120500         (func_verify_nontests_module, func_verify_tests_module): New functions.
120501         (func_get_dependencies): Add implicit dependency for tests modules.
120502         (func_get_tests_module): New function.
120503         (func_modules_transitive_closure): When --with-tests was specified,
120504         include the unit tests as well, unless explicitly avoided.
120505         (func_emit_lib_Makefile_am): Ignore the tests modules here.
120506         (func_emit_tests_Makefile_am): New function.
120507         (func_create_testdir): When --with-tests was specified, emit a
120508         tests/ directory.
120509         * MODULES.html.sh (Future developments): Update.
120511 2005-08-24  Bruno Haible  <bruno@clisp.org>
120513         * modules/tls-tests: New file.
120514         * tests/test-tls.c: New file, from GNU gettext.
120516 2005-08-24  Bruno Haible  <bruno@clisp.org>
120518         * modules/lock-tests: New file.
120519         * tests/test-lock.c: New file, from GNU gettext.
120521 2005-08-24  Bruno Haible  <bruno@clisp.org>
120523         * lib/lock.h: Add multiple inclusion guard.
120524         * lib/tls.h: Add multiple inclusion guard.
120526 2005-08-24  Bruno Haible  <bruno@clisp.org>
120528         * gnulib-tool: Add support for the --aux-dir option to
120529         --create-testdir, --create-megatestdir, --test, --megatest.
120530         (func_create_testdir, func_create_megatestdir): Optionally emit a
120531         AC_CONFIG_AUX_DIR directive.
120532         (create-testdir, create-megatestdir, test, megatest): Provide a
120533         default value for $auxdir.
120535 2005-08-24  Bruno Haible  <bruno@clisp.org>
120537         * gnulib-tool (import): Use compound statement instead of subshell
120538         where possible.
120540 2005-08-24  Bruno Haible  <bruno@clisp.org>
120542         * gnulib-tool (import): Change --aux-dir default to "build-aux".
120544 2005-08-24  Bruno Haible  <bruno@clisp.org>
120546         * gnulib-tool (func_version): Update.
120548 2005-08-24  Bruno Haible  <bruno@clisp.org>
120550         * gnulib-tool (func_import, func_create_testdir,
120551         func_create_megatestdir): Quote all autoconf macro arguments.
120553 2005-08-24  Bruno Haible  <bruno@clisp.org>
120555         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
120556         option --force, because --force causes the aclocal.m4 of each
120557         subdirectory to be newer than the corresponding config.h.in.
120559 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120561         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
120562         All contents moved to gl_REGEX.
120563         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
120564         assume that it does.
120566 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120568         * lib/regex.h (REG_NOSYS)
120569         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
120570         Define, since POSIX requires it as of 2001.
120571         (_REG_ENOSYS)
120572         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
120573         New private symbol, used to keep the enum signed in all cases.
120574         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
120575         Youngman in
120576         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
120578         * lib/regex_internal.c (re_string_skip_chars, register_state):
120579         (calc_state_hash):
120580         Remove forward decls; no longer needed now that we use prototypes.
120581         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
120582         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
120583         (clean_state_log_if_needed): Likewise.
120585 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120587         * config/srclist.txt: Add glibc bugs 1231-1233.
120589 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120591         Fix problems reported by Sam Steingold in
120592         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
120593         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
120594         assumed that reg_errcode_t is a signed type, which is not
120595         necessarily true if _XOPEN_SOURCE is not defined.
120596         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
120597         since some compilers warn about it otherwise.
120599 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120601         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
120602         (init_word_char, create_initial_state, duplicate_node_closure):
120603         (fetch_token, peek_token_bracket, build_range_exp):
120604         (build_collating_symbol): Remove forward decls; no longer needed
120605         now that we use prototypes.
120607         * lib/regcomp.c:
120608         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
120609         (re_compile_fastmap_iter, regcomp, regerror, regfree):
120610         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
120611         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
120612         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
120613         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
120614         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
120615         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
120616         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
120617         (build_range_exp, build_collating_symbol, parse_bracket_exp):
120618         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
120619         (build_charclass, build_charclass_op, fetch_number, create_tree):
120620         (create_token_tree, mark_opt_subexp, duplicate_tree):
120621         Use prototypes rather than old-style definitions.
120623         * lib/regex_internal.c:
120624         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
120625         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
120626         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120627         (re_string_reconstruct, re_string_peek_byte_case):
120628         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
120629         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120630         (re_node_set_init_copy, re_node_set_add_intersect):
120631         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120632         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120633         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120634         (re_acquire_state, re_acquire_state_context, register_state):
120635         (create_ci_newstate, create_cd_newstate, free_state):
120636         Likewise.
120637         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
120638         re_search_2):
120639         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
120640         (re_search_internal, prune_impossible_nodes):
120641         (acquire_init_state_context, check_matching, static):
120642         (check_halt_node_context, check_halt_state_context, proceed_next_node):
120643         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
120644         (update_regs, sift_states_backward, build_sifted_states):
120645         (clean_state_log_if_needed, merge_state_array):
120646         (update_cur_sifted_state, add_epsilon_src_nodes):
120647         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
120648         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
120649         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
120650         (find_recover_state, check_subexp_matching_top, transit_state_mb):
120651         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
120652         (check_arrival, check_arrival_add_next_nodes):
120653         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120654         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120655         (check_node_accept_bytes, check_node_accept, extend_buffers):
120656         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
120657         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
120658         (sift_ctx_init):
120659         Likewise.
120661         * lib/regex_internal.h:
120662         (re_string_allocate, re_string_construct, re_string_reconstruct):
120663         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
120664         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
120665         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
120666         (re_string_context_at, re_string_peek_byte_case):
120667         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
120668         is defined, since we now use prototypes always.
120670         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
120671         C89 or better.  All uses removed.
120673 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120675         * config/srclist.txt: Add glibc bugs 1220-1227.
120677 2005-08-20  Jim Meyering  <jim@meyering.net>
120679         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
120680         of unused local, dfa.
120682 2005-08-20  Bruno Haible  <bruno@clisp.org>
120684         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
120686 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120688         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
120689         (re_node_set_insert_last, re_dfa_add_node):
120690         Rename local variables to avoid GCC shadowing warnings.
120692 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120694         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
120695         [defined lint]: Suppress bogus uninitialized-variable warnings.
120697         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
120698         and let the caller return REG_ESPACE if out of space.  This
120699         removes an uninitialied-variable warning with GCC 4.0.1, and also
120700         avoids taking the address of a local variable.  All callers
120701         changed.
120703 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120705         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
120706         $LIBCSRC/posix/regexec.c.
120707         Add glibc bug 1217 for regcomp.c.
120709 2005-08-19  Jim Meyering  <jim@meyering.net>
120711         * lib/regexec.c (proceed_next_node): Redo local variables to
120712         avoid GCC shadowing warnings.
120714 2005-08-18  Bruno Haible  <bruno@clisp.org>
120716         * lib/strstr.c (strstr): Fix return value in multibyte case.
120717         * lib/strcasestr.c (strcasestr): Likewise.
120719 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
120721         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
120723 2005-08-17  Jim Meyering  <jim@meyering.net>
120725         Make the %s format (seconds since the epoch) work for a negative
120726         number and when used with a zero-padded field width, e.g. %015s.
120728         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
120729         label so that it precedes the code to set `digits'.  Otherwise,
120730         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
120731         print `00-22'.  Now, it prints `-0022', as it should.
120733 2005-08-17  Bruno Haible  <bruno@clisp.org>
120735         * modules/strstr (Files): Add m4/mbrtowc.m4.
120736         (Depends-on): Add mbuiter.
120738 2005-08-17  Bruno Haible  <bruno@clisp.org>
120740         * modules/strcasestr: New file.
120741         * MODULES.html.sh (String handling, based on ANSI C 89): Add
120742         strcasestr.
120744 2005-08-17  Bruno Haible  <bruno@clisp.org>
120746         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
120748 2005-08-17  Bruno Haible  <bruno@clisp.org>
120750         * modules/mbuiter: New file.
120751         * MODULES.html.sh (Extended multibyte and wide character utilities):
120752         Add mbuiter.
120754 2005-08-17  Bruno Haible  <bruno@clisp.org>
120756         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
120757         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
120759 2005-08-17  Bruno Haible  <bruno@clisp.org>
120761         * m4/strcasestr.m4: New file.
120763 2005-08-17  Bruno Haible  <bruno@clisp.org>
120765         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
120766         * lib/strstr.c: Completely rewritten, with multibyte locale support.
120768 2005-08-17  Bruno Haible  <bruno@clisp.org>
120770         * lib/strcasestr.h: New file.
120771         * lib/strcasestr.c: New file.
120773 2005-08-17  Bruno Haible  <bruno@clisp.org>
120775         * lib/strcasecmp.c: Use mbuiter.h.
120777 2005-08-17  Bruno Haible  <bruno@clisp.org>
120779         * lib/mbuiter.h: New file.
120781 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
120783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
120784         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
120785         and gl_GETOPT are both invoked via different paths (as happens
120786         with GNU tar CVS because it uses both argp and getopt), the former
120787         wins.
120789 2005-08-16  Bruno Haible  <bruno@clisp.org>
120791         * modules/tls: New file.
120792         * MODULES.html.sh (Multithreading): Add tls.
120794 2005-08-16  Bruno Haible  <bruno@clisp.org>
120796         * modules/strnlen1: New file.
120797         * MODULES.html.sh (String handling): Add strnlen1.
120799 2005-08-16  Bruno Haible  <bruno@clisp.org>
120801         * modules/strcase (Files): Add m4/mbrtowc.m4.
120802         (Depends-on): Add strnlen1, mbchar.
120804 2005-08-16  Bruno Haible  <bruno@clisp.org>
120806         * modules/mbiter: New file.
120807         * MODULES.html.sh (Extended multibyte and wide character utilities):
120808         Add mbiter.
120810 2005-08-16  Bruno Haible  <bruno@clisp.org>
120812         * modules/mbfile: New file.
120813         * MODULES.html.sh (Extended multibyte and wide character utilities):
120814         Add mbfile.
120816 2005-08-16  Bruno Haible  <bruno@clisp.org>
120818         * modules/mbchar: New file.
120819         * MODULES.html.sh (Extended multibyte and wide character utilities):
120820         New section.
120822 2005-08-16  Bruno Haible  <bruno@clisp.org>
120824         * m4/tls.m4: New file, from GNU gettext.
120826 2005-08-16  Bruno Haible  <bruno@clisp.org>
120828         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
120829         always.
120830         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
120832 2005-08-16  Bruno Haible  <bruno@clisp.org>
120834         * m4/mbiter.m4: New file.
120836 2005-08-16  Bruno Haible  <bruno@clisp.org>
120838         * m4/mbfile.m4: New file.
120840 2005-08-16  Bruno Haible  <bruno@clisp.org>
120842         * m4/mbchar.m4: New file.
120844 2005-08-16  Bruno Haible  <bruno@clisp.org>
120846         * lib/tls.h: New file, from GNU gettext.
120847         * lib/tls.c: New file, from GNU gettext.
120849 2005-08-16  Bruno Haible  <bruno@clisp.org>
120851         * lib/strnlen1.h: New file.
120852         * lib/strnlen1.c: New file.
120854 2005-08-16  Bruno Haible  <bruno@clisp.org>
120856         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
120857         (mbi_init): Update.
120858         (mbi_avail, mbi_advance): Let the iteration end before the terminating
120859         NUL byte, not after it.
120861 2005-08-16  Bruno Haible  <bruno@clisp.org>
120863         * lib/strcase.h (strcasecmp): Add note in comments.
120864         * lib/strncasecmp.c: Use code from strcasecmp.c.
120865         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
120866         (strcasecmp): Work correctly in multibyte locales.
120868 2005-08-16  Bruno Haible  <bruno@clisp.org>
120870         * lib/mbiter.h: New file.
120872 2005-08-16  Bruno Haible  <bruno@clisp.org>
120874         * lib/mbfile.h: New file.
120876 2005-08-16  Bruno Haible  <bruno@clisp.org>
120878         * lib/mbchar.h: New file.
120879         * lib/mbchar.c: New file.
120881 2005-08-16  Bruno Haible  <bruno@clisp.org>
120883         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
120884         the valid ones. Makes the comparison operations transitive:
120885         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
120886         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
120888 2005-08-15  Simon Josefsson  <jas@extundo.com>
120890         * modules/ssize_t (License): Change to 'unlimited'.
120892         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
120894 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
120896         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
120897         Add comments for each pending glibc patch.
120899 2005-08-15  Bruno Haible  <bruno@clisp.org>
120901         * lib/regex.h (__restrict_arr): Don't define to __restrict if
120902         __cplusplus is defined.
120904 2005-08-14  Jim Meyering  <jim@meyering.net>
120906         Sync from coreutils.
120908         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
120909         Use the hash-table-based cycle-detection code not just when
120910         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
120911         Reported by James Youngman in
120912         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
120913         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
120914         FTS_TIGHT_CYCLE_CHECK.
120915         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
120916         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
120917         once again.
120918         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
120919         * lib/fts.c (fd_safer): Remove decl.
120920         Include fcntl--.h rather than unistd-safer.h
120921         (fts_safe_changedir): Don't call fd_safer; no longer needed
120922         now that we include fcntl--.h.
120924 2005-08-12  Simon Josefsson  <jas@extundo.com>
120926         * modules/getndelim2: Use ssize_t module.
120927         * modules/getnline: Likewise.
120928         * modules/safe-read: Likewise.
120929         * modules/xreadlink: Likewise.
120931         * modules/ssize_t: New file.
120933 2005-08-12  Simon Josefsson  <jas@extundo.com>
120935         * m4/readline.m4: Look for termcap, curses or ncurses if required.
120937 2005-08-12  Simon Josefsson  <jas@extundo.com>
120939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
120940         ssize_t.
120942 2005-08-12  Simon Josefsson  <jas@extundo.com>
120944         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
120945         readline, getdelim and check_version.
120946         (Support for systems lacking ISO C 99: Sizes of integer types):
120947         Add size_max.
120949 2005-08-12  Bruno Haible  <bruno@clisp.org>
120951         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
120953 2005-08-11  Simon Josefsson  <jas@extundo.com>
120955         * modules/readline: New file.
120957         * modules/strnlen (Files): Add strnlen.h.
120959 2005-08-11  Simon Josefsson  <jas@extundo.com>
120961         * m4/readline.m4: New file.
120963 2005-08-11  Simon Josefsson  <jas@extundo.com>
120965         * lib/readline.h, readline.c: New file.
120967 2005-08-11  Simon Josefsson  <jas@extundo.com>
120969         * doc/gnulib.texi (Initial import, Finishing touches): Mention
120970         gl_AVOID.
120972 2005-08-11  Bruno Haible  <bruno@clisp.org>
120974         * lib/strnlen.h (strnlen): Change parameter name to match comment.
120976 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
120978         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
120980 2005-08-10  Simon Josefsson  <jas@extundo.com>
120982         * tests/test-iconvme.c: New file.
120984 2005-08-10  Simon Josefsson  <jas@extundo.com>
120986         * m4/strnlen.m4: New file.
120988         * m4/strndup.m4: Don't check for strnlen declaration, done in
120989         strnlen.m4.
120991 2005-08-10  Simon Josefsson  <jas@extundo.com>
120993         * lib/strndup.c: Use strnlen.h.
120995         * lib/strnlen.h: New file.
120997 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120999         * README: Typos.
121001 2005-08-02  Simon Josefsson  <jas@extundo.com>
121003         * modules/readline: New file.
121005 2005-08-02  Simon Josefsson  <jas@extundo.com>
121007         * modules/getdelim: New file.
121009         * modules/getline: Rewrite, don't use getndelim2.
121011 2005-08-02  Simon Josefsson  <jas@extundo.com>
121013         * m4/getline.m4: Separate out getdelim stuff into separate module.
121015         * m4/getdelim.m4: New file.
121017 2005-08-02  Simon Josefsson  <jas@extundo.com>
121019         * lib/getline.h, getline.c: Rewrite.
121021         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
121023 2005-07-31  Bruno Haible  <bruno@clisp.org>
121025         * lib/lock.h (gl_lock_initializer): New macro.
121026         (gl_lock_define_initialized): Use it.
121027         (gl_rwlock_initializer): New macro.
121028         (gl_rwlock_define_initialized): Use it.
121029         (gl_recursive_lock_initializer): New macro.
121030         (gl_recursive_lock_define_initialized): Use it.
121032 2005-07-30  Karl Berry  <karl@gnu.org>
121034         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
121035         Report from Ben Pfaff, regarding getopt.
121037 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
121039         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
121040         normal way.
121041         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
121042         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
121043         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
121044         (gl_GETOPT): Use the new macros.  Most of the implementation
121045         is moved to the new macros.  This is for programs like Emacs
121046         that don't want all the functionality of gl_GETOPT.
121048 2005-07-26  Bruno Haible  <bruno@clisp.org>
121050         * m4/lock.m4: Update from GNU gettext.
121052 2005-07-26  Bruno Haible  <bruno@clisp.org>
121054         * lib/lock.h: Update from GNU gettext.
121055         * lib/lock.c: Update from GNU gettext.
121057 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
121059         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
121060         obsolescent AC_TRY_RUN.  Include the default includes files, for
121061         'exit'.
121063 2005-07-24  Bruno Haible  <bruno@clisp.org>
121065         * modules/visibility: New file.
121066         * MODULES.html.sh (Misc): Add visibility.
121068 2005-07-24  Bruno Haible  <bruno@clisp.org>
121070         * m4/visibility.m4: New file.
121072 2005-07-24  Bruno Haible  <bruno@clisp.org>
121074         * doc/visibility.texi: New file.
121076 2005-07-22  Bruno Haible  <bruno@clisp.org>
121078         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
121079         $(ALLOCA_H), redundant through BUILT_SOURCES.
121080         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
121081         redundant through BUILT_SOURCES.
121082         * modules/byteswap (Makefile.am): Remove explicit dependency on
121083         $(BYTESWAP_H), redundant through BUILT_SOURCES.
121084         * modules/fnmatch (Makefile.am): Remove explicit dependency on
121085         $(FNMATCH_H), redundant through BUILT_SOURCES.
121086         * modules/getopt (Makefile.am): Remove explicit dependency on
121087         $(GETOPT_H), redundant through BUILT_SOURCES.
121088         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
121089         redundant through BUILT_SOURCES.
121090         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
121091         redundant through BUILT_SOURCES.
121092         * modules/stdbool (Makefile.am): Remove explicit dependency on
121093         $(STDBOOL_H), redundant through BUILT_SOURCES.
121094         * modules/stdint (Makefile.am): Remove explicit dependency on
121095         $(STDINT_H), redundant through BUILT_SOURCES.
121096         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
121097         Remove explicit dependency on $(SYSEXITS_H).
121098         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
121100 2005-07-18  Simon Josefsson  <jas@extundo.com>
121102         * lib/check-version.c (check_version): Accept identical versions too.
121104 2005-07-18  Bruno Haible  <bruno@clisp.org>
121106         * modules/lock: New file.
121107         * MODULES.html.sh (Multithreading): New section.
121109 2005-07-18  Bruno Haible  <bruno@clisp.org>
121111         * m4/lock.m4: New file, from GNU gettext.
121113 2005-07-18  Bruno Haible  <bruno@clisp.org>
121115         * lib/lock.h: New file, from GNU gettext.
121116         * lib/lock.c: New file, from GNU gettext.
121118 2005-07-18  Bruno Haible  <bruno@clisp.org>
121120         * lib/lock.h (gl_once_t): New type.
121121         (gl_once_define, gl_once): New macros.
121122         * lib/lock.c (fresh_once): New variable.
121123         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
121124         functions.
121126 2005-07-16  Simon Josefsson  <jas@extundo.com>
121128         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
121129         workaround, suggested by Bruno.
121131 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121133         * modules/xalloc (Depends-on): Add xalloc-die.
121134         * modules/xvasprintf (Depends-on): Add xalloc-die.
121136 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121138         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
121139         with a minor change.
121141 2005-07-15  Bruno Haible  <bruno@clisp.org>
121143         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
121144         When using lib/poll.c, define poll as rpl_poll.
121146 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
121148         * modules/argp (Depends-on): Remove unlocked-io.
121150 2005-07-14  Derek Price  <derek@ximbiot.com>
121152         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
121153         for glob symlink bug.
121155 2005-07-14  Bruno Haible  <bruno@clisp.org>
121157         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
121158         Instead, test for *_unlocked function declarations directly.
121160 2005-07-11  Simon Josefsson  <jas@extundo.com>
121162         * modules/size_max: New file.
121164         * modules/xsize: Depend on size_max module for size_max.m4.
121166 2005-07-11  Simon Josefsson  <jas@extundo.com>
121168         * lib/size_max.h: New file.
121170 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
121172         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
121173         copyright symbol and the year.
121174         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
121175         (version_etc_va): Use parameterized copyright notice.
121176         Reword to conform to the current GNU coding standards.
121178 2005-07-11  Karl Berry  <karl@gnu.org>
121180         * doc/gnulib.texi (Quoting): new node.
121181         (Initial import): more info, from Patrice.
121183 2005-07-11  Bruno Haible  <bruno@clisp.org>
121185         * gnulib-tool (func_usage): Document option --avoid.
121186         (Command line options): Handle --avoid.
121187         (func_acceptable): New function.
121188         (func_modules_transitive_closure): Use it.
121190 2005-07-11  Bruno Haible  <bruno@clisp.org>
121192         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
121193         Reported by Jim Meyering.
121195 2005-07-10  Bruno Haible  <bruno@clisp.org>
121197         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
121198         Needed when size_t is smaller than 'unsigned int'.
121199         Reported by Paul Eggert.
121201 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121203         * modules/argp (Depends-on): Add unlocked-io
121205 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121207         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
121208         block of defines.
121210 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
121212         * config/srclist.txt: Comment out regcomp.c, since we have a porting
121213         fix now.
121215 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
121216         and Paul Eggert  <eggert@cs.ucla.edu>
121218         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
121219         in wint_t, not wchar_t.  Remove now-unnecessary cast.
121221 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121223         * modules/regex (Files): Add lib/regex_internal.c,
121224         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
121225         (Depends-on): Add extensions.
121226         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
121228 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121230         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
121231         pathconf.
121232         * m4/same.m4 (gl_SAME): Likewise.
121233         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
121235         * m4/regex.m4: Adjust to new libc regex implementation.
121236         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
121237         all the .c and .h parts of (the new) regex.
121238         Quote the m4 stuff better.
121239         Check for RE_ICASE bug of old gnulib.
121240         Check for REG_STARTEND of recent libc.
121241         Rename local variables from jm_* to gl_*.
121242         Quote operand of "test -f".
121243         Say "recent enough" version of libc, not "version 2".
121244         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
121245         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
121246         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
121247         Remove check for btowc, isascii.
121248         Require AM_LANGINFO_CODESET.
121250 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121252         * lib/regex.c, regex.h: Sync from libc.
121253         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
121254         * lib/regexec.c:
121255         New files, synced from libc, except that regex_internal.h
121256         currently has a small porting fix.
121258 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121260         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
121261         regex_internal.c, regexec.c.
121262         Add regex_internal.h too, but as a comment, since the libc version
121263         is currently broken in gnulib mode.
121265 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
121267         Support programs like Emacs that use gnulib but not gettext.
121268         * MODULES.html.sh (Internationalization functions): Add gettext-h.
121269         * modules/gettext-h: New file.
121270         * modules/gettext (Files): Remove lib/gettext.h.
121271         (Depends-on): Add gettext-h.
121272         (Makefile.am): Remove lib_SOURCES.
121273         * modules/argmatch, modules/c-stack, modules/closeout:
121274         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
121275         * modules/execute, modules/file-type, modules/getaddrinfo:
121276         * modules/getopt, modules/human, modules/javacomp:
121277         * modules/javaexec, modules/mkdir-p, modules/obstack:
121278         * modules/openat, modules/pagealign_alloc, modules/pipe:
121279         * modules/quotearg, modules/regex, modules/rpmatch:
121280         * modules/unicodeio, modules/userspec, modules/version-etc:
121281         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
121282         * modules/xsetenv:
121283         Depend on gettext-h, not gettext.
121285 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
121287         * gnulib-tool (func_import): Add support for 'public domain' license.
121288         * modules/alloca, modules/atexit, modules/memmove:
121289         Now public domain, not GPL.
121290         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
121291         * modules/realloc, modules/strerror, modules/strtod:
121292         Now LGPL, not GPL.
121294 2005-07-05  Bruno Haible  <bruno@clisp.org>
121296         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
121297         autoconf CVS. Needed for mingw.
121299 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121301         Remove the dependency of the strftime module on the tzset module.
121302         * modules/strftime (Depends-on): Remove dependency on tzset.
121304 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121306         Remove the dependency of the strftime module on the tzset module.
121307         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
121308         gl_FUNC_TZSET_CLOBBER.
121310 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121312         Remove the dependency of the strftime module on the tzset module.
121313         * lib/strftime.c (my_strftime)
121314         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
121315         Copy the input structure, to work around some of the bug with
121316         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
121317         Solaris releases, you should also use the tzset module, but we won't
121318         require it as a dependency any more since we don't want LGPLed code
121319         to depend on GPLed code.
121321 2005-07-02  Jim Meyering  <jim@meyering.net>
121323         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
121324         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
121325         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
121326         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
121328 2005-07-02  Jim Meyering  <jim@meyering.net>
121330         * lib/backupfile.c (backup_args): Change a `0' to NULL.
121332 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
121334         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
121335         declares only 'struct timespec;' (!).
121337 2005-07-01  Jim Meyering  <jim@meyering.net>
121339         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
121340         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
121341         * lib/save-cwd.c, tempname.c:
121342         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
121343         and don't include <sys/file.h>).
121345 2005-06-29  Jim Meyering  <jim@meyering.net>
121347         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
121348         type name.  Use the variable name instead.
121349         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
121350         Likewise.
121352 2005-06-28  Simon Josefsson  <jas@extundo.com>
121354         * modules/check-version (Files): Add check-version.m4.
121356 2005-06-28  Simon Josefsson  <jas@extundo.com>
121358         * m4/check-version.m4: New file, suggested by Jim Meyering
121359         <jim@meyering.net>.
121361 2005-06-28  Simon Josefsson  <jas@extundo.com>
121363         * lib/check-version.h, lib/check-version.c: New files.
121365 2005-06-28  Simon Josefsson  <jas@extundo.com>
121367         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
121368         collision with global variable.  Better indentation.  Don't
121369         increment buffer pointer beyond buffer end.  Based on comments
121370         from Paul Eggert <eggert@cs.ucla.edu>.
121372         * lib/base64.h: Indent.
121374 2005-06-28  Simon Josefsson  <jas@extundo.com>
121376         * doc/gnulib.texi (Library version handling): New section.
121378 2005-06-28  Jim Meyering  <jim@meyering.net>
121380         * check-module (find_included_lib_files): Hard-code another
121381         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
121382         but modules/fts-lgpl (correctly) does not list those files.
121384         * modules/canonicalize (Files): Add lib/pathmax.h.
121386 2005-06-25  Simon Josefsson  <jas@extundo.com>
121388         * modules/check-version: New file.
121390 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
121392         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
121393         initializer of struct addrinfo, as an indication that we don't
121394         care how many members the structure has.
121396 2005-06-24  Derek Price  <derek@ximbiot.com>
121397         and Bruno Haible  <bruno@clisp.org>
121399         Remove stat module & update lstat.
121400         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
121401         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
121402         * m4/stat.m4: Remove this file.
121404 2005-06-24  Derek Price  <derek@ximbiot.com>
121405         and Bruno Haible  <bruno@clisp.org>
121407         Remove stat module & update lstat.
121408         * lib/stat.c: Remove this file...
121409         (slash_aware_lstat): ...moving this content and its support...
121410         * lib/lstat.c (rpl_lstat): ...into here.
121411         * lib/lstat.h: New file.
121413 2005-06-24  Derek Price  <derek@ximbiot.com>
121414         and Bruno Haible  <bruno@clisp.org>
121416         Remove stat module & update lstat.
121417         * config/srclist.txt (libc sources): Remove stat.
121419 2005-06-24  Derek Price  <derek@ximbiot.com>
121420         and Bruno Haible  <bruno@clisp.org>
121422         Remove stat module & update lstat.
121423         * MODULES.html.sh (stat): Remove.
121424         * MODULES.html: Regenerated.
121425         * modules/lstat (Description): Correct function name.
121426         (Files): Add "lstat.h".
121427         (Depends-on): Remove stat, add xalloc, stat-macros.
121428         * modules/stat: Remove this file.
121429         (Include): Add "lstat.h", remove <sys/stat.h>.
121431 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
121433         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
121434         (ranged_convert): Don't save conversion in a temporary struct.
121435         This causes a warning with GCC 4.0.0, and anyway in the typical
121436         case it's not worth the extra 100 bytes or so of code.
121437         (ranged_convert, __mktime_internal): When calling a function via a
121438         pointer P, use P () rather than (*P) (), as we now assume C89 or
121439         better.
121441 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
121443         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
121444         "who -r" failed to give output.  Problem reported by Tim Waugh.
121446         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
121447         (xcalloc): Use it to avoid needless tests.
121448         Problem reported by Jim Meyering.
121450 2005-06-20  Derek Price  <derek@ximbiot.com>
121452         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
121453         unnecessary for Autoconfs > 2.59c.
121455 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121457         * lib/argp.h (__option_is_short): Check upper limit of
121458         __key. Isprint() requires its argument to have the value
121459         of an unsigned char or EOF.
121461 2005-06-16  Jim Meyering  <jim@meyering.net>
121463         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
121464         when either N or S is zero.
121466 2005-06-16  Derek Price  <derek@ximbiot.com>
121468         * m4/bison.m4: Declare YACC & YFLAGS precious.
121470 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
121472         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
121473         multibyte string or pattern, fall back on unibyte matching.
121474         Problem reported by James Youngman.
121476 2005-06-08  Bruno Haible  <bruno@clisp.org>
121478         * modules/csharpcomp: New file.
121479         * MODULES.html.sh (C#): Add csharpcomp.
121481 2005-06-08  Bruno Haible  <bruno@clisp.org>
121483         * m4/csharpcomp.m4: New file, from GNU gettext.
121485 2005-06-08  Bruno Haible  <bruno@clisp.org>
121487         * lib/csharpcomp.h: New file, from GNU gettext.
121488         * lib/csharpcomp.c: New file, from GNU gettext.
121489         * lib/csharpcomp.sh.in: New file, from GNU gettext.
121491 2005-06-08  Bruno Haible  <bruno@clisp.org>
121493         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
121494         warning on mingw.
121496 2005-06-07  Derek Price  <derek@ximbiot.com>
121498         Sync from CVS.
121499         * lib/glob_.h: Indent nested #ifdef.
121501 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121503         Sync from coreutils.
121504         Use "file name" when talking about file names, instead of "filename"
121505         or "path", as per the GNU coding standards.
121506         * lib/mkdir-p.c: Renamed from makepath.c.
121507         (make_dir_parents): Renamed from make_path.  All callers changed.
121508         * lib/mkdir-p.h: Likewise.  All includers changed.
121509         * lib/filenamecat.c: Renamed from path-concat.c.
121510         (file_name_concat): Renamed from path_concat.  All callers changed.
121511         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
121512         * lib/filenamecat.h: Likewise.  All includers changed.
121513         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
121514         in comments or local variable names.
121515         * lib/basename.c: Likewise.
121516         * lib/canonicalize.c, canonicalize.h: Likewise.
121517         * lib/dirname.c, dirname.h: Likewise.
121518         * lib/euidaccess.c: Likewise.
121519         * lib/exclude.c: Likewise
121520         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
121521         * lib/fsusage.c, fsuage.h: Likewise.
121522         * lib/fts.c, fts_.h: Likewise.
121523         * lib/getcwd.c: Likewise.
121524         * lib/getloadavg.c: Likewise.
121525         * lib/mkstemp.c: Likewise.
121526         * lib/mountlist.c, mountlist.h: Likewise.
121527         * lib/openat.c, openat.h: Likewise.
121528         * lib/readlink-stub.c: Likewise.
121529         * lib/readutmp.c, readutmp.h: Likewise.
121530         * lib/rename.c: Likewise.
121531         * lib/rmdir.c: Likewise.
121532         * lib/same.c: Likewise.
121533         * lib/savedir.c: Likewise.
121534         * lib/stripslash.c: Likewise.
121535         * lib/tempname.c: Likewise.
121536         * lib/xreadlink.c: Likewise.
121537         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
121538         All uses changed.
121539         * lib/exclude.h: Likewise.
121541         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
121542         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121543         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
121544         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121545         * lib/pathmax.h: Include <limits.h> unconditionally, since other
121546         files have been getting away with it for years (MORE/BSD 4.3
121547         is extinct now).
121548         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
121549         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121551         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
121552         Define to 256, not 255, as per modern POSIX.
121554 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121556         Sync from coreutils.
121557         Use "file name" when talking about file names, instead of "filename"
121558         or "path", as per the GNU coding standards.
121559         * MODULES.html.sh: mkdir-p renamed from makepath.
121560         filenamecat renamed from path-concat.
121561         * modules/filenamecat: Renamed from modules/path-concat.
121562         (Files): filenamecat.h and filenamecat.c renamed from
121563         path-concat.h and path-concat.c.
121564         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
121565         (Include): filenamecat.h, not path-concat.h.
121566         * modules/mkdir-p: Renamed from modules/makepath.
121567         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
121568         makepath.c.
121569         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
121570         (Include): mkdir-p.h, not makepath.h.
121572 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121574         Sync from coreutils.
121575         * m4/mkdir-p.m4: Renamed from makepath.m4.
121576         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
121577         Rename files from makepath.c to mkdir-p.c, and from
121578         makepath.h to mkdir-p.h.
121579         * m4/filenamecat.m4: Renamed from path-concat.m4.
121580         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
121581         Rename files from path-concat.c to filenamecat.c,
121582         and from path-concat.h to filenamecat.h.
121583         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
121584         "file name" in local variables or comments.
121585         * m4/rename.m4: Likewise.
121587 2005-06-01  Bruno Haible  <bruno@clisp.org>
121589         * modules/csharpexec: New file.
121590         * MODULES.html.sh (C#): New section.
121592 2005-06-01  Bruno Haible  <bruno@clisp.org>
121594         * m4/csharp.m4: New file, from GNU gettext.
121595         * m4/csharpexec.m4: New file, from GNU gettext.
121597 2005-06-01  Bruno Haible  <bruno@clisp.org>
121599         * lib/csharpexec.h: New file, from GNU gettext.
121600         * lib/csharpexec.c: New file, from GNU gettext.
121601         * lib/csharpexec.sh.in: New file, from GNU gettext.
121603 2005-05-31  Derek Price  <derek@ximbiot.com>
121604             Paul Eggert  <eggert@cs.ucla.edu>
121606         Sync from cvs.
121607         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121609 2005-05-31  Derek Price  <derek@ximbiot.com>
121610             Paul Eggert  <eggert@cs.ucla.edu>
121612         Sync from cvs.
121613         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121615 2005-05-29  Derek Price  <derek@ximbiot.com>
121617         * config/srclist.txt (glob_.h, glob.c): Add these files.
121619 2005-05-29  Derek Price  <derek@ximbiot.com>
121621         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
121622         * modules/glob: New file.
121623         * modules/getlogin_r: Add link to POSIX spec in description.
121625 2005-05-29  Derek Price  <derek@ximbiot.com>
121626             Paul Eggert  <eggert@cs.ucla.edu>
121628         * m4/glob.m4: New file.
121630 2005-05-29  Derek Price  <derek@ximbiot.com>
121631             Paul Eggert  <eggert@cs.ucla.edu>
121633         * lib/glob_.h, lib/glob.c: New files.
121635 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121637         * modules/fts (Files): Remove m4/inttypes-pri.m4.
121638         * modules/fts-lgpl (Depends-on): Remove gettext.
121640 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121642         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
121643         and don't require gt_INTTYPES_PRI.
121645 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121647         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
121649         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
121650         the configuration hassle isn't worth it.
121651         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
121652         (LONGEST_MODIFIER, PRIuMAX): Remove.
121654 2005-05-27  Bruno Haible  <bruno@clisp.org>
121656         * lib/getlogin_r.h: Remove second include of <stddef.h>.
121658 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
121660         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
121661         _POSIX_PTHREAD_SEMANTICS for Solaris.
121663 2005-05-25  Derek Price  <derek@ximbiot.com>
121665         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
121667 2005-05-25  Derek Price  <derek@ximbiot.com>
121668             Paul Eggert  <eggert@cs.ucla.edu>
121670         * modules/getlogin_r, m4/getlogin_r.m4: New files.
121671         * lib/getlogin_r.c, getlogin_r.h: New files.
121673 2005-05-25  Bruno Haible  <bruno@clisp.org>
121674             Derek Price  <derek@ximbiot.com>
121676         * lib/getlogin_r.h: Simplify API documentation.
121678 2005-05-23  Derek Price  <derek@ximbiot.com>
121680         * modules/minmax (Files): Add m4/minmax.m4.
121681         (configure.ac): Add gl_MINMAX.
121683 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
121685         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
121686         so that unistd-safer.h (GPL'ed code) need not be included.
121688 2005-05-22  Bruno Haible  <bruno@clisp.org>
121690         * m4/minmax.m4: New file.
121691         Based on a patch by Derek Price <derek@ximbiot.com>.
121693 2005-05-22  Bruno Haible  <bruno@clisp.org>
121695         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
121696         (INT64_MIN): Fix definition.
121697         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
121699         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
121700         NEED_SIGNED_INT_TYPES.
121702         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
121703         HAVE_SYSTEM_INTTYPES.
121705 2005-05-22  Bruno Haible  <bruno@clisp.org>
121707         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
121708         Also include <sys/param.h> if it defines MIN, MAX.
121709         Based on a patch by Derek Price <derek@ximbiot.com>.
121711 2005-05-21  Jim Meyering  <jim@meyering.net>
121713         * modules/fts (Files): Add m4/inttypes-pri.m4.
121714         (Depends-on): Add lstat and remove gettext.  Alphabetize.
121716 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121718         New fts module.
121719         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
121720         (setup_dir, free_dir): New functions.
121721         (enter_dir, leave_dir): Define trivial
121722         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
121723         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
121724         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
121725         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
121726         Move to fts-cycle.c.
121727         (fts_open): Use setup_dir.
121728         (fts_close): Use free_dir.
121729         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
121730         This adds a label and some gotos, but the alternatives were messier.
121731         Check for memory allocation failure when entering a dir.
121732         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
121733         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
121734         (FTS): New member fts_cycle, that is a union that contains the
121735         old active_dir_ht and cycle_state.  All uses changed to mention
121736         fts_cycle.ht and fts_cycle.state.
121737         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
121738         fts.c, with the following changes:
121739         (setup_dir, free_dir): New functions.
121740         (enter_dir): Now returns bool.  Return true if successful, false
121741         if memory exhausted.  All callers changed.
121742         Do not bother partly cleaning up on
121743         memory allocation failure; that is free_dir's job.
121744         However, free ad if hash_insert fails, to avoid memory leak.
121745         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
121746         fts->fts_options to see which union member to use.
121748 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121750         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
121751         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
121753 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121755         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
121757 2005-05-20  Jim Meyering  <jim@meyering.net>
121759         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
121760         Now a macro, to pacify GCC.
121762 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121764         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
121765         of -1.
121767 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121769         * lib/chown.c (rpl_chown): Return -1 on failure.
121771 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121773         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
121774         Don't check for stddef.h.
121775         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
121776         don't use its results.
121777         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
121778         since we include them unconditionally.  Don't require
121779         AM_STDBOOL_H, since stdbool is a prerequisite.
121780         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
121781         since we assume C89 or better.
121782         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
121783         as we don't use their results.
121784         Don't check for fchdir, memmove, memset, strrchr, as we use
121785         them unconditionally.
121786         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
121787         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
121789 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121791         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
121792         Include <stddef.h> unconditionally, since we assume C89 now.
121793         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
121794         * lib/fts.c: Include fts_.h first, to check interface.
121795         Do not include intprops.h; no longer needed.
121796         Include cycle-check.h and hash.h, since fts_.h no longer does.
121797         Remove unnecessary casts of closedir to void.
121798         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
121799         decide whether to decrement nlinks.
121800         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
121801         (FTS): Use struct hash_table * instead of Hash_table, so that
121802         we no longer need to include hash.h here.
121804 2005-05-18  Jim Meyering  <jim@meyering.net>
121806         * modules/dirfd (License): Change to LGPL.  Most of the code
121807         is already in the public domain.
121809 2005-05-18  Jim Meyering  <jim@meyering.net>
121811         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
121812         Reported by Yoann Vandoorselaere.
121814 2005-05-17  Jim Meyering  <jim@meyering.net>
121816         * m4/fts.m4: New file, from coreutils.
121818 2005-05-17  Jim Meyering  <jim@meyering.net>
121820         * lib/fts.c, lib/fts_.h: New files, from coreutils.
121822 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121824         Sync from coreutils.
121825         * m4/unlinkdir.m4: New file.
121827 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121829         Sync from coreutils.
121830         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
121831         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
121832         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
121833         White space changes only.
121834         * lib/makepath.c (make_path): Port to hosts where leading "//" is
121835         special.
121836         * lib/yesno.c: Include getline.h, not ctype.h.
121837         (yesno): Don't remove leading white space; POSIX doesn't allow it.
121838         Use getline to remove arbitrary restriction on response length.
121840 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121842         * config/srclist-update: Spell out "Street" in FSF postal
121843         mail address; this is the style the FSF seems to prefer.
121845         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
121846         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
121847         this updates FSF postal mail address.
121849         Sync from coreutils.
121850         * modules/unlinkdir: New file.
121851         * modules/yesno (Depends-on): Add getline.
121852         * MODULES.html.sh (File system functions): Add unlinkdir.
121854 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121856         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
121857         lib/strsep.h:
121858         Change the initial comment to refer to GPL, not LGPL.
121859         gnulib-tool will change it to LGPL as needed.
121861         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
121862         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
121863         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
121864         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
121865         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
121866         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
121867         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
121868         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
121869         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
121870         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
121871         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
121872         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
121873         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
121874         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
121875         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
121876         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
121877         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
121878         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
121879         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
121880         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
121881         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
121882         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
121883         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
121884         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
121885         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
121886         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
121887         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
121888         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
121889         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
121890         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
121891         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
121892         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
121893         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
121894         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
121895         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
121896         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
121897         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
121898         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
121899         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
121900         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
121901         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
121902         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
121903         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
121904         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
121905         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
121906         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
121907         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
121908         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
121909         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
121910         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
121911         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
121912         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
121913         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
121914         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
121915         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
121916         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
121917         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
121918         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
121919         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
121920         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
121921         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
121922         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
121923         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
121924         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
121925         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
121926         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
121927         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
121928         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
121929         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
121930         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
121931         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
121932         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
121933         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
121934         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
121935         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
121936         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
121937         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
121938         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
121939         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
121940         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
121941         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
121942         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
121943         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
121944         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
121945         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
121946         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
121947         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
121948         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
121949         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
121950         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
121951         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
121952         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
121953         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
121954         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
121955         lib/yesno.c, lib/yesno.h:
121956         Update FSF postal mail address.
121958 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121960         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
121961         tests/test-memmem.c, tests/test-stpncpy.c:
121962         Update FSF postal mail address.
121964 2005-05-13  Bruno Haible  <bruno@clisp.org>
121966         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
121967         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
121968         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
121969         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
121970         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
121971         Add support for 64-bit integers in the MSVC compiler.
121973 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121975         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
121977 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
121979         * gnulib-tool (func_import): Sort and uniquify recommended includes.
121981 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
121983         * doc/getdate.texi (General date syntax): Don't say that date
121984         date --iso-8601=ns generates acceptable dates; it doesn't yet.
121985         Problem reported by Nic Ferrier.
121987 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121989         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
121990         specified in ai_socktype. Fix invalid ai_protocol
121991         check. ai_protocol is usually set to 0 or depending on
121992         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
121993         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
121994         ai_socktype / ai_protocol in the returned addrinfo structure.
121996 2005-05-10  Simon Josefsson  <jas@extundo.com>
121998         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
121999         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
122001 2005-05-10  Karl Berry  <karl@gnu.org>
122003         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
122004         (from http://www.gnu.org/licenses).
122005         * doc/COPYING.LIB: also rename to COPYING.LESSER.
122006         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
122007         fdl.texi suffices.
122009 2005-05-10  Karl Berry  <karl@gnu.org>
122011         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
122012         (COPYING.DOC): remove.
122014         * config/srclist-update: new FSF address.
122016 2005-05-10  Derek Price  <derek@ximbiot.com>
122018         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
122019         possible.
122021 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122022             Bruno Haible  <bruno@clisp.org>
122024         * modules/inet_ntop: New file.
122025         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122026         inet_ntop.
122028 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122029             Bruno Haible  <bruno@clisp.org>
122031         * m4/inet_ntop.m4: New file.
122033 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122034             Bruno Haible  <bruno@clisp.org>
122036         * lib/inet_ntop.h: New file.
122037         * lib/inet_ntop.c: New file, from glibc with modifications.
122039 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
122041         * modules/time_r (License): Change to LGPL.
122042         * modules/extensions (License): Change to LGPL.  Actually,
122043         the license is more permissive than that, but currently gnulib-tool
122044         doesn't know how to handle more-permissive licenses.
122046         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
122047         Problem reported by Dave Love.
122049 2005-05-08  Jim Meyering  <jim@meyering.net>
122051         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
122052         blank.
122054 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
122056         * modules/argmatch (Depends-on): Add stdbool.
122057         * modules/backupfile (Depends-on): Likewise.
122058         * modules/chdir-long (Depends-on): Likewise.
122059         * modules/closeout (Depends-on): Likewise.
122060         * modules/cycle-check (Depends-on): Likewise.
122061         * modules/dirname (Depends-on): Likewise.
122062         * modules/fnmatch (Depends-on): Likewise.
122063         * modules/fsusage (Depends-on): Likewise.
122064         * modules/fwriteerror (Depends-on): Likewise.
122065         * modules/getcwd (Depends-on): Likewise.
122066         * modules/getloadavg (Depends-on): Likewise.
122067         * modules/hard-locale (Depends-on): Likewise.
122068         * modules/makepath (Depends-on): Likewise.
122069         * modules/mountlist (Depends-on): Likewise.
122070         * modules/nanosleep (Depends-on): Likewise.
122071         * modules/posixtm (Depends-on): Likewise.
122072         * modules/quotearg (Depends-on): Likewise.
122073         * modules/readtokens (Depends-on): Likewise.
122074         * modules/readtokens0 (Depends-on): Likewise.
122075         * modules/readutmp (Depends-on): Likewise.
122076         * modules/save-cwd (Depends-on): Likewise.
122077         * modules/strftime (Depends-on): Likewise.
122078         * modules/userspec (Depends-on): Likewise.
122079         * modules/utimecmp (Depends-on): Likewise.
122080         * modules/xgetcwd (Depends-on): Likewise.
122081         * modules/xnanosleep (Depends-on): Likewise.
122082         * modules/xstrtod (Depends-on): Likewise.
122083         * modules/yesno (Depends-on): Likewise.
122085 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
122087         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
122088         needless checks.
122090 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122092         Merge from coreutils.  Among other things,
122093         add bulletproofing for cases where stdin, stdout, or stderr are closed.
122094         * lib/fd-safer.c: New file.
122095         * lib/fcntl-safer.h, open-safer.c: Remove.
122096         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
122097         * lib/dup-safer.c: Include unistd-safer.h first.
122098         Don't include errno.h.
122099         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
122100         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
122101         * lib/file-type.c: Rely on file-type.h change.
122102         * lib/getloadavg.c: Include unistd-safer.h.
122103         (getloadavg): Use safer open.
122104         * lib/getusershell.c: Include "stdio-safer.h".
122105         (getusershell): Use safer fopen.
122106         * lib/long-options.c (long_options): Use NULL rather than 0.
122107         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
122108         'free'.
122109         * lib/modechange.c: Likewise.
122110         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
122111         (MODE_DONE): New constant.
122112         (struct mode_change): Remove 'next' member.
122113         (make_node_op_equals): New function; like the old one of the
122114         same name, except it allocates an array.
122115         (mode_compile, mode_create_from_ref): Use it.
122116         (mode_compile): Allocate result as an array, not a linked list.
122117         Parse octal string ourself, so that we catch mistakes like "+0".
122118         (mode_adjust): Arg is an array, not a linked list.
122119         * lib/modechange.c: Include stat-macros.h, xalloc.h.
122120         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
122121         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
122122         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
122123         Remove.  This is now stat-macros.h's job.
122124         (talloc): Remove.  All callers replaced by xalloc, so that
122125         our invokers don't have to worry about reporting memory failures.
122126         (make_node_op_equals): Remove.
122127         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122128         New constants.
122129         (struct mode_change): Moved here from modechange.h.
122130         (mode_append_entry): Remove.
122131         (mode_compile): Remove MASKED_OPS arg, since it encouraged
122132         apps to have incorrect behavior.  Use simpler algorithm for head
122133         and tail.  Don't futz with umask; that's now the job of mode_adjust.
122134         Detect more invalid usages rather than having somewhat-random behavior.
122135         Don't insert an "a=" action, as that leads to incorrect behavior.
122136         (mode_compile, mode_create_from_ref): Return NULL on error instead
122137         of an enum, since now there's only one way to have an error.  All
122138         callers changed.
122139         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
122140         at the correct time.  Simplify calculation of "+u" and its ilk.
122141         Don't mishandle "+X".
122142         (mode_free): Remove "register" and localize decls.
122143         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122144         (struct mode_change): Move to modechange.c; callers don't
122145         need to see this stuff.
122146         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
122147         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
122148         (mode_change, mode_adjust): Reflect the new signatures noted above.
122149         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
122150         that might redefine system include files.
122151         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
122152         (my_usleep): Use NULL rather than (void *) 0.
122153         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
122154         Use siginterrupt to specify that system calls should be interrupted.
122155         (rpl_nanosleep): Move initialization of suspended closer to call of
122156         my_usleep.
122157         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
122158         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
122159         (desirable_utmp_entry): New function.
122160         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
122161         using x2nrealloc, to simplify logic.
122162         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
122163         size calculation.  Do not assume utmp file is a regular file.
122164         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
122165         (READ_UTMP_CHECK_PIDS): New constant.
122166         * lib/save-cwd.c: Include unistd-safer.h.
122167         (save_cwd): Use fd_safer.
122168         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
122169         [!_LIBC] Include "stat-macros.h" instead.
122170         * lib/unistd-safer.h (fd_safer): New decl.
122172 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122174         * modules/getloadavg (Depends-on): Add unistd-safer.
122175         * modules/getusershell (Depends-on): Add stdio-safer.
122176         * modules/lstat (Depends-on): Remove xalloc.
122177         * modules/mkstemp (Depends-on): Add stat-macros.
122178         * modules/modechange (Depends-on): Remove xstrtol.
122179         Add stat-macros, xalloc.
122180         * modules/save-cwd (Depends-on): Add unistd-safer.
122181         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
122182         * modules/unistd-safer (Files): Add lib/fd-safer.c
122183         (Makefile.am): Remove lib_SOURCES.
122185         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
122186         Remove fcntl-safer; unistd-safer supersedes it.
122188 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122190         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
122191         AC_HEADER_STAT.
122192         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
122193         (gl_PREREQ_CHOWN): Remove.
122194         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
122195         it.  Don't require AC_HEADER_STAT.
122196         (gl_PREREQ_LSTAT): Remove.
122197         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
122198         Don't require AC_HEADER_STAT.
122199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
122200         (gl_PREREQ_RMDIR): Remove.
122201         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
122202         mention stat-macros.h or AC_HEADER_STAT, since we'll make
122203         the stat-macros module a prerequisite.
122204         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
122205         * m4/filemode.m4 (gl_FILEMODE): Likewise.
122206         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
122207         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
122208         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
122209         variable names.
122210         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
122211         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
122212         variable prefixes.
122213         * m4/fcntl-safer.m4: Remove.
122214         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
122215         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
122216         Invoke gl_PREREQ_FD_SAFER.
122217         (gl_PREREQ_FD_SAFER): New macro.
122218         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
122219         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
122220         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
122221         Remove duplicate call to AC_LIBOBJ(readutmp).
122222         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
122224         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
122225         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
122227 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122229         * MODULES.html.sh (Misc): Add byteswap.
122231 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122233         * modules/getcwd (Depends-on): Add extensions.
122234         * modules/openat (Depends-on): Likewise.
122236 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122238         * modules/byteswap: New file.
122240 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122242         * m4/byteswap.m4: New file.
122244 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122246         * lib/byteswap_.h: New file.
122248 2005-04-25  Karl Berry  <karl@gnu.org>
122250         * m4/gettext.m4: Update from GNU gettext 0.14.4.
122252 2005-04-25  Albert Chin  <china@thewrittenword.com>
122254         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
122255         Toolkit C bug.
122257 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
122259         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
122260         (func_ln_if_changed): Remove forcibly for no error message
122261         in case file does not exist.
122263 2005-04-19  Simon Josefsson  <jas@extundo.com>
122265         * gnulib-tool (Options): Make --symlink mean --symbolic.
122267 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
122269         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
122271 2005-04-16  Simon Josefsson  <jas@extundo.com>
122273         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
122275 2005-04-15  Simon Josefsson  <jas@extundo.com>
122277         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
122279 2005-04-15  Simon Josefsson  <jas@extundo.com>
122281         * gnulib-tool: Rename --symlink to --symbolic.
122283 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
122285         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
122286         symbolic links to files instead of copying/moving.  Add --aux-dir,
122287         specifying directory relative --dir where auxiliary build tools
122288         are placed.
122290 2005-04-14  Bruno Haible  <bruno@clisp.org>
122292         * modules/allocsa (License): Change to LGPL.
122293         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
122295 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
122297         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
122298         that "UTC +1 second" continues to work.  Problem reported
122299         by Dmitry V. Levin.
122300         (relunit_snumber): New rule.
122301         (relunit): Use it.
122303 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
122305         * lib/getdate.y (universal_time_zone_table): New constant.
122306         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
122307         universal_time_zone_table.
122308         (lookup_zone): Prefer universal_time_zone_table to
122309         local_time_zone_table, so that "GMT" time stamps are allowed in
122310         London during the summer.  Problem reported by Ian Abbott.
122312 2005-04-12  Jim Meyering  <jim@meyering.net>
122314         * lib/human.c (humblock): Set *options even when returning due to
122315         xstrtoumax conversion failure.  Thanks to a used-uninitialized
122316         warning from gcc-4.
122318 2005-04-09  Jim Meyering  <jim@meyering.net>
122320         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
122321         -Wuninitialized: initialize tm0.tm_year.
122323 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
122325         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
122326         count, since there's no maximum.  All uses changed.
122327         Add member dsts_seen.
122328         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
122329         not being INT_MAX.
122330         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
122331         Use pc_rels_seen to decide whether a date is absolute.
122333         * lib/getdate.y (number): Don't overwrite year.
122334         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
122335         check.
122337 2005-04-02  Simon Josefsson  <jas@extundo.com>
122339         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
122340         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
122342 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
122344         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
122345         where no absolute path name can be longer than PATH_MAX.
122347 2005-03-27  Jim Meyering  <jim@meyering.net>
122349         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
122351 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
122353         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
122354         "one's complement" -> "ones' complement" in comment, as per Knuth.
122355         "value of type" -> "type or expression" in comment.
122356         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
122358 2005-03-26  Jim Meyering  <jim@meyering.net>
122360         Comment nits.
122361         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
122362         Correct typos: s/or/of/.
122364 2005-03-26  Jim Meyering  <jim@meyering.net>
122366         * modules/check-include-files: Move to ../ and rename to...
122367         * check-module: ...this.
122369 2005-03-25  Jim Meyering  <jim@meyering.net>
122371         * modules/xvasprintf (Files): Add xalloc.h.
122373 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
122375         * modules/gettext (Files): config/config.rpath ->
122376         build-aux/config.rpath
122377         * modules/iconv (Files): Likewise.
122378         Problem reported by Oskar Liljeblad.
122380 2005-03-23  Jim Meyering  <jim@meyering.net>
122382         * modules/check-include-files: New script to check for
122383         missing dependencies, multiple includes, etc.
122385         * modules/c-strtold (Depends-on): Add xalloc.
122386         * modules/c-strtod (Depends-on): Add xalloc.
122387         * modules/hash (Depends-on): Add xalloc.
122388         (Files): Remove lib/xalloc.h.
122390         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
122391         * modules/userspec (Files): Add lib/inttostr.h.
122393 2005-03-23  Jim Meyering  <jim@meyering.net>
122395         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
122397 2005-03-22  Jim Meyering  <jim@meyering.net>
122399         * modules/stat-macros: New module.
122400         * modules/canonicalize, modules/euidaccess, modules/file-type,
122401         * modules/filemode, modules/lchown, modules/makepath,
122402         * modules/rmdir, modules/stat: Depend on new stat-macros module
122403         rather than listing lib/stat-macros.h manually.
122404         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
122406 2005-03-22  Jim Meyering  <jim@meyering.net>
122408         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
122410 2005-03-22  Bruno Haible  <bruno@clisp.org>
122412         * config/srclist.txt: Replace target directory 'config' with
122413         'build-aux'.
122414         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
122415         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
122416         ../build-aux/.
122418 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
122420         * modules/chdir-long (Depends-on): Add mempcpy.
122422         * modules/acl, modules/backupfile, modules/c-strtod,
122423         modules/c-strtold, modules/canon-host, modules/canonicalize,
122424         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
122425         modules/exclude, modules/exitfail, modules/file-type,
122426         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
122427         modules/getdate, modules/getline, modules/getpagesize,
122428         modules/getpass, modules/getugroups, modules/group-member,
122429         modules/hard-locale, modules/hash, modules/human, modules/idcache,
122430         modules/inttostr, modules/long-options, modules/makepath,
122431         modules/md5, modules/memcasecmp, modules/memcoll,
122432         modules/modechange, modules/mountlist, modules/path-concat,
122433         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
122434         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
122435         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
122436         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
122437         modules/strftime, modules/strndup, modules/strverscmp,
122438         modules/timespec, modules/unlocked-io, modules/userspec,
122439         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
122440         modules/yesno:
122441         Remove lib_SOURCES line from Makefile.am section, as this is now
122442         done automatically by the corresponding Autoconf macro.
122444 2005-03-21  Jim Meyering  <jim@meyering.net>
122446         Changes imported from coreutils.
122448         * lib/cycle-check.c: Don't include xalloc.h.
122450         * lib/path-concat.c: Don't include assert.h.
122451         (path_concat): Remove assertion that would have triggered
122452         for ABASE starting with more than one slash.
122453         Reported by Andreas Schwab.
122455         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
122456         properly when ABASE is an absolute file name.
122457         Correct the description of this function.
122458         Include <assert.h>.
122459         Add an assertion and a test driver.
122460         This fixes a bug introduced on 2004-07-02.
122461         Andreas Schwab reported the resulting failure of cp --parents:
122462         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
122464 2005-03-21  Jim Meyering  <jim@meyering.net>
122466         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
122467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
122469 2005-03-21  Jim Meyering  <jim@meyering.net>
122470         and  Paul Eggert  <eggert@cs.ucla.edu>
122472         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
122473         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
122474         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
122475         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
122476         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
122477         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
122478         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
122479         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
122480         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
122481         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
122482         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
122483         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
122484         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
122485         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
122486         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
122487         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
122488         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
122489         for these modules.
122491 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
122493         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
122494         (which shouldn't happen), generate nothing instead of returning 0
122495         immediately, so that nstrftime (NULL, ...) doesn't return 0.
122497 2005-03-16  Bruno Haible  <bruno@clisp.org>
122499         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
122500         HAVE_LONGLONG_64BIT.
122502 2005-03-16  Bruno Haible  <bruno@clisp.org>
122504         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
122505         HAVE_LONGLONG_64BIT.
122507 2005-03-16  Bruno Haible  <bruno@clisp.org>
122509         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
122510         HAVE_LONGLONG_64BIT.
122512 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122514         * lib/strftime.c (my_strftime): Prepend space to format so that we can
122515         reliably distinguish strftime failure from empty output on POSIX
122516         hosts.
122518 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122520         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
122521         (iconv_string): Don't guess a size-zero buffer, as that might cause
122522         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
122523         result would be 'too large', where 'too large' is (heuristically)
122524         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
122525         overflow concerns.  This will prevent some unwanted malloc failures
122526         when the inputs are very large.
122528 2005-03-15  Karl Berry  <karl@gnu.org>
122530         * config/srclist.txt (config.rpath): from gettext.
122531         * config/config.rpath: update.
122533 2005-03-15  Bruno Haible  <bruno@clisp.org>
122535         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
122536         to 'negate'.
122538         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
122539         variable.
122541         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
122542         results.
122544 2005-03-14  Simon Josefsson  <jas@extundo.com>
122546         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
122547         <fx@gnu.org>.
122549 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
122551         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
122552         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
122553         intprops.h.
122554         * lib/strtol.c: Likewise.
122556 2005-03-14  Jim Meyering  <jim@meyering.net>
122558         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
122559         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
122560         to be nonzero so that we (and caller) can detect the difference
122561         between a valid zero-length expansion and an error return, even
122562         when the underlying strftime fails before writing anything into
122563         that location.
122565 2005-03-14  Bruno Haible  <bruno@clisp.org>
122567         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
122568         Update from GNU gettext 0.14.3.
122570 2005-03-10  Jim Meyering  <jim@meyering.net>
122572         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
122574 2005-03-10  Jim Meyering  <jim@meyering.net>
122576         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
122577         so that this module works on systems without fchdir.
122579 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
122581         Factor int-properties macros into a single file, except for
122582         glibc-related files.
122583         * lib/intprops.h: New file.
122584         * lib/getloadavg.c: Include it instead of limits.h.
122585         (INT_STRLEN_BOUND): Remove.
122586         * lib/human.c: Include intprops.h.
122587         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
122588         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
122589         302/1000.
122590         * lib/inttostr.h: Include intprops.h instead of limits.h.
122591         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
122592         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
122593         for consistency with intprops.h.
122594         (time_t_is_integer, twos_complement_arithmetic): Use them.
122595         * lib/sig2str.h: Include <signal.h>, intprops.h.
122596         (INT_STRLEN_BOUND): Remove.
122597         * lib/strftime.c (TYPE_SIGNED): Remove.
122598         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
122599         * lib/strtol.c: Adjust comments to match intprops.h.
122600         * lib/userspec.c: Include intprops.h.
122601         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
122602         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
122603         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
122604         instead of rolling our own expressions.
122605         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
122607         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
122608         instead of int.
122609         (my_strftime): Do not mishandle years close to INT_MAX, by doing
122610         the right thing even if adding 1900 would overflow.  Similarly
122611         for tm_mon + 1 and tm_yday + 1.
122612         Make %Y always equivalent to %C%y, and similarly for %G and %g.
122613         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
122614         (DO_SIGNED_NUMBER): New macro.
122615         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
122617 2005-03-07  Bruno Haible  <bruno@clisp.org>
122619         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
122621 2005-03-07  Bruno Haible  <bruno@clisp.org>
122623         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
122625 2005-03-04  Derek R. Price  <derek@ximbiot.com>
122627         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
122628         (func_import): Only replace files via --import when they have actually
122629         changed.
122631 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122633         * m4/mmap-anon.m4: New file.
122634         * m4/pagealign_alloc.m4: New file.
122636 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122637             Bruno Haible  <bruno@clisp.org>
122639         * modules/pagealign_alloc: New file.
122640         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
122642 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122643             Bruno Haible  <bruno@clisp.org>
122645         * lib/pagealign_alloc.h: New file.
122646         * lib/pagealign_alloc.c: New file.
122648 2005-03-03  Bruno Haible  <bruno@clisp.org>
122650         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
122651         Use an all-permissive copyright notice, recommended by RMS.
122653 2005-03-02  Bruno Haible  <bruno@clisp.org>
122655         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
122656         of AIX, the replacement has to be done only after <string.h> is
122657         included, therefore not in config.h. stpncpy.h does the replacement,
122658         and stpncpy.c uses it.
122660 2005-03-02  Bruno Haible  <bruno@clisp.org>
122662         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
122663         stpncpy.c uses it.
122665 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122667         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
122668         The workaround isn't strictly needed for POSIX conformance, and
122669         it's too much of a pain to configure and maintain.  We'll ask
122670         people to fix their kernels instead.
122671         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
122672         (NANOSLEEP_BUG_WORKAROUND): Remove.
122673         (xnanosleep): Remove the workaround.
122675 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122677         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
122678         Reported by Derek Price.
122679         (Include): Add "timespec.h".
122681         * modules/xnanosleep (Depends-on): Remove gethrxtime.
122683 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122685         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
122686         to detect nanosleep bug.
122688 2005-03-01  Bruno Haible  <bruno@clisp.org>
122690         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
122692 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
122694         * modules/gethrxtime: New file.
122695         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
122696         (Depends-on): Add gethrxtime.
122697         (configure.ac): Add gl_XNANOSLEEP.
122698         (Makefile.am): Remove lib_SOURCES line.
122700 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122702         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
122703         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
122705 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122707         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
122708         * lib/timespec.h (gettime): Return void, since it always
122709         succeeds now.  All uses changed.
122710         * lib/gettime.c (gettime): Likewise.
122711         [HAVE_NANOTIME]: Prefer nanotime.
122712         Assume gettimeofday succeeds, as POSIX requires.
122713         Assime time () succeeds, since other code already does.
122714         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
122715         (timespec_subtract): Remove.
122716         (NANOSLEEP_BUG_WORKAROUND): New constant.
122717         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
122718         things considerably.  Use it only on GNU/Linux hosts, since the
122719         workaround shouldn't be needed elsewhere.
122721 2005-02-24  Bruno Haible  <bruno@clisp.org>
122723         * modules/gettext (Files): Add m4/glibc2.m4.
122725 2005-02-24  Bruno Haible  <bruno@clisp.org>
122727         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
122728         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
122729         * m4/progtest.m4:
122730         Update from GNU gettext 0.14.2.
122731         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
122733 2005-02-24  Bruno Haible  <bruno@clisp.org>
122735         * lib/localcharset.c: Update from GNU gettext 0.14.2.
122736         * lib/config.charset: Update from GNU gettext 0.14.2.
122738 2005-02-24  Bruno Haible  <bruno@clisp.org>
122740         * lib/gettext.h: Update from GNU gettext 0.14.2.
122742 2005-02-23  Simon Josefsson  <jas@extundo.com>
122744         * m4/iconvme.m4: New file.
122746 2005-02-23  Jim Meyering  <jim@meyering.net>
122748         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
122749         change.
122750         Thanks to Bruno Haible for catching it.
122752 2005-02-22  Simon Josefsson  <jas@extundo.com>
122754         * modules/iconvme: New file.
122756         * MODULES.html.sh: Add iconvme.
122758 2005-02-22  Simon Josefsson  <jas@extundo.com>
122760         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
122762 2005-02-22  Simon Josefsson  <jas@extundo.com>
122764         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
122766 2005-02-22  Jim Meyering  <jim@meyering.net>
122768         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
122769         s/ifndef/ifdef/.
122771 2005-02-20  Neil Conway  <neilc@samurai.com>
122773         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
122774         returned by OSX/Darwin if the specified buffer is not large
122775         enough for the hostname.
122777 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122779         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
122780         pass it to _help, otherwise the latter coredumps trying to
122781         dereference state.root_argp.
122783 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122785         * modules/chdir-long (Depends-on): Add memrchr.
122786         * modules/memrchr (Files): Add lib/memrchr.h.
122787         (Include): "memrchr.h".
122789 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122791         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
122793 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122795         * lib/memrchr.h: New file.
122796         * lib/chdir-long.c: Include it.
122797         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
122798         Don't bother including stddef.h.
122800 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
122802         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
122803         inclusion.
122804         Include <sys/types.h>, for dev_t.
122805         (ME_DUMMY, ME_REMOTE): Move from here....
122806         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
122807         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
122808         Dmitry V. Levin.
122809         Include mountlist.h first, to test the interface.
122811 2005-01-29  Bruno Haible  <bruno@clisp.org>
122813         * lib/progname.c (program_name): Initialize.
122814         Needed when linking statically on MacOS X.
122816 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122818         Sync from coreutils.
122819         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
122820         (Depends-on): Add c-strtod.
122821         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
122823 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122825         Sync from coreutils.
122826         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
122828         Remove files that are specific to coreutils.
122829         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
122831 2005-01-28  Bruno Haible  <bruno@clisp.org>
122833         * modules/javacomp: New file.
122834         * MODULES.html.sh (Java): Add javacomp.
122836 2005-01-28  Bruno Haible  <bruno@clisp.org>
122838         * m4/javacomp.m4: New file, from GNU gettext.
122840 2005-01-28  Bruno Haible  <bruno@clisp.org>
122842         * lib/javacomp.sh.in: New file, from GNU gettext.
122843         * lib/javacomp.h: New file, from GNU gettext.
122844         * lib/javacomp.c: New file, from GNU gettext.
122846 2005-01-26  Simon Josefsson  <jas@extundo.com>
122848         * lib/gai_strerror.c: Use GPL in header.
122850 2005-01-26  Bruno Haible  <bruno@clisp.org>
122852         * modules/javaexec: New file.
122853         * MODULES.html.sh (Java): Add javaexec.
122855 2005-01-26  Bruno Haible  <bruno@clisp.org>
122857         * m4/javaexec.m4: New file, from GNU gettext.
122859 2005-01-26  Bruno Haible  <bruno@clisp.org>
122861         * lib/javaexec.sh.in: New file, from GNU gettext.
122862         * lib/javaexec.h: New file, from GNU gettext.
122863         * lib/javaexec.c: New file, from GNU gettext.
122865 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122867         * modules/lchown (Depends-on): Remove lchown.h
122869 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122871         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
122872         must be defined if the header file was not found, in order
122873         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
122875 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122877         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
122878         initializers for struct pentry_state.
122879         (__argp_error): Check return value of __asprintf
122880         (__argp_failure): Translate error message
122882         * lib/argp-parse.c: Removed braces around the expansion of N_()
122884 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
122886         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
122887         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
122888         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
122889         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
122890         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
122891         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
122892         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
122893         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
122894         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
122895         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
122896         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
122897         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
122898         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
122899         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
122900         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
122901         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
122902         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
122903         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
122904         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
122905         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
122906         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
122907         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
122908         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
122909         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
122910         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
122911         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
122912         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
122913         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
122914         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
122915         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
122916         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
122917         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
122918         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
122919         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
122920         xstrtol.m4, xstrtoumax.m4, yesno.m4:
122921         Use an all-permissive copyright notice, recommended by RMS.
122923 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
122925         * modules/chdir-long (Depends-on): Remove mempcpy.
122927 2005-01-21  Jim Meyering  <jim@meyering.net>
122929         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
122930         same value as for Solaris 9.
122932         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
122933         component length.  This included changing the parameter to be
122934         of type `char *' rather than `char const *'.
122935         * lib/chdir-long.h (chdir_long): Update prototype.
122937         * lib/openat.c (fdopendir, fstatat): New functions.
122938         * lib/openat.h: Include headers required for use of DIR and struct
122939         stat.
122940         [AT_SYMLINK_NOFOLLOW]: Define.
122941         (fdopendir, fstatat): Add prototypes.
122943 2005-01-21  Bruno Haible  <bruno@clisp.org>
122945         * modules/classpath: New file.
122946         * MODULES.html.sh (Java): Add classpath.
122948 2005-01-21  Bruno Haible  <bruno@clisp.org>
122950         * lib/classpath.h: New file, from GNU gettext.
122951         * lib/classpath.c: New file, from GNU gettext.
122953 2005-01-20  Simon Josefsson  <jas@extundo.com>
122955         * modules/version-etc-fsf: New file.
122957 2005-01-20  Simon Josefsson  <jas@extundo.com>
122959         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
122960         * lib/version-etc.c: Remove version_etc_copyright.
122961         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
122962         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
122964 2005-01-20  Simon Josefsson  <jas@extundo.com>
122966         * lib/base64.h (isbase64): Add.
122968         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
122969         using a unsigned prototype, don't inline.
122970         (base64_decode): Use it.
122972 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122974         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
122975         it.
122977 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122979         * lib/save-cwd.c (save_cwd): Remove code to support the case
122980         where fchdir is missing or flaky.
122982 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122984         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
122986 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
122988         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
122989         AC_LIBSOURCES now does this.
122990         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
122991         with new ullong_max module.
122993 2005-01-19  Bruno Haible  <bruno@clisp.org>
122995         * modules/sh-quote: New file.
122996         * MODULES.html.sh (Executing programs): Add sh-quote.
122998 2005-01-19  Bruno Haible  <bruno@clisp.org>
123000         * lib/sh-quote.h: New file, from GNU gettext.
123001         * lib/sh-quote.c: New file, from GNU gettext.
123003 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123005         Merge from coreutils.
123006         * m4/ullong_max.m4: New file.
123007         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
123008         (gl_MACROS): Assume localeconv exists.
123010 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123012         Merge changes from coreutils, as described below in several
123013         changelogs dated today.
123015         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
123016         (O_DIRECTORY): Remove; not needed here, since "." must be
123017         a directory.  All uses removed.
123018         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
123019         universal on Suns, and we also need to test for IRIX.
123020         Revamp code to use 'if' rather than '#if'.
123021         Avoid unnecessary comparison of cwd->desc to 0.
123023         * lib/utimens.c (futimens): Robustify the previous patch, by checking
123024         for known valid error numbers rather than observed invalid ones.
123026 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123028         * modules/ullong_max: New file.
123030         * modules/chdir-long, modules/openat: New files.
123031         * modules/save-cwd (Depends-on): Depend on chdir-long.
123032         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
123034 2005-01-18  Jim Meyering  <jim@meyering.net>
123036         Merge from coreutils.
123037         * m4/chdir-long.m4, m4/openat.m4: New files.
123038         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
123039         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
123040         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
123041         is sane and DOES follow symlinks.  Besides, testing 20 different
123042         systems found no broken chown implementations.
123043         Prompted by a change in rsync's copy of this macro.
123044         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
123046         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
123048         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
123049         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
123050         NULL-means-set-to-current-time semantics.
123051         Remove temporary file immediately, rather than waiting
123052         for configure's at-exit trap code to do it.
123054 2005-01-18  Jim Meyering  <jim@meyering.net>
123056         * lib/version-etc.c (version_etc_copyright): Update copyright date.
123058         * lib/utimens.c (futimens): Account for the fact that futimes
123059         can also fail with errno == ENOSYS or errno == ENOENT.
123060         Patch from Dmitry V. Levin.
123062         Change the name of the robust chdir function from chdir to chdir_long.
123063         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
123064         (restore_cwd): Use chdir_long, not chdir.
123065         * lib/chdir-long.c: Renamed from chdir.c.
123066         * lib/chdir-long.h: Renamed from chdir.h.
123067         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
123068         Hurd.
123070 2005-01-18  Bruno Haible  <bruno@clisp.org>
123072         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
123073         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
123074         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
123075         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
123076         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
123077         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
123078         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
123079         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
123080         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
123081         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
123082         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
123083         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
123084         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
123085         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
123086         Use an all-permissive copyright notice, recommended by RMS.
123088 2005-01-18  Bob Proulx  <bob@proulx.com>
123090         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
123091         simplify offsetof() macro construct to avoid compile failure with
123092         native HP-UX 11.0 ANSI C compiler.
123094 2005-01-17  Bruno Haible  <bruno@clisp.org>
123096         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
123097         redundant because stpncpy.m4 takes care of it.
123099 2005-01-17  Bruno Haible  <bruno@clisp.org>
123101         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
123103 2005-01-17  Bruno Haible  <bruno@clisp.org>
123105         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
123106         used.
123108 2005-01-17  Bruno Haible  <bruno@clisp.org>
123110         * lib/fwriteerror.h (fwriteerror): Change specification to include
123111         fclose.
123112         * lib/fwriteerror.c: Include <stdbool.h>.
123113         (fwriteerror): At the end, close the file stream. Record whether
123114         stdout was already closed.
123116 2005-01-17  Bruno Haible  <bruno@clisp.org>
123118         * lib/execute.c (environ): Declare if needed.
123119         * lib/pipe.c (environ): Likewise.
123120         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
123122 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123124         * modules/argp: Depend on vsnprintf
123126 2005-01-10  Jim Meyering  <jim@meyering.net>
123128         * modules/closeout (Depends-on): Add atexit.
123130 2005-01-06  Bruno Haible  <bruno@clisp.org>
123132         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
123134 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
123136         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
123137         definitions to be after all include files, to avoid collisions.
123138         Problem reported by Bob Proulx.
123140 2005-01-04  Jim Meyering  <jim@meyering.net>
123142         Changes imported from coreutils.
123143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
123144         as the mkstemp template, use a temporary directory and an
123145         8.3-friendly template to avoid trouble on systems like DJGPP.
123146         Reported by Juan M. Guerrero via Stepan Kasal.
123147         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
123148         close. Remove the temporary directory right away, rather than waiting
123149         for configure's at-exit trap code to do it.
123150         Suggestion from Stepan Kasal.
123152 2005-01-01  Simon Josefsson  <jas@extundo.com>
123154         * gnulib-tool: Print #include directives when --import'ing.
123156 2004-12-28  Simon Josefsson  <jas@extundo.com>
123158         * tests/test-base64.c: Include required header files.  Remove
123159         unused variables.
123161 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123163         * modules/error (Depends-on): Remove gettext.
123165 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123167         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
123168         not needed.  This removes a dependency on the gettext module.
123169         [defined _LIBC]: Do not include <libintl.h>; not needed.
123171 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123173         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
123174         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
123176 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123178         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
123179         HAVE_DECL_STRTOLD.
123181 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123183         * modules/getdate (Depends-on): Remove alloca-opt.
123185 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123187         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
123189 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123191         * lib/argp-parse.c: Include <stddef.h>.
123192         (alignof, alignto): New macros.
123193         (parser_init): Don't assume that void * is aligned sufficiently
123194         for struct option.
123196         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
123197         need to extend the stack.
123198         (YYINITDEPTH): New macro, so that the initial stack isn't overly
123199         large.
123201 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123203         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
123205 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123207         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
123208         (2004-10-24) change.  Apparently this was a false alarm.
123210         * modules/getdate: Depend on alloca-opt, not alloca.
123212 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123214         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
123215         Remove now-obsolete comment about AIX.
123216         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
123217         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
123218         (YYMAXDEPTH): New macro.
123220 2004-12-18  Simon Josefsson  <jas@extundo.com>
123222         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
123224 2004-12-18  Bruno Haible  <bruno@clisp.org>
123226         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
123228 2004-12-18  Bruno Haible  <bruno@clisp.org>
123230         * lib/fatal-signal.c (fatal_signals): Make non-const.
123231         (init_fatal_signals): New function.
123232         (uninstall_handlers, install_handlers): Ignore signals that were set to
123233         SIG_IGN.
123234         (at_fatal_signal): Call init_fatal_signals.
123235         (init_fatal_signal_set): Likewise. Ignore signals that were set to
123236         SIG_IGN.
123237         Reported by Paul Eggert.
123239 2004-12-18  Bruno Haible  <bruno@clisp.org>
123241         * doc/alloca.texi: New file.
123242         * doc/alloca-opt.texi: New file.
123244 2004-12-17  Jim Meyering  <jim@meyering.net>
123246         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
123247         Otherwise, install-sh could exit with improper exit status when
123248         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
123250 2004-12-16  Simon Josefsson  <jas@extundo.com>
123252         * tests/test-base64.c: Add license.
123254 2004-12-15  Stepan Kasal  <address@hidden>
123256         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
123258 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
123260         * modules/getcwd (Files): Add m4/d-ino.m4.
123261         Suggested by Mark D. Baushke.
123263 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123265         * lib/getdate.y (textint): New member "negative".
123266         (time_zone_hhmm): New function.
123267         Expect 14 shift-reduce conflicts, not 13.
123268         (o_colon_minutes): New rule.
123269         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
123270         (yylex): Set the "negative" member of signed numbers.
123272 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123274         * doc/getdate.texi (Time of day items, Time zone items):
123275         Describe new formats +00:00, UTC+00:00.
123277 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
123279         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
123280         spurious "-l"s.  Problem reported by Stepan Kasal.
123282 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
123284         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
123285         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
123287 2004-12-04  Simon Josefsson  <jas@extundo.com>
123289         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
123290         Vandoorselaere <yoann@prelude-ids.org>.
123292 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123294         Changes imported from coreutils.
123295         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
123296         exist.
123297         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
123299 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123301         Changes imported from coreutils.
123302         * lib/hard-locale.c: Assume <locale.h> exists.
123303         Include "strdup.h".
123304         (GLIBC_VERSION): New macro.
123305         (hard_locale): Assume setlocale exists.
123306         Rewrite to avoid #ifdef.
123307         Use strdup rather than malloc + strcpy.
123308         * lib/human.c: Assume <locale.h> exists.
123309         (human_readable): Assume localeconv exists.
123311 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123313         * modules/hard-locale (Depends-on): Add strdup.
123315 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
123317         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
123318         convert T2, not T.  (Imported from libc.)
123320 2004-11-30  Simon Josefsson  <jas@extundo.com>
123322         * modules/restrict (License): Change to LGPL.
123324 2004-11-30  Simon Josefsson  <jas@extundo.com>
123326         * m4/restrict.m4: Add copyright and copying conditions.
123328 2004-11-30  Simon Josefsson  <jas@extundo.com>
123330         * m4/base64.m4: New file.
123332 2004-11-30  Simon Josefsson  <jas@extundo.com>
123334         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
123335         base64.
123337         * tests/test-base64.c: New file.
123339         * modules/base64: New file.
123341 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123343         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
123344         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
123346         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
123348 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123350         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
123351         (__getcwd.c): Don't restore errno; glibc doesn't.
123352         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
123353         first, falling back to our code only if its results look suspicious.
123354         Ensure that the resulting buffer is only as large as necessary.
123356         * lib/readutmp.c: Include readutmp.h first.
123357         Include <errno.h>, since readutmp.h no longer does that.
123358         * lib/readutmp.h: Don't include <errno.h>,
123359         <sys/param.h>, <time.h>; not needed to establish interface.
123360         (errno): Remove decl.
123361         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
123362         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
123363         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
123365 2004-11-28  Simon Josefsson  <jas@extundo.com>
123367         * lib/base64.h, base64.c: New file.
123369 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123371         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
123373 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123375         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
123376         (Depends-on): Remove pathmax, same.  Add mempcpy.
123377         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
123378         (Makefile.am): Append getcwd.h to lib_SOURCES.
123379         (Include): Add getcwd.h.
123380         (Maintainer): Change from Jim Meyering to "all, glibc",
123381         since getdate now uses intended-for-glibc code.
123382         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
123383         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
123385 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123387         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
123388         HP's ANSI C compiler.
123389         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
123390         Declaring int functions causes warnings on some modern systems and
123391         shouldn't be needed to compile on ancient ones.
123392         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
123393         defined.
123395         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
123396         with the following changes.
123397         (__set_errno): Parenthesize properly.
123398         Include <stdbool.h>.
123399         (MIN, MAX, MATCHING_INO): New macros.
123400         (__getcwd): Define with prototype, not K&R form.
123401         Use heuristics to allocate default buffer on stack if possible.
123402         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
123403         behavior, and to avoid the PATH_MAX limit when computing
123404         ../../../../...
123405         Use MATCHING_INO to compare inode number to file.
123406         Check for arithmetic overflow in size calculations.
123407         Fix bug in reallocation of dot array that caused getcwd to fail
123408         on directories nested deeper than 75.
123409         Be more careful about saving errno on error.
123410         Do not use realloc; use only free+malloc, as this is a bit
123411         more flexible and avoids a needless copy operation.
123412         Do not inspect st_dev and st_ino for symbolic links; POSIX
123413         doesn't specify the latter.
123414         Check for closedir errors.
123415         Avoid needless casts.
123416         Use "#ifdef weak_alias" around weak_alias, to be like other
123417         glibc code.
123418         The following changes to getcwd.c have effect only when used in
123419         gnulib; they have no effect inside glibc proper.
123420         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
123421         as alloca isn't used.
123422         (alloca, __alloca): Likewise.
123423         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
123424         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
123425         unconditionally, as gnulib assumes C89 or better.
123426         Do not include <sys/param.h>.
123427         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
123428         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
123429         better.
123430         (NULL) [!defined NULL]: Remove; we assume C89 or better.
123431         Include <dirent.h> in a way that is compatible with modern Autoconf.
123432         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
123433         New macros, if not already defined.
123434         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
123435         Use "_LIBC", not "defined _LIBC", for consistency.
123436         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
123437         a mempcpy module.
123438         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
123439         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
123440         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
123441         credit only to Jim Meyering and adjust the copyright dates.
123442         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
123443         <stdlib.h>, <unistd.h>, "pathmax.h".
123444         Instead, include "xgetcwd.h" (first) and "getcwd.h".
123445         (INITIAL_BUFFER_SIZE): Remove.
123446         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
123448 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123450         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
123451         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
123452         Use the _ONCE methods, for efficiency.
123453         Check for fcntl.h.  In test program, include <errno.h>
123454         and <fcntl.h> if available.  Remove old K&R cruft from
123455         test program.  Check for common errors in GNU/Linux,
123456         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
123457         don't do AC_LIBOBJ, as that's getcwd.m4's job.
123458         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
123459         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
123460         name accordingly.
123461         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
123462         accommodate new getcwd.c.
123463         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
123464         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
123465         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
123466         that's all we need now.
123468 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123470         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
123471         argp-parse.c depends on getopt internals, that means we should
123472         always use our getopt, to be on the safe side.
123473         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
123474         order not to spoil the result of an eventual previous invocation
123475         of gl_GETOPT_SUBSTITUTE.
123477 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123479         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
123480         redefinition warnings. To avoid them, include the defines
123481         in `#if !defined __need_getopt ... #endif'. The only place
123482         where __getopt_argv_const is used is in definitions
123483         of getopt_long and getopt_long_only below, which are as well
123484         protected by `#ifndef __need_getopt'.
123485         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
123486         __need_getopt after including <stdio.h> and <unistd.h> These
123487         headers might have defined it.
123489 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123491         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
123493 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123495         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
123496         (futimens): New function, which uses futimes if available.
123497         (futimens, utimens): Support timespec==NULL, with same semantics
123498         as utime and utimens.
123499         * lib/utimens.h (futimens): New decl.
123501 2004-11-23  Jim Meyering  <jim@meyering.net>
123503         * lib/getopt_.h: Remove trailing blanks.
123505 2004-11-23  Jim Meyering  <jim@meyering.net>
123507         * lib/__fpending.c: Add comment.
123509 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
123511         * modules/canonicalize (Depends-on): Add xreadlink.
123512         Problem reported by James Youngman.
123514 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123516         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
123517         New macros.
123518         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
123519         optopt): Use them instead of invoking ## directly; otherwise, the
123520         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
123522 2004-11-19  Bruno Haible  <bruno@clisp.org>
123524         * lib/strtok_r.c: Move comments from here...
123525         * lib/strtok_r.h: ... to here.
123527 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123529         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
123530         implementations that mishandle size_t overflow.
123532 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123534         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
123535         might fail.  Problem reported by Yoann Vandoorselaere.
123536         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
123537         implementations that mishandle size_t overflow.
123539 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123541         * modules/canon-host (Depends-on): Add strdup.
123543 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123545         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
123547 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123549         * lib/canon-host.c: Include "strdup.h".
123550         (canon_host): Use getaddrinfo if available, so that IPv6 works.
123551         Use strdup instead of malloc/strcpy to duplicate strings.
123553         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
123554         (human_space_before_unit): New constant.
123555         * lib/human.c (human_readable): Support it.
123557         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
123558         (xgetcwd): Set errno correctly when failing.
123559         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
123560         the failure is actually due to a PATH_MAX problem.
123562         Further getopt changes to make it more likely that glibc will
123563         buy the changes back.
123564         * lib/getopt.c (POSIXLY_CORRECT): New constant.
123565         (getopt): Use it, so to preserve glibc semantic
123566         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
123567         when compiling for libc.
123568         * lib/getopt_.h (__getopt_argv_const): Bring it back.
123569         (getopt_long, getopt_long_only): Use it.
123571         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123572         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
123573         (getopt): Argv is now char * const *, as per standard.
123574         (_getopt_internal_r, _getopt_internal): Argv is now char **,
123575         not char *__getopt_argv_const *.
123576         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123577         _getopt_long_only_r): Likewise.
123578         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
123579         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123580         _getopt_long_r, _getopt_long_only_r): Likewise.
123581         * lib/getopt_.h (__getopt_argv_const): Remove.
123582         (getopt): Argv is now char * const *, as per standard.
123584         * lib/getdate.y (tORDINAL): New token.
123585         (day, relunit): Allow it for relative times.
123586         (relative_time_table): Use tORDINAL for ordinals.
123588 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123590         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
123591         Document that "second" isn't allowed as an ordinal number.
123593 2004-11-16  Jim Meyering  <jim@meyering.net>
123595         * modules/closeout (Depends-on): Add fpending.
123597 2004-11-15  Jim Meyering  <jim@meyering.net>
123599         * lib/closeout.c: Include "__fpending.h" once again.
123600         Include <stdbool.h>.
123601         (close_stdout): Don't fail just because stdout was closed initially,
123602         since some programs don't write to stdout in the normal course of
123603         operation (other than --version and --help), and we don't want this
123604         function to make e.g. `touch file >&-' fail.
123605         But do fail if it was closed and someone has tried to write to it.
123606         E.g., `printf foo >&-' must fail.
123608 2004-11-13  Jim Meyering  <jim@meyering.net>
123610         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
123612 2004-11-12  Simon Josefsson  <jas@extundo.com>
123614         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
123615         small doc fix is still pending.
123617 2004-11-11  Simon Josefsson  <jas@extundo.com>
123619         * modules/strtok_r: New file.
123621         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123622         strtok_r.
123624 2004-11-11  Simon Josefsson  <jas@extundo.com>
123626         * m4/strtok_r.m4: New file.
123628         * m4/getopt.m4: Replace opterr.
123630 2004-11-11  Simon Josefsson  <jas@extundo.com>
123632         * lib/strtok_r.h, strtok_r.c: New file.
123634 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123636         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
123637         of replacing opterr, getopt, etc.  This should handle the
123638         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
123640 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123642         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
123643         we can stop lying to compilers about the constness of argv when we
123644         are compiled outside glibc.
123645         (getopt, getopt_long, getopt_long_only): Use it.
123646         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123647         _getopt_internal, getopt): Likewise.
123648         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123649         _getopt_long_only_r): Likewise.
123650         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123651         _getopt_long_r, _getopt_long_only_r): Likewise.
123653         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
123654         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
123655         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
123656         the other external symbols.
123657         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
123658         declaration, since the above renaming now works around collisions.
123660 2004-11-11  Jim Meyering  <jim@meyering.net>
123662         * lib/linebreak.c: Remove trailing blanks.
123663         * lib/alloca_.h: Likewise.
123664         * lib/acosl.c: Likewise.
123665         * lib/euidaccess.c: Likewise.
123666         * lib/allocsa.h: Likewise.
123668 2004-11-10  Simon Josefsson  <jas@extundo.com>
123670         * m4/getaddrinfo.m4: New file.
123672 2004-11-10  Simon Josefsson  <jas@extundo.com>
123674         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
123676 2004-11-10  Simon Josefsson  <jas@extundo.com>
123678         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123679         getaddrinfo.
123681         * modules/getaddrinfo: New file.
123683 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123685         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
123687 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123689         * lib/mktime.c (SHR): New macro, which is a portable
123690         substitute for >> that should work even on Crays.
123691         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
123692         Problem reported by Mark D. Baushke in
123693         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
123694         * lib/getdate.y (SHR): Likewise.
123695         (tm_diff): Use it.
123696         * lib/strftime.c (SHR): Likewise.
123697         (tm_diff): Use it.
123698         * lib/quotearg.c (struct quoting_options): Use unsigned int for
123699         quote_these_too, so that right shifts are well defined.  All uses
123700         changed.
123702 2004-11-10  Jim Meyering  <jim@meyering.net>
123704         Ensure that no close failure goes unreported.
123705         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
123706         return early when it seems there's nothing to flush.
123707         Don't include __fpending.h.
123709 2004-11-10  Jim Meyering  <jim@meyering.net>
123711         * modules/closeout (Depends-on): Remove fpending.
123713 2004-11-10  Jim Meyering  <jim@meyering.net>
123715         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
123717 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123719         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
123720         gl_FUNC_STRFTIME.
123721         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
123722         and AC_REQUIRE when possible, to avoid duplicate checks.
123723         Check for <wchar.h>.
123725 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123727         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
123729 2004-11-09  Bruno Haible  <bruno@clisp.org>
123731         * m4/sockpfaf.m4: New file.
123733 2004-11-05  Bruno Haible  <bruno@clisp.org>
123735         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
123736         Reported by Mark D. Baushke <mdb@cvshome.org>.
123738 2004-11-04  Bruno Haible  <bruno@clisp.org>
123740         2004-09-11  Bruno Haible  <bruno@clisp.org>
123741                 * allocsa.valgrind: New file.
123742         2004-02-06  Bruno Haible  <bruno@clisp.org>
123743                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
123744                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
123745                 Reported by Christopher Seip <chris.seip@hp.com>.
123747 2004-11-04  Bruno Haible  <bruno@clisp.org>
123749         * modules/allocsa (Files): Add lib/allocsa.valgrind.
123750         (Makefile.am): Distribute it.
123752 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
123754         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
123755         with errno == ERANGE if the buffer is too small.
123756         Problem reported by Mark D. Baushke.
123758 2004-11-03  Albert Chin  <china@thewrittenword.com>
123759             Paul Eggert  <eggert@cs.ucla.edu>
123761         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
123762         equivalent, substitute $ac_type for equivalent type rather than
123763         blindly using uint32_t *always* which won't work if uint32_t is not
123764         available.  Define _UINT32_T to work around typedef of uint32_t if
123765         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
123766         2.5.1.
123768 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123770         * m4/jm-macros.m4: Sync from coreutils.
123771         (gl_MACROS): Check for mbrlen, for pathchk.
123772         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
123774 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123776         * lib/xreadlink.c (MAXSIZE): New macro.
123777         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
123778         size does not exceed MAXSIZE.  Avoid cast.
123779         As suggested by Mark D. Baushke in
123780         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
123781         if readlink fails with buffer size just under MAXSIZE, try again
123782         with MAXSIZE.
123784 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123786         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
123788 2004-11-02  Derek R. Price  <derek@ximbiot.com>
123789         and  Paul Eggert  <eggert@cs.ucla.edu>
123791         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
123792         (get_date): Overparenthesize to avoid GCC warning.
123794 2004-11-02  Bruno Haible  <bruno@clisp.org>
123796         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
123797         returns void.
123799 2004-11-02  Bruno Haible  <bruno@clisp.org>
123801         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
123802         function returns void.
123804 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123806         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
123807         fflush_unlocked, flockfile, funlockfile, funlockfile,
123808         fputs_unlocked, putc_unlocked.
123810 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123812         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123813         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
123814         already declared.
123816 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123818         * modules/getdate (Files): Add doc/getdate.texi.
123819         (Depends-on): Add setenv, xalloc.
123821 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123823         * lib/getdate.y: Add support for TZ="foo" within a date string.
123824         Fix some bugs near time_t boundaries.  Reject dates with
123825         out-of-range components, e.g., "Sept 31".
123826         Include <stdlib.h>, "setenv.h", "xalloc.h".
123827         (ISDIGIT_LOCALE): Remove; unused.
123828         Note that the TZ and time functions used here are not reentrant.
123829         (mktime_ok, get_tz): New functions.
123830         (TZBUFSIZE): New constant.
123831         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
123832         This requires that we sometimes generate our own TZ="XXX..." setting.
123834 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123836         * doc/getdate.texi: New file, from coreutils with modifications for
123837         the new TZ parsing.
123839 2004-10-27  Derek R. Price  <derek@ximbiot.com>
123841         * lib/mktime.c (not_equal_tm): Remove redundant check.
123843 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123845         * modules/regex (lib_SOURCES): Add regex.c.
123846         Reported by James Youngman in
123847         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
123849 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123851         * lib/getdate.y: Use Bison 1.875 features, and some minor
123852         code cleanups.  This change does not affect semantics.
123853         Don't include <stdlib.h>; no longer needed.
123854         Don't include unlocked-io.h; only the "#if TEST" code uses
123855         stdio, and performance isn't crucial there.
123856         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
123857         Bison 1.875 features as described below.
123858         All uses of "PC." replaced by "pc->".
123859         (YYSTYPE): Add a forward declaration.
123860         (yylex, yyerror): Use full prototypes in forward decls.
123861         Use "%pure-parser" rather than obsolescent "%pure_parser".
123862         Use %parse-param and %lex-param instead of obsolescent
123863         YYPARSE_PARAM and YYLEX_PARAM.
123864         (meridian_table, month_and_day_table, time_units_table,
123865         relative_time_table, time_zone_table, military_table,
123866         lookup_zone, lookup_word, get_date):
123867         Use NULL instead of 0 where appropriate.
123868         (to_hour): Avoid abort (), to avoid a dependency on
123869         stdlib.h.
123870         (yyerror, yylex): Now accepts parser_control * arg.
123871         (main) [TEST]: Use '\0' rather than 0 for char.
123873 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123875         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
123877 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123879         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
123880         It's now the caller's responsibility to handle the case where
123881         !HAVE_GETPAGESIZE && !defined getpagesize.
123883         * lib/mktime.c (leapyear): Arg is long int, not int.
123885 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123887         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
123889 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
123891         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
123892         missing.  Problem reported by James Youngman.
123894 2004-10-16  Simon Josefsson  <jas@extundo.com>
123896         * gnulib-tool: Fix comments.  Fix parse problem.
123897         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
123899 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
123901         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
123902         implementation of getopt_long.  Problem reported by Alexander Taler in:
123903         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
123905 2004-10-15  Bruno Haible  <bruno@clisp.org>
123907         * gnulib-tool: Untabify. Initialize supplied_libname.
123908         (func_usage): More homogenous output.
123909         (func_modules_transitive_closure, func_modules_to_filelist,
123910         func_emit_lib_Makefile_am): New functions.
123911         (func_import): New function, extracted from big case statement. Use
123912         func_get_license, func_modules_transitive_closure,
123913         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
123914         opt_lgpl. Don't use test -a, as it's not portable.
123915         (func_create_testdir): Use func_modules_transitive_closure,
123916         func_modules_to_filelist, func_emit_lib_Makefile_am.
123918 2004-10-15  Bruno Haible  <bruno@clisp.org>
123920         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
123922 2004-10-15  Bruno Haible  <bruno@clisp.org>
123924         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
123925         the portions belonging to each module.
123926         Suggested by Derek Robert Price <derek@ximbiot.com>.
123928 2004-10-12  Simon Josefsson  <jas@extundo.com>
123930         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123931         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
123932         to real functions.
123934 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123936         * modules/vsnprintf: New file.
123938 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123940         * m4/vsnprintf.m4: New file.
123942 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123944         * lib/vsnprintf.h: New file.
123945         * lib/vsnprintf.c: New file.
123947 2004-10-11  Bruno Haible  <bruno@clisp.org>
123949         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
123950         vsnprintf.
123952 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123954         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
123956 2004-10-07  Bruno Haible  <bruno@clisp.org>
123958         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
123959         fits into the provided buffer.
123961 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
123963         * lib/diacrit.c, diacrit.h: Add GPL notice.
123965         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
123966         notice.
123967         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
123968         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
123969         This avoids a potential constant-folding bug.
123971 2004-10-05  Bruno Haible  <bruno@clisp.org>
123973         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
123974         for the declaration of strsep.
123976 2004-10-05  Bruno Haible  <bruno@clisp.org>
123978         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
123980 2004-10-04  Simon Josefsson  <jas@extundo.com>
123982         * modules/memmem: New file.
123983         * tests/test-memmem.c: New file.
123984         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
123986 2004-10-04  Simon Josefsson  <jas@extundo.com>
123988         * m4/memmem.m4: New file.
123990 2004-10-04  Simon Josefsson  <jas@extundo.com>
123992         * lib/memmem.h: New file.
123993         * lib/memmem.c: New file, taken from glibc.
123995 2004-10-04  Simon Josefsson  <jas@extundo.com>
123997         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
123998         '#ifdef USE_UNLOCKED_IO'.
124000 2004-10-04  Simon Josefsson  <jas@extundo.com>
124002         * config/srclist.txt: Add memmem from glibc.
124004 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124006         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
124008         * modules/argmatch, modules/argp, modules/closeout, modules/error,
124009         modules/exclude, modules/getdate, modules/getline,
124010         modules/getndelim2, modules/getpass, modules/getpass-gnu,
124011         modules/getusershell, modules/linebuffer, modules/md5,
124012         modules/mountlist, modules/posixtm, modules/readtokens,
124013         modules/readutmp, modules/regex, modules/sha1,
124014         modules/version-etc, modules/yesno:
124015         Remove dependency on unlocked-io.
124017 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124019         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
124021         * m4/unlocked-io.m4: Add copyright notice.
124022         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
124024 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124026         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
124027         * lib/xmalloc.c (xmemdup): Likewise.
124028         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
124029         XFREE): Remove these long-obsolescent macros.
124030         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
124031         * lib/xstrdup.c: Remove.
124033         * lib/regex.c (re_comp): Cast gettext return value to char *,
124034         Problem reported by Martin Neitzel via Mark D. Baushke.
124036 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124038         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
124039         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
124040         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
124041         regex.c, sha1.c, version-etc.c, yesno.c:
124042         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
124043         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
124044         the includer's responsibility.
124046         Sync from coreutils.
124048         * lib/modechange.c (mode_compile): Don't decrement a pointer that
124049         points to the start of a string, as the C Standard says the
124050         resulting behavior is undefined.
124052         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
124053         simple -> simple_backups, numbered_existing ->
124054         numbered_existing_backups, numbered -> numbered_backups
124055         to avoid shadowing problems.  All uses changed.
124056         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
124057         * lib/backupfile.c (check_extension, numbered_backup):
124058         Rename locals to avoid shadowing 'basename'.
124059         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
124060         once.
124062         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
124063         * lib/.cvsignore: Add getopt.h.
124065 2004-10-04  Bruno Haible  <bruno@clisp.org>
124067         * modules/README: New file.
124068         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
124069         not a module.
124071 2004-10-02  Jim Meyering  <jim@meyering.net>
124073         * lib/dirfd.h, getpagesize.h: Add copyright notice.
124075 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124077         * modules/strsep: New file.
124079 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124081         * m4/strsep.m4: New file.
124083 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124085         * lib/strsep.h: New file.
124086         * lib/strsep.c: New file.
124088 2004-10-01  Simon Josefsson  <jas@extundo.com>
124090         * lib/snprintf.c (snprintf): Handle size==0.
124092 2004-10-01  Simon Josefsson  <jas@extundo.com>
124093             Bruno Haible  <bruno@clisp.org>
124095         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
124096         (snprintf): Declare 'args'.
124098 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
124100         * lib/snprintf.c: Remove comments as to why each header is needed.
124102 2004-10-01  Bruno Haible  <bruno@clisp.org>
124104         * MODULES.html.sh: Add strsep.
124106 2004-09-30  Simon Josefsson  <jas@extundo.com>
124108         * modules/snprintf: New file.
124110 2004-09-30  Simon Josefsson  <jas@extundo.com>
124112         * m4/snprintf.m4: New file.
124114 2004-09-30  Simon Josefsson  <jas@extundo.com>
124116         * lib/snprintf.h, lib/snprintf.c: New files.
124118 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124120         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
124121         (hol_entry_help): Never translate an empty string.
124122         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
124123         * lib/argp.h (OPTION_NO_TRANS): New option.
124125 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124127         * modules/argp (Maintainer): Replace Simon Josefsson
124128         by Sergey Poznyakoff.
124130 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124132         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
124133         changes merged back into glibc.
124135 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124137         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
124139 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
124141         * lib/xvasprintf.c: Include xalloc.h.
124142         (xvasprintf): Use xalloc_die, not xmalloc_die.
124144 2004-09-29  Bruno Haible  <bruno@clisp.org>
124146         * modules/alloca-opt: New file, derived from modules/alloca.
124147         * modules/allocsa: Depend on alloca-opt instead of alloca.
124148         * modules/setenv: Likewise.
124149         * modules/vasnprintf: Likewise.
124150         * MODULES.html.sh: Add alloca-opt.
124152 2004-09-28  Simon Josefsson  <jas@extundo.com>
124154         * gnulib-tool: New parameter --lgpl, to asseert that modules are
124155         LGPL, and to replace license template from GPL to LGPL.
124157 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124159         * modules/dummy: Change license to LGPL.
124161 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124163         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
124165 2004-09-24  Simon Josefsson  <jas@extundo.com>
124167         * modules/minmax (License): Change from GPL to LGPL.
124169 2004-09-23  Simon Josefsson  <jas@extundo.com>
124171         * gnulib-tool (--import): Typo.
124173 2004-09-23  Simon Josefsson  <jas@extundo.com>
124175         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
124177 2004-09-22  Bruno Haible  <bruno@clisp.org>
124179         * modules/*: Add 'License' field.
124180         * gnulib-tool: Accept --extract-license option.
124181         (func_get_license): New function.
124183 2004-09-21  Bruno Haible  <bruno@clisp.org>
124185         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
124186         Reported by Simon Josefsson.
124188 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124190         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
124191         gl_AC_TYPE_LONG_LONG.
124193 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124195         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
124197 2004-09-18  Simon Josefsson  <jas@extundo.com>
124198         and  Paul Eggert  <eggert@cs.ucla.edu>
124200         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
124201         calls with autoreconf.  Define GL_LIB.
124203 2004-09-14  Karl Berry  <karl@gnu.org>
124205         * config/srclist.txt: unsync setenv.c, sigh.
124207 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124209         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
124210         Problem reported by Bruno Haible in:
124211         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
124213 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124215         * config/srclist.txt: Comment out argp-pvh.c.
124217 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124219         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
124220         in case some system header has #define'd it.  Problem reported by
124221         Soeren D. Schulze in
124222         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
124224 2004-09-09  Karl Berry  <karl@gnu.org>
124226         * regex.[ch]: delete from the root.  These were supposed to be
124227                 synced with emacs cvs, but this has not happened for about
124228                 a year, and anyway nothing else uses emacs regex.[ch].
124229                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
124230                 lib/regex[.ch] is untouched.
124232 2004-09-09  Bruno Haible  <bruno@clisp.org>
124234         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
124236 2004-09-09  Bruno Haible  <bruno@clisp.org>
124238         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
124239         modifications.
124240         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
124242 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124244         * modules/xvasprintf: New file.
124245         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
124247 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124249         * lib/xvasprintf.h: New file.
124250         * lib/xvasprintf.c: New file.
124251         * lib/xasprintf.c: New file.
124253 2004-09-08  Bruno Haible  <bruno@clisp.org>
124255         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
124257 2004-09-08  Bruno Haible  <bruno@clisp.org>
124259         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
124260         length is > INT_MAX.
124261         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
124262         more.
124264 2004-09-08  Bruno Haible  <bruno@clisp.org>
124266         * lib/stdint_.h: New file, taken from GNU clisp.
124268 2004-09-08  Bruno Haible  <bruno@clisp.org>
124269             Oskar Liljeblad  <oskar@osk.mine.nu>
124271         * modules/stdint: New file.
124272         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
124274 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124276         Import from coreutils.
124277         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
124278         strings on unbounded length.  alloca's performance benefits aren't
124279         that important here.
124280         (V_STRDUP): Remove.
124281         (parse_with_separator): New function, with most of the internals
124282         of the old parse_user_spec.  Allow user to omit both user and group,
124283         for compatibility with FreeBSD.
124284         Clone only the user name, not the entire spec.
124285         Do not set *uid, *gid unless entirely successful.
124286         Avoid memory leak in some failing cases.
124287         Fix regression for USER.GROUP reported by Dmitry V. Levin in
124288         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
124289         (parse_user_spec): Rewrite to use parse_with_separator.
124291 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124293         * modules/userspec: Don't depend on alloca.
124295 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124297         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
124299 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
124301         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
124302         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
124303         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
124305 2004-08-16  Simon Josefsson  <jas@extundo.com>
124307         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
124308         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
124309         Add --dry-run for --import.
124310         Let user provided command line parameters override configure.ac
124311         settings.
124313 2004-08-12  Simon Josefsson  <jas@extundo.com>
124315         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
124316         as discussed with Paul Eggert in threads rooted at
124317         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
124318         and
124319         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
124320         Before, the test was empty, and relied on ELIDE_CODE in source
124321         code.)
124322         (gl_PREREQ_GETOPT): New macro.
124323         (gl_GETOPT): Use them.
124325 2004-08-12  Simon Josefsson  <jas@extundo.com>
124327         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
124328         * lib/getopt_.h: Renamed from getopt.h.
124330 2004-08-12  Simon Josefsson  <jas@extundo.com>
124332         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
124333         Change default library name from libfoo to libgnu.
124334         Now, if you have a configure.ac that says:
124335                 gl_SOURCE_BASE(gl)
124336                 gl_M4_BASE(gl/m4)
124337                 gl_MODULES(error getopt etcetera)
124338                 gl_INIT
124339         you can import all you need by running:
124340                 ../gnulib/gnulib-tool --import
124342         * modules/getopt (Files): Rename getopt.h to getopt_.h.
124343         (Makefile.am): Rewrite, use logic from argz.
124344         (Include): Use <getopt.h> instead of "getopt.h".
124346 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124348         * modules/argp (Files): Add m4/unlocked-io.m4.
124349         (Depends-on): Add extensions.
124351 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124353         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
124354         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
124355         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
124356         Check for program_invocation_name, program_invocation_short_name,
124357         flockfile, funlockfile, features.h, _getopt_long_only_r.
124359 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124361         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
124362         its complicated substitute.
124363         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
124364         and program_invocation_name.
124365         (__argp_basename) [!_LIBC]: Remove; the only use was
124366         replaced by its body.
124367         (__argp_short_program_name): Change condition from
124368         !defined __argp_short_program_name to
124369         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
124370         to match argp-namefrob.h.
124371         (__argp_failure): Don't assume strerror_r returns char *.
124372         * lib/argp-parse.c (N_): Define unconditionally.
124373         (argp_default_options): Fill out initializers with 0 to avoid
124374         gcc warnings.
124376 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124378         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
124379         getopt1.c.
124381 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124383         Merge from coreutils.
124385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
124387         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
124388         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
124390 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124392         Merge from coreutils.
124394         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
124395         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
124396         for Reliant Unix 5.43.
124398         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
124399         (union fooround): Use uintmax_t, not long int.
124400         The rest is a merge from libc:
124401         [defined _LIBC]: Include <shlib-compat.h>.
124402         (_obstack) [defined _LIBC]: Remove after 2.3.4.
124404         * lib/settime.c (settime): Recode to avoid warning with
124405         Sun Forte C 6U2.
124407         * lib/strverscmp.c: Convert to UTF-8.
124409 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124411         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
124412         m4/uintmax_t.m4.
124414 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124416         * modules/xalloc-die: New file.
124417         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
124419         * modules/md5 (Files): Add m4/uint32_t.m4.
124420         * modules/sha1: Renamed from modules/sha.
124421         (Files):
124422         Rename lib/sha.h to lib/sha1.h.
124423         Rename lib/sha.c to lib/sha1.c.
124424         Rename m4/sha.m4 to m4/sha1.m4.
124425         (lib_SOURCES): Likewise.
124426         (configure.ac): Rename gl_SHA to gl_SHA1.
124427         (Include): sha.h -> sha1.h.
124429 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124431         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
124432         * m4/sha1.m4: Renamed from sha.m4.
124433         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
124435 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124437         * lib/obstack.h (obstack_empty_p):
124438         Don't assume that chunk->contents is suitably aligned.
124439         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
124440         Likewise. Problem reported by Benno in
124441         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
124443         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
124444         readable.  This could be improved further but it'd take some work.
124446 2004-08-08  Simon Josefsson  <jas@extundo.com>
124448         * modules/xgethostname (Depends-on): Remove exit and error (not
124449         used).
124451         * modules/getpass-gnu: Add getpass.h.
124452         (Depends-on): Add stdbool.
124453         * modules/getpass: Add getpass.h.
124455 2004-08-08  Simon Josefsson  <jas@extundo.com>
124457         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
124458         Check getpass declaration.
124460 2004-08-08  Simon Josefsson  <jas@extundo.com>
124462         * lib/xgethostname.c: Don't include error.h (not used).
124464         * lib/getpass.h: Add.
124465         * lib/getpass.c: Include getpass.h first.
124467 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
124469         * lib/xalloc-die.c: New file.
124470         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
124471         All uses removed.
124472         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
124473         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
124474         xalloc-die.c.
124475         (_, N_, xalloc_die): Move to xalloc-die.c.
124476         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
124477         so that we needn't mess with xalloc_msg_memory_exhausted.
124479         * lib/sha1.h: Renamed from sha.h.
124480         (SHA1_H): Renamed from _SHA_H.
124481         (sha1_ctx): Renamed from sha_ctx.
124482         (sha1_init_ctx): Renamed from sha_init_ctx.
124483         (sha1_process_block): Renamed from sha_process_block.
124484         (sha1_process_bytes): Renamed from sha_process_bytes.
124485         (sha1_finish_ctx): Renamed from sha_finish_ctx.
124486         (sha1_read_ctx): Renamed from sha_read_ctx.
124487         (sha1_stream): Renamed from sha_stream.
124488         (sha1_buffer): Renamed from sha_buffer.
124489         * lib/sha1.c: Likewise; renamed from sha.c.
124490         Do not include <sys/types.h>.
124491         Include <stddef.h> rather than <stdlib.h>.
124493 2004-08-08  Bruno Haible  <bruno@clisp.org>
124495         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
124496         FILESYSTEM_PREFIX_LEN.
124497         * lib/progreloc.c: Likewise.
124498         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
124500 2004-08-06  Simon Josefsson  <jas@extundo.com>
124502         * modules/progname (Depends-on): Don't depend on stdbool.
124504 2004-08-06  Simon Josefsson  <jas@extundo.com>
124506         * modules/getsubopt: New file.
124507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124508         getsubopt.
124510 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124512         More merge from coreutils.
124514         * m4/utimens.m4, m4/utimecmp.m4: New files.
124515         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
124516         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
124517         prereq.m4, sha.m4: Import changes from coreutils.
124519 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124521         More merge from coreutils.
124522         * modules/raise, modules/readtokens0, modules/utimens:
124523         * modules/utimecmp, module/xnanosleep: New files.
124524         * modules/strftime: Add lib/strftime.h.
124525         Change include from <time.h> to "strftime.h".
124526         * modules/yesno: Add lib/yesno.h.
124527         * modules/backupfile: Remove lib/addext.c.
124528         * modules/euidaccess: Add stat-macros.h.
124529         * modules/canonicalize, modules/euidaccess,
124530         modules/filemode, modules/lchown, modules/makepath,
124531         modules/rmdir, modules/stat: Likewise.
124533 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124535         Merge from tar.
124536         * lib/argp-help.c (make_hol, hol_append): Don't assume that
124537         SIZE_MAX is a valid preprocessor constant.
124538         (__argp_basename): Change from "#ifndef _LIBC"
124539         to "#ifndef __argp_short_program_name", so that
124540         we don't compile these functions for tar.
124542         More merges from coreutils.
124543         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
124544         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
124545         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
124546         * lib/addext.c: Remove; no longer needed.
124547         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
124548         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
124549         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
124550         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
124551         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
124552         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
124553         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
124554         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
124555         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
124556         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
124557         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
124558         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
124559         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
124560         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
124561         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
124562         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
124563         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
124564         Import changes from coreutils.
124566 2004-08-05  Simon Josefsson  <jas@extundo.com>
124568         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
124570 2004-08-05  Simon Josefsson  <jas@extundo.com>
124572         * m4/getsubopt.m4: New file.
124574 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124576         Merge from coreutils.
124578         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
124579         * m4/getcwd-path-max.m4: New files.
124581         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
124582         FILESYSTEM_PREFIX_LEN ->
124583         FILE_SYSTEM_PREFIX_LEN.
124584         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
124585         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
124586         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
124587         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
124589         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
124590         prerequisite modules now handle the DOS stuff.
124591         Don't check for unistd.h.
124593 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124595         Merge from coreutils.
124597         * lib/.gdb-history: Remove; this doesn't belong here.
124599         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
124600         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
124601         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
124602         * lib/getcwd.c: New files.
124604         * lib/dirname.h: Include <stdbool.h>.
124605         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
124606         for consistency with POSIX terminology.  All uses changed.
124607         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
124608         (strip_trailing_slashes): Use bool for booleans.
124609         * lib/stripslash.c (strip_trailing_slashes): Likewise.
124611         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
124612         sometimes returns a positive errno value even when it succeeds.
124613         (print_errno_message) [!LIBC]: Fall back on strerror if
124614         __strerror_r fails.
124616         * lib/path-concat.c (mempcpy): Don't define if a system header defines
124617         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
124618         (longest_relative_suffix): New function.
124619         (path_concat): Use it.  Assume first argument is not NULL.
124620         Port to DOS.  Omit redundant separators.
124621         Report an error instead of returning NULL.
124622         Use mempcpy instead of memcpy.
124623         (xpath_concat): Remove: not declared or used.
124625         * lib/same.h: Include <stdbool.h>
124626         (same_name): Return bool, not int.
124627         * lib/same.c (same_name): Likewise.
124628         (errno): Don't declare; we assume C89 or better now.
124630         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
124631         if not already defined.
124633         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
124634         * lib/dup-safer.c (errno): Likewise.
124636 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124638         Merge from coreutils.
124639         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
124640         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
124641         * modules/path-concat: Don't depend on strdup.
124643 2004-08-03  Simon Josefsson  <jas@extundo.com>
124645         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
124646         * lib/progname.h: Don't include stdbool.h.
124648 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124650         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
124651         * MODULES.html.sh (func_all_modules): Remove fatal.
124653 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124655         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
124657 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124659         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
124660         working.
124662 2004-08-02  Simon Josefsson  <jas@extundo.com>
124664         * lib/getsubopt.h: New file, with comments from Bruno Haible.
124665         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
124666         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
124668 2004-08-01  Simon Josefsson  <jas@extundo.com>
124670         * lib/xgetdomainname.c: Include stdlib.h, for free().
124672 2004-07-19  Bruno Haible  <bruno@clisp.org>
124674         * MODULES.html.sh (func_all_modules): Add dummy.
124676 2004-07-16  Simon Josefsson  <jas@extundo.com>
124678         * modules/dummy: New file.
124680 2004-07-16  Simon Josefsson  <jas@extundo.com>
124682         * lib/dummy.c: New file.
124684 2004-07-16  Bruno Haible  <bruno@clisp.org>
124686         * lib/backupfile.h: Add extern "C" for C++.
124687         * lib/closeout.h: Likewise.
124688         * lib/copy-file.h: Likewise.
124689         * lib/findprog.h: Likewise.
124690         * lib/full-write.h: Likewise.
124691         * lib/pathname.h: Likewise.
124692         * lib/progname.h: Likewise.
124693         * lib/stpcpy.h: Likewise.
124694         * lib/stpncpy.h: Likewise.
124695         * lib/strcase.h: Likewise.
124696         * lib/strstr.h: Likewise.
124697         * lib/xalloc.h: Likewise.
124699         * lib/mbswidth.h: Add extern "C" for C++.
124700         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
124702 2004-07-13  Robert Millan  <robertmh@gnu.org>
124704         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
124706 2004-07-09  Simon Josefsson  <jas@extundo.com>
124708         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
124709         failed without this.)
124711 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124713         * modules/chown (Files): Add lib/fchown-stub.c, since
124714         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
124716 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124718         * lib/fchown-stub.c: New file.
124720 2004-06-24  Jim Meyering  <jim@meyering.net>
124722         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
124724 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124726         * modules/argz: Omit "#include".
124728         * MODULES.html.sh (func_all_modules): Add calloc, to match
124729         2004-06-01 addition of calloc module.
124731 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124733         * m4/argz.m4: New file, which is autoupdated from libtool.
124735 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124737         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
124738         libtool.
124740 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124742         * config/srclist-update: Don't insist on "USA." before the
124743         close-comment, as libtool omits the period and puts the */ on a
124744         separate line.
124745         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
124746         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
124748 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
124750         * modules/argz: New file.
124751         * MODULES.html.sh (func_all_modules): Add argz.
124753 2004-06-12  Jim Meyering  <jim@meyering.net>
124754         and  Paul Eggert  <eggert@cs.ucla.edu>
124756         * modules/hash (Files): Add lib/xalloc.h.
124757         * modules/pipe (Depends-on): Add wait-process.
124758         * modules/stat (Depends-on): Add xalloc.
124759         * modules/userspec (Files): Add lib/userspec.h.
124760         * modules/xstrto
124762         Upgrade from gettext-0.13.
124763         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
124764         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
124765         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
124767 2004-06-10  Jim Meyering  <jim@meyering.net>
124769         * lib/calloc.c: New file.
124771 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
124773         * lib/getdate.y (yylex): Allow space between sign and number.
124774         Problem reported by Dan Jacobson.
124776 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124778         Merge from coreutils CVS.
124780         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
124781         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
124782         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
124783         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
124784         xstrtol.m4: Fix copyright date and/or serial number.
124786         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
124787         See if we need an fchown replacement.
124788         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
124789         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
124790         and use the replacement function if we detect either defect.
124792         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
124793         gl_UTIMECMP.
124795 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124796         and  Jim Meyering  <jim@meyering.net>
124798         Merge from coreutils CVS.
124800         * lib/stat-macros.h: New file, with contents from file-type.h
124801         and coreutils' system.h.
124802         * lib/file-type.c: Include "stat-macros.h".
124803         * lib/file-type.h (file_type): Move all macro definitions to new file,
124804         stat-macros.h.
124806         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
124807         Wrap old code with this conditional.
124808         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
124809         function that does not dereference symlinks.
124810         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
124812         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
124813         dependency problems.
124814         (xreadlink): Accept new arg SIZE, for efficiency.
124815         All decls and uses changed.
124816         * lib/xreadlink.h: Include <stddef.h>, for size_t.
124818         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
124819         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
124821         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
124822         sysexits.h.
124824 2004-06-01  Jim Meyering  <jim@meyering.net>
124826         * m4/calloc.m4: New file.
124828 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
124830         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
124831         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
124832         Also, fix a typo in a diagnostic.
124834 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124836         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
124837         or AC_FUNC_REALLOC.
124839 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124841         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
124842         macros to be defined.
124843         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
124844         the allocator returns NULL because the requested size is zero.
124846 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
124848         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
124849         var.  Add comment explaining why libc still defines it.  This
124850         merges the following patch from glibc:
124851         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
124853 2004-05-20  Andreas Schwab  <schwab@suse.de>
124855         * m4/free.m4: Replace free if it not known to work, not the other
124856         way round.
124858 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
124860         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
124861         present in glibc since revision 1.1 of this file.
124862         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
124863         obstack_alignment_mask, obstack_alloc, obstack_base,
124864         obstack_blank, obstack_blank_fast, obstack_chunk_size,
124865         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
124866         obstack_grow0, obstack_init, obstack_int_grow,
124867         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
124868         obstack_next_free, obstack_object_size, obstack_ptr_grow,
124869         obstack_ptr_grow_fast, obstack_room): Remove declarations of
124870         nonexistent functions.
124872 2004-05-18  Karl Berry  <karl@gnu.org>
124874         * config/srclist.txt: break link for vasnprintf.c.
124876 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124878         Port obstack to the AS/400, where pointers are 16 bytes wide and
124879         you cannot cast an integer to a valid pointer.  This patch is
124880         currently waiting to be integrated into glibc; see
124881         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
124883         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
124884         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
124885         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
124886         (struct obstack): temp member is now a union of a pointer and
124887         an integer, instead of an integer.  All integer uses changed.
124888         This does not affect the physical layout of struct obstack,
124889         except on hosts (like the AS/400) where the size or alignment of
124890         void * is greater than that of ptrdiff_t.
124891         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
124892         __STDC__)]: Store temporary in pointer member of union, not
124893         integer member.
124894         * lib/obstack.c: Include <stddef.h>, for offsetof.
124895         (struct fooalign): Remove; it doesn't need a name.
124896         (union fooround): Change double to long double, and add void *.
124897         (DEFAULT_ALIGNMENT): Use offsetof to compute.
124898         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
124899         not a macro.  Hence the values are always int; so remove all
124900         casts-to-int in uses.
124902 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124904         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
124905         we can get this patch merged into glibc.
124907 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124908             Paul Eggert  <eggert@cs.ucla.edu>
124910         * m4/argp: Depend on alloca.
124912 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124913             Paul Eggert  <eggert@cs.ucla.edu>
124915         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
124916         freecoding.
124918 2004-05-17  Bruno Haible  <bruno@clisp.org>
124920         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
124921         precision that consists of a '.' followed by an empty digit string.
124922         Patch by Tor Lillqvist <tml@iki.fi>.
124924 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124926         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
124927         for backward compatibility with older code.  We need our own
124928         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
124929         it under some other name, and our alloca.h will define it.
124931 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124932             Derek Price  <derek@ximbiot.com>
124934         * lib/alloca.c: Include <alloca.h>, to get our interface.
124935         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
124936         include <alloca.h> first.  Use C89 prototype for alloca; this
124937         requires including <stddef.h> for size_t.  Use extern "C" if C++.
124938         Use #elif for simplicity, since we can assume C89 now.
124939         Don't try to source the system alloca.h since it will not be found
124940         and to prevent recursively including its replacement.
124941         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
124942         * lib/regex.c: Likewise.
124944 2004-05-16  Derek Price  <derek@ximbiot.com>
124945             Paul Eggert  <eggert@cs.ucla.edu>
124947         getline cleanup.  This changes the getndelim2 API: both order of
124948         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
124949         no delimiter).
124951         * lib/getline.c: Don't include stddef.h or stdio.h, since our
124952         interface does that.
124953         (getline): Always use getdelim, so that we don't have two
124954         copies of this code.
124955         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
124956         if available.
124957         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
124958         (GETNDELIM2_MAXIMUM): New macro.
124959         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
124960         instead of the old practice of delim2==0.  All callers changed.
124961         Return -1 on overflow, instead of returning junk.
124962         Do not set *linesize unless allocation succeeds.
124963         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
124964         that we include sys/types.h.
124965         * lib/getnline.h: Likewise.
124966         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
124967         (getndelim2): Reorder arguments.
124968         * lib/getnline.c (getnline, getndelim):
124969         Don't discard the NMAX argument.
124970         (getnline): Invoke getndelim, to avoid code duplication.
124971         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
124972         of (size_t) -1 by callers of the getnline family.
124974 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124976         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
124977         Check for gettimeofday.
124978         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
124979         Check for settimeofday, stime.
124981 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124983         * lib/nanosleep.c (suspended): Change its type from int to
124984         sig_atomic_t volatile.
124985         (first_call): Make it private to rpl_nanosleep, and have it
124986         be zero initially as that's a bit faster.
124987         (my_usleep): Round up fractional times instead of truncating them,
124988         as this is the usual meaning for 'sleep'.
124990         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
124991         doesn't work.
124992         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
124993         (ENOSYS): Define if not defined.
124994         (settime): Fall back on stime if it exists and settimeofday fails.
124995         But don't bother with fallbacks if a method fails with errno == EPERM.
124997 2004-05-11  Jim Meyering  <jim@meyering.net>
124999         Prior to this change, the save_cwd caller required read access to the
125000         current directory on most systems (ones with the fchdir function).
125002         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
125003         fails, try write-only, and finally, resort to using xgetcwd.
125005 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
125007         * lib/obstack.c, obstack.h: Import changes from libc.
125009 2004-04-28  Bruno Haible  <bruno@clisp.org>
125011         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
125012         also implicitly appends .exe to executables.
125013         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
125014         accepts Windows pathnames.
125015         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125016         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125017         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125018         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125019         Reported by Derek Robert Price <derek@ximbiot.com>.
125021 2004-04-21  Karl Berry  <karl@gnu.org>
125023         * config/srclist.txt (localcharset.c): break sync.
125025 2004-04-20  Paul Eggert  <eggert@twinsun.com>
125027         * m4/host-os.m4: Add a copyright notice.
125029 2004-04-20  Jim Meyering  <jim@meyering.net>
125031         Change UTILS_ to gl_ in AC_DEFINE'd names.
125032         Change utils_- and jm_-prefixed variables, too.
125033         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
125034         UTILS_FUNC_MKDIR_TRAILING_SLASH.
125035         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
125037         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
125038         Don't emit trailing blanks.
125039         Also rename jm_-prefixed variables to have gl_ prefix.
125041         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
125042         Also rename jm_-prefixed variables to have gl_ prefix.
125044         * m4/jm-macros.m4: Reflect the renamings.
125045         * m4/prereq.m4: Likewise.
125047 2004-04-20  Jim Meyering  <jim@meyering.net>
125049         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
125050         memory.
125052 2004-04-20  Jim Meyering  <jim@meyering.net>
125053             Bruno Haible  <bruno@clisp.org>
125055         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
125056         memory when realloc fails.
125058 2004-04-19  Jim Meyering  <jim@meyering.net>
125060         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
125061         now that readutmp.c may call `free (0)'.
125063 2004-04-19  Bruno Haible  <bruno@clisp.org>
125065         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
125066         * m4/inttypes_h.m4: Likewise.
125067         * m4/stdint_h.m4: Likewise.
125068         * m4/intmax_t.m4: Likewise.
125069         * m4/uintmax_t.m4: Likewise.
125071 2004-04-18  Jim Meyering  <jim@meyering.net>
125073         * m4/prereq.m4: Don't forbid jm_ prefix.
125075         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
125076         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
125077         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
125078         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
125079         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
125080         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
125081         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
125082         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
125083         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
125084         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
125085         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
125086         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
125087         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
125088         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
125089         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
125090         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
125091         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
125092         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
125093         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
125095 2004-04-18  Jim Meyering  <jim@meyering.net>
125097         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
125098         failure, don't leak memory and do call END_UTMP_ENT.
125100 2004-04-16  Jim Meyering  <jim@meyering.net>
125102         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
125103         coreutils' stat program.
125104         (gl_PREREQ): Don't require jm_PREREQ_STAT.
125106 2004-04-11  Paul Eggert  <eggert@twinsun.com>
125108         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
125109         C89.
125110         (CHAR_BIT): Remove, since we assume C89.
125111         Include <stdint.h> if available, as per current Autoconf CVS advice.
125113 2004-03-31  Jim Meyering  <jim@meyering.net>
125115         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
125116         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
125117         * m4/xalloc.m4: Likewise.
125119 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125121         Merge from coreutils.
125123         * m4/inttostr.m4: New file.
125124         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
125125         Require AM_STDBOOL_H and gl_TIMESPEC instead.
125126         Require gl_CLOCK_TIME.
125127         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
125129 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125131         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
125132         not bool, to be more consistent with Unix conventions.
125133         Suggested by Bruno Haible.
125135         Merge from coreutils.
125137         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
125138         * lib/umaxtostr.c: New files.
125140         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
125141         the usual <time.h> dance.
125142         (get_date): Change signature to support fractional time stamps.
125143         All callers changed.
125144         * lib/getdate.y: Include "getdate.h" first, as we can now
125145         assume C89 and don't need to worry about 'const'.
125146         Similarly, include "unlocked-io.h" near start, not in middle.
125147         Include <limits.h>.
125148         (textint.value): Use long int rather than int.
125149         (textint.digits): Use size_t rather than int.
125150         (BILLION, LOG10_BILLION): New constants.
125151         (parser_control): New member rel_ns.  Members day_ordinal,
125152         time_zone, month, day, hour, minutes, rel_year, rel_month,
125153         rel_day, rel_hour, rel_minutes, rel_seconds
125154         are now long int, not int.  Member seconds is now struct timespec,
125155         not int.  New member timespec_seen.  Members dates_seen, days_seen,
125156         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
125157         not int.
125158         (%union.intval): Now long int, not int.
125159         New member timespec.
125160         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
125161         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
125162         (spec): Now is a timespec or an item list.
125163         (timespec, items): New nonterminals.
125164         (time, rel, relunit, number, get_date):
125165         Add support for fractional seconds.
125166         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
125167         (gmtime, localtime, mktime): Remove decls; not needed with C89.
125168         (to_hour): First arg is now long int, not int.
125169         (to_year): Returns long int, not int.
125170         Don't treat year -70 like 70.
125171         (tm_diff): Returns long int, not int.
125172         (lookup_word): Use bool instead of int when appropriate.
125173         (yylex): Use size_t for count, not int.
125174         Detect overflow when parsing large integer constants.
125175         Add support for fractions.
125176         (get_date): Make pointers 'const' if possible.
125177         Use more-portable code to detect integer overflow.
125178         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
125179         Don't use ctime; it's not reliable if the year has >4 digits.
125181         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
125182         This is for compatibility with BSD.
125184         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
125185         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
125186         From coreutils' system.h.
125188         * lib/userspec.c: Don't include "posixver.h".
125189         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
125190         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
125191         compatible extension.  Simplify code by removing a boolean int
125192         that was always nonzero if a string was nonnull.
125194 2004-03-30  Jim Meyering  <jim@meyering.net>
125196         Merge from coreutils.
125198         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
125199         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
125200         on some systems one must include <grp.h> before it.
125201         Reported by Christian Krackowizer.
125203 2004-03-30  Jim Meyering  <jim@meyering.net>
125205         Merge from coreutils.
125207         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
125209         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
125210         an empty input stream.
125212         * lib/readtokens.c: Include <stdbool.h>.
125213         (readtoken): Use `size_t' rather than int/long.
125214         All callers adjusted.
125215         Use `bool' rather than `int' where appropriate.
125216         Use memset rather than an explicit loop.
125217         Use x2nrealloc rather than xrealloc.
125218         Allow the use of `\0' as a delimiter.
125219         (readtokens): Likewise.
125220         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
125222 2004-03-30  Jim Meyering  <jim@meyering.net>
125224         * m4/realloc.m4: Remove file, since now it does no more than
125225         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
125226         the `configure.ac' section of module/realloc.
125227         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
125229 2004-03-30  Bruno Haible  <bruno@clisp.org>
125231         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
125232         nonnull.
125234 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125236         Merge changes to getloadavg.c from coreutils and Emacs.
125238         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
125239         Define to an expression, not to the empty string.
125240         Include cloexec.h and xalloc.h.
125241         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
125242         Use set_cloexec_flag rather than rolling our own.
125243         * lib/cloexec.c, lib/cloexec.h: New files.
125245 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125247         * m4/cloexec.m4: New file.
125249 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125251         * lib/getopt.h: Sync with libc CVS.
125253 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125254             Bruno Haible  <bruno@clisp.org>
125256         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
125257         mbswidth.
125259 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125260             Bruno Haible  <bruno@clisp.org>
125262         * lib/mbswidth.h: Include <wchar.h> only if
125263         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
125264         <wchar.h>.
125265         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
125267 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125269         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
125270         Sync with libc CVS.
125271         * lib/getopt_int.h: New file, also synced from libc.
125273 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125275         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
125276         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
125277         Bring back getopt.c, getopt.h, getopt1.c.
125279 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125281         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
125282         All uses changed.  Check for sa_sigaction member; this fixes
125283         a bug first reported by Jason Andrade in
125284         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125286 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125288         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
125289         '#if' expressions.  Unlike the code it replaces, it does not
125290         depend on (defined _SC_PAGESIZE).  However, it does depend on
125291         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
125292         first reported by Jason Andrade in
125293         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125295 2004-02-25  Simon Josefsson  <jas@extundo.com>
125297         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
125299 2004-02-25  Simon Josefsson  <jas@extundo.com>
125301         * lib/strdup.h: New file.
125302         * lib/strdup.c: Include it.
125303         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
125304         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
125306 2004-02-23  Karl Berry  <karl@gnu.org>
125308         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
125309         (from fencepost.gnu.org:/gd/gnuorg).
125311 2004-02-23  Karl Berry  <karl@gnu.org>
125313         * config/srclistvars.sh (GNUORG) [karl]: redefine.
125314         * config/srclist.txt: add maintain/standards documents.
125316 2004-02-18  Bruno Haible  <bruno@clisp.org>
125318         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
125319         Reported by Derek Robert Price <derek@ximbiot.com>.
125321 2004-02-16  Karl Berry  <karl@gnu.org>
125323         * config/mkinstalldirs, install-sh: update from automake.
125325 2004-02-06  Karl Berry  <karl@gnu.org>
125327         * m4/po.m4: update from gettext 0.14.1.
125329 2004-02-06  Karl Berry  <karl@gnu.org>
125331         * lib/config.charset: update from gettext 0.14.1.
125333 2004-02-05  Paul Eggert  <eggert@twinsun.com>
125335         Add comments and code, prompted by suggestions from Bruno Haible
125336         for sh-quote.
125337         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
125338         describing the enum quoting_style values.
125339         * lib/quotearg.c (quotearg_alloc): New function.
125340         (quotearg_buffer_restyled): Treat lone { and } as special.
125341         Treat = as special.  Work around bug with older shells
125342         that "see" a '\' that is really the 2nd byte of a multibyte char.
125343         Quote empty string with shell_quoting_style.
125345 2004-02-03  Bruno Haible  <bruno@clisp.org>
125347         * m4/pipe.m4: New file, from GNU gettext.
125349 2004-02-03  Bruno Haible  <bruno@clisp.org>
125351         * lib/pipe.h: New file, from GNU gettext.
125352         * lib/pipe.c: New file, from GNU gettext.
125354 2004-01-27  Bruno Haible  <bruno@clisp.org>
125356         * m4/execute.m4: New file, from GNU gettext.
125358 2004-01-27  Bruno Haible  <bruno@clisp.org>
125360         * lib/execute.h: New file, from GNU gettext.
125361         * lib/execute.c: New file, from GNU gettext.
125362         * lib/w32spawn.h: New file, from GNU gettext.
125364 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125366         Merge from diffutils.
125368         * lib/file-type.c (file_type): Add typed memory objects.
125369         * lib/file-type.h (S_TYPEISTMO): New macro.
125371         * lib/c-stack.h (c_stack_action): Remove argv argument.
125372         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
125373         (die): Don't calculate message unless segv_action returns.
125374         (get_stack_location, min_address_from_argv, max_address_from_argv,
125375         volatile stack_base, volatile_stack_size): Remove.
125376         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
125377         that every segmentation violation is a stack overflow.  (Ouch!)
125378         See Debian bug 136249 (still outstanding) for more info about why
125379         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
125381 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125383         Exit-status fix from coreutils.
125385         Use exit_failure consistently in place of EXIT_FAILURE,
125386         so that program exit statuses are consistent on failure.
125388         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
125389         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
125390         * lib/argmatch.h: Comment fix to match the above.
125391         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
125392         Now a macro referring to exit_failure, instead of a separate
125393         variable.  Include "exitfail.h" to get it.
125394         * lib/xstrtol.h: Include "exitfail.h".
125395         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
125397         * lib/long-options.c (parse_long_options): Use prototype
125398         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
125399         for clarity.
125401 2004-01-21  Jim Meyering  <jim@meyering.net>
125403         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
125404         so as not to conflict with a different-sized __mktime_internal
125405         function in GNU libc.
125406         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
125407         Problem building statically-linked `ls' reported by Michael Brunnbauer.
125409 2004-01-20  Karl Berry  <karl@gnu.org>
125411         * config/config.guess: update from config.
125413         * config/srclistvars.sh: GNUWWWLICENSES for karl.
125415 2004-01-20  Bruno Haible  <bruno@clisp.org>
125417         Safer stack allocation.
125418         * lib/setenv.c: Include allocsa.h.
125419         (alloca): Remove fallback definition.
125420         (freea): Remove macro.
125421         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
125422         instead of freea.
125424 2004-01-20  Bruno Haible  <bruno@clisp.org>
125426         * m4/eealloc.m4: New file, from GNU gettext.
125428 2004-01-20  Bruno Haible  <bruno@clisp.org>
125430         * m4/allocsa.m4: New file, from GNU gettext.
125432 2004-01-20  Bruno Haible  <bruno@clisp.org>
125434         * lib/xallocsa.h: New file, from GNU gettext.
125435         * lib/xallocsa.c: New file, from GNU gettext.
125437 2004-01-20  Bruno Haible  <bruno@clisp.org>
125439         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
125441 2004-01-20  Bruno Haible  <bruno@clisp.org>
125443         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
125444         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
125445         specially.
125447 2004-01-20  Bruno Haible  <bruno@clisp.org>
125449         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
125450         patch.
125452 2004-01-20  Bruno Haible  <bruno@clisp.org>
125454         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
125456 2004-01-20  Bruno Haible  <bruno@clisp.org>
125458         * lib/eealloc.h: New file.
125460 2004-01-20  Bruno Haible  <bruno@clisp.org>
125462         * lib/binary-io.h: Avoid warnings on Cygwin.
125464 2004-01-20  Bruno Haible  <bruno@clisp.org>
125466         * lib/allocsa.h: New file, from GNU gettext.
125467         * lib/allocsa.c: New file, from GNU gettext.
125469 2004-01-18  Karl Berry  <karl@gnu.org>
125471         * doc/gpl.texi, doc/lgpl.texi: new files.
125473 2004-01-18  Karl Berry  <karl@gnu.org>
125475         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
125476         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
125478 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125480         Merge from coreutils.
125482         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
125483         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
125484         (gl_DEFAULT_POSIX2_VERSION): Move
125485         the documentation from 'configure' into 'config.hin',
125486         so that 'configure --help' isn't burdened by it and
125487         we don't have to worry about its formatting there.
125488         Reword the documentation so that it's more succinct
125489         and can be run together into a single paragraph.
125490         * m4/same.m4 (gl_SAME): Check for pathconf.
125492 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125494         Merge from coreutils.
125496         * lib/posixver.c: Include posixver.h.
125498         * lib/same.c: Include <stdbool.h>, <limits.h>.
125499         (_POSIX_NAME_MAX): Define if not defined.
125500         (MIN): New macro.
125501         (same_name): If file names are silently truncated, report
125502         that the file names are the same if they are the same after
125503         the silent truncation.
125505         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
125506         conversion function.
125507         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
125508         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
125509         longer needed.
125511 2004-01-15  Jim Meyering  <jim@meyering.net>
125513         Merge from coreutils.
125515         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
125516         if no library is required.
125517         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
125518         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
125519         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
125520         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
125521         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
125522         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
125523         value, $ac_cv_search_crypt, if it's "none required".
125524         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
125525         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
125526         not gl_FUNC_GETLOADAVG.
125527         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
125528         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
125530 2004-01-15  Jim Meyering  <jim@meyering.net>
125532         Merge from coreutils.
125534         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
125535         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
125536         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
125538         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
125539         optional configure-time default.
125541         * lib/version-etc.c (version_etc_copyright): Update copyright date.
125543         * lib/xreadlink.c (xreadlink): Correct outdated comment.
125545 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
125547         Merge from coreutils.
125549         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
125550         value, $ac_cv_search_nanosleep, if it's "none required".
125552 2004-01-14  Paul Eggert  <eggert@twinsun.com>
125554         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
125555         with like-named macro in fnmatch.c.
125556         (EXT): Use an internal constant instead.
125558         Merge fnmatch patches from glibc.
125559         * lib/fnmatch.c (mbsinit): Remove define.
125560         Add libc_hidden_ver (__fnmatch, fnmatch).
125561         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
125562         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
125564 2004-01-14  Karl Berry  <karl@gnu.org>
125566         * config/install-sh: update from automake.
125568 2004-01-13  Karl Berry  <karl@gnu.org>
125570         * config/install-sh: update from automake.
125572 2004-01-09  Karl Berry  <karl@gnu.org>
125574         * config/install-sh: update from automake.
125576 2004-01-05  Karl Berry  <karl@gnu.org>
125578         * config/config.{sub,guess}: update from config.
125580 2003-12-31  Karl Berry  <karl@gnu.org>
125582         * config/depcomp: update from automake.
125584 2003-12-14  Karl Berry  <karl@gnu.org>
125586         * lib/config.charset: update from gettext-runtime.
125588 2003-12-03  Paul Eggert  <eggert@twinsun.com>
125590         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
125591         Bug reported by Alfred M. Szmidt.
125593 2003-12-03  Bruno Haible  <bruno@clisp.org>
125595         * m4/gettext.m4: Upgrade from gettext-0.13.
125596         * m4/po.m4: Upgrade from gettext-0.13.
125597         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
125598         * m4/intmax.m4: New file, from gettext-0.13.
125599         * m4/printf-posix.m4: New file, from gettext-0.13.
125601 2003-11-29  Karl Berry  <karl@gnu.org>
125603         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
125605 2003-11-25  Paul Eggert  <eggert@twinsun.com>
125606             Bruno Haible  <bruno@clisp.org>
125608         * lib/printf-parse.h: Don't include sys/types.h.
125609         (ARG_NONE): New macro.
125610         (char_directive): Change type of *arg_index fields to size_t.
125611         * lib/printf-parse.c: Don't include sys/types.h.
125612         (SSIZE_MAX): Remove macro.
125613         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
125614         Remove unnecessary overflow check.
125615         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
125616         fields.
125618 2003-11-25  Bruno Haible  <bruno@clisp.org>
125620         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
125622 2003-11-25  Bruno Haible  <bruno@clisp.org>
125624         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
125625         gt_TYPE_SSIZE_T.
125627 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125629         * modules/alloca: Remove dependency on xalloc.
125631 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125633         * lib/alloca.c: Remove dependency on xalloc module.
125634         (xalloc_die): Remove.
125635         (memory_full) [!defined emacs]: New macro.
125636         [!defined emacs]: Don't include xalloc.h.
125637         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
125638         address arithmetic overflows.  Change datatypes a bit to avoid
125639         unnecessary casts.
125641 2003-11-22  Jim Meyering  <jim@meyering.net>
125643         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
125644         s/size/size_t/.
125646 2003-11-21  Karl Berry  <karl@gnu.org>
125648         * config/config.{sub,guess}: update from config.
125650 2003-11-18  Karl Berry  <karl@gnu.org>
125652         * config/config.{sub,guess}: update from config.
125654         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
125656 2003-11-17  Paul Eggert  <eggert@twinsun.com>
125658         * README: Mention that S+T cannot overflow if S is the size of
125659         an existing object and T is sufficiently small.
125661 2003-11-17  Jim Meyering  <jim@meyering.net>
125663         On systems without utime and without a utimes function capable of
125664         dealing with a NULL struct utimbuf* argument, this utime replacement
125665         could -- in unusual circumstances -- leak a file descriptor.
125666         * lib/utime.c: Include <unistd.h> and <errno.h>.
125667         (utime_null): Be sure to close `fd' and to preserve errno.
125668         Reported by Geoff Collyer via Arnold Robbins.
125670 2003-11-17  Bruno Haible  <bruno@clisp.org>
125672         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
125673         (Depends-on): Add xsize.
125675 2003-11-17  Bruno Haible  <bruno@clisp.org>
125677         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
125679 2003-11-17  Bruno Haible  <bruno@clisp.org>
125681         * lib/vasnprintf.c (alloca): Remove fallback definition.
125682         (freea): Remove definition.
125683         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
125684         Reported by Paul Eggert.
125686 2003-11-16  Paul Eggert  <eggert@twinsun.com>
125687             Bruno Haible  <bruno@clisp.org>
125689         Protect against address arithmetic overflow.
125690         * lib/printf-args.h: Include stddef.h.
125691         (arguments): Change type of field 'count' to size_t.
125692         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
125693         'unsigned int' where appropriate.
125694         * lib/printf-parse.h: Include sys/types.h.
125695         (char_directive): Change type of *arg_index fields to ssize_t.
125696         (char_directives): Change type of fields 'count', max_*_length to
125697         size_t.
125698         * lib/printf-parse.c: Include sys/types.h and xsize.h.
125699         (SSIZE_MAX): Define fallback value.
125700         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
125701         instead of 'int' where appropriate. Check a_allocated, d_allocated
125702         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
125703         * lib/vasnprintf.c: Include xsize.h.
125704         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
125705         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
125706         overflow. Avoid wraparound when converting a width or precision from
125707         decimal to binary.
125709 2003-11-16  Bruno Haible  <bruno@clisp.org>
125711         Update from GNU gettext.
125712         * lib/printf-parse.c: Generalize to it can be compiled for wide
125713         strings.
125714         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
125715         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
125716         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
125717         SNPRINTF): New macros.
125718         Don't include <alloca.h> if the file is used inside libintl.
125719         (local_wcslen): New function, for Solaris 2.5.1.
125720         (VASNPRINTF): Use it instead of wcslen.
125722 2003-11-16  Bruno Haible  <bruno@clisp.org>
125724         * lib/xsize.h (xmax): New function.
125725         (xsum, xsum3, xsum4): Declare as "pure" functions.
125727 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125729         * modules/xalloc (Files): Undo latest change, since xalloc.h
125730         no longer needs SIZE_MAX or PTRDIFF_MAX.
125732 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125734         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
125735         gl_PTRDIFF_MAX.
125737 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125739         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
125740         "return", to pacify some unknown compiler.  Problem reported
125741         by Joerg Schilling.
125743 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125745         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
125746         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
125747         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
125748         heuristic is just as accurate as far as we know, and it removes a
125749         dependency on size_max.m4 and ptrdiff_max.m4.
125751 2003-11-11  Bruno Haible  <bruno@clisp.org>
125753         * modules/xsize (Files): Add m4/size_max.m4.
125754         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
125756 2003-11-11  Bruno Haible  <bruno@clisp.org>
125758         * m4/size_max.m4: New file.
125759         * m4/ptrdiff_max.m4: New file.
125760         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
125761         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
125762         (gl_XALLOC): Invoke it.
125764 2003-11-11  Bruno Haible  <bruno@clisp.org>
125766         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
125767         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
125768         defined.
125770 2003-11-10  Paul Eggert  <eggert@twinsun.com>
125772         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
125773         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
125774         rejected some allocations of exactly SIZE_MAX - 2 bytes.
125775         From Bruno Haible.
125776         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
125777         not (size_t) -1, since it's defined here.
125779 2003-11-09  Karl Berry  <karl@gnu.org>
125781         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
125783 2003-11-06  Paul Eggert  <eggert@twinsun.com>
125785         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
125786         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
125787         Reject sizes of exactly SIZE_MAX bytes.
125788         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
125789         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
125791 2003-11-05  Bruno Haible  <bruno@clisp.org>
125793         * lib/xsize.h: Include limits.h, to avoid a possible collision with
125794         SIZE_MAX defined in <limits.h> on Solaris.
125796 2003-11-04  Jim Meyering  <jim@meyering.net>
125798         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
125799         variable names, rather than @VAR@.
125800         * modules/poll: Likewise.
125802 2003-11-04  Bruno Haible  <bruno@clisp.org>
125804         * modules/xsize: New file.
125805         * modules/linebreak: Depend on xsize.
125806         * MODULES.html.sh (func_all_modules): Add xsize.
125808 2003-11-04  Bruno Haible  <bruno@clisp.org>
125810         * m4/xsize.m4: New file.
125812 2003-11-04  Bruno Haible  <bruno@clisp.org>
125814         * lib/xsize.h: New file.
125815         * lib/linebreak.c: Include xsize.h.
125816         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
125817         argument for overflow.
125818         Suggested by Paul Eggert.
125820 2003-11-03  Karl Berry  <karl@gnu.org>
125822         * config/config.{guess,sub}: update from config.
125824 2003-11-03  Jim Meyering  <jim@meyering.net>
125826         * modules/userspec (lib_SOURCES): Add userspec.h.
125827         (Include): Add "userspec.h".
125828         Improve description.
125830 2003-11-03  Jim Meyering  <jim@meyering.net>
125832         * lib/userspec.c: Include "userspec.h".
125833         * lib/userspec.h: New file.
125835 2003-11-03  Bruno Haible  <bruno@clisp.org>
125837         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
125839 2003-11-03  Bruno Haible  <bruno@clisp.org>
125841         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
125842         available, to avoid (extremely rare) race condition.
125843         Suggested by Paul Eggert.
125845 2003-11-02  Karl Berry  <karl@gnu.org>
125847         * config/srclist.txt (vasprintf.c): sync broken, sigh.
125849 2003-10-31  Paul Eggert  <eggert@twinsun.com>
125851         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
125852         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
125853         (read_filesystem_list): Set and use me_type_malloced.
125854         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
125855         whatever the type happens to be), for brevity and consistency.
125856         Check for size calculation overflow on Alphas running OSF/1.
125858 2003-10-31  Jim Meyering  <jim@meyering.net>
125860         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
125862         * lib/linebuffer.c: Include <string.h> for declaration of memset.
125864 2003-10-30  Paul Eggert  <eggert@twinsun.com>
125865             Bruno Haible  <bruno@clisp.org>
125867         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
125868         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
125870 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
125872         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
125873         netbsd*-gnu*.  Suggested by Robert Millan.
125875 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125877         * modules/group-member: Depend on stdbool.
125879 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125881         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
125883 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125885         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
125886         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
125887         after the 'gnu' in these cases.  This fixes some bugs in the
125888         previous change, and is based on suggestions by Robert Millan.
125890 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125892         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
125893         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
125894         no longer needed.
125895         * lib/quotearg.c (quotearg_n_options): Use it.
125896         * lib/group-member.c: Include <stdbool.h>.
125897         (free_group_info): Arg is now const *; don't free arg.
125898         (get_group_info): Now returns bool and accepts struct group_info *,
125899         rather than returning a malloc'ed struct group_info *.
125900         All uses changed.  Check for overflow in internal size calculation.
125902         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
125903         rather than xmalloc/xrealloc.
125904         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
125905         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
125906         conformance bug: the old code used a pointer after freeing the
125907         storage that it addressed.
125908         * lib/hash.c (hash_initialize): Simplify the code by using
125909         xalloc_oversized rather than doing it by hand.
125910         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
125911         the buffer preserved.  Use free and xmalloc instead.
125912         * lib/quotearg.c (quotearg_n_options): Likewise.
125913         Use a simpler test for size overflow.  Don't use xalloc_oversized
125914         because unsigned int might be wider than size_t (!); this suggests
125915         that we should switch from unsigned int to size_t for slot numbers.
125917 2003-10-28  Paul Eggert  <eggert@twinsun.com>
125919         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
125920         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
125921         NetBSD kernels.  Requested by Richard Stallman.
125923 2003-10-27  Paul Eggert  <eggert@twinsun.com>
125925         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
125926         to allocate the returned structure.  Do not allocate a subarray,
125927         as x2nrealloc will do that.
125928         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
125929         instead of xnrealloc.
125930         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
125932 2003-10-27  Bruno Haible  <bruno@clisp.org>
125934         * lib/stdbool_.h: Better support for BeOS.
125936 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125938         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
125939         now uses inline.
125941 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125943         * lib/xalloc.h (xalloc_oversized): New static inline function, for
125944         callers that want to do their own size-overflow checking.  Include
125945         <stdbool.h>, since xalloc_oversized returns bool.
125946         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
125947         to use xalloc_oversized.
125949         Add two functions x2realloc, x2nrealloc, for programs that grow
125950         arrays dynamically by doubling their sizes.
125951         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
125952         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
125953         New functions.
125955         Port to C99 semantics for 'inline' of external functions.
125956         Bug reported by Bruno Haible.
125957         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
125958         with the old contents of xnmalloc.
125959         (xnmalloc, xmalloc): Use it.
125960         (xnrealloc_inline): New static inline function,
125961         with the old contents of xnrealloc.
125962         (xnrealloc, xrealloc): Use it.
125964         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
125965         that.
125967 2003-10-26  Karl Berry  <karl@gnu.org>
125969         * config/srclist.txt (COPYING.DOC): no longer available from
125970         /gd/gnuorg; don't know where the ultimate source is.
125972 2003-10-25  Paul Eggert  <eggert@twinsun.com>
125974         Fix several address-calculation bugs in the hash modules,
125975         plus some minor code cleanup.
125977         * lib/hash.h: Include <stdbool.h>, for bool.
125978         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
125979         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
125980         hash_get_n_entries, hash_get_max_bucket_length,
125981         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
125982         hash_rehash): Use size_t rather than unsigned.
125983         * lib/hash.c (struct hash_table, hash_get_n_buckets,
125984         hash_get_n_buckets_used, hash_get_n_entries,
125985         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
125986         hash_get_entries, hash_do_for_each, hash_string, is_prime,
125987         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
125988         Likewise.
125989         (SIZE_MAX): Define if not defined.
125990         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
125991         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
125992         hash_print):
125993         Use const * when possible.
125994         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
125995         (check_tuning): Fix bug: if tuning parameters were very close to
125996         0 or 1, rounding errors could have caused subscript violations.
125997         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
125998         (hash_initialize): Add 'fail:' label
125999         to free table and return NULL, and use it to simplify code.
126000         Use calloc rather than clearing the storage ourself.
126001         (hash_initialize, hash_rehash): Check for arithmetic overflow in
126002         buffer size calculations.
126003         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
126004         Include <stddef.h>, for size_t.
126005         * lib/hash-pjw.c (hash_pjw): Likewise.
126006         Switch to method described by Bruno Haible.
126007         Include <limits.h>, for CHAR_BIT.
126008         (SIZE_BITS): New macro.
126010 2003-10-23  Paul Eggert  <eggert@twinsun.com>
126012         * m4/getline.m4 (AM_FUNC_GETLINE):
126013         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
126014         hosts.  Problem reported by Derek Robert Price in
126015         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
126016         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
126017         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
126019 2003-10-21  Paul Eggert  <eggert@twinsun.com>
126021         * lib/getndelim2.c (getndelim2): When size calculation overflows,
126022         ceiling the allocation at NMAX bytes rather than silently
126023         discarding input bytes before NMAX is reached.  This makes
126024         a difference only if NMAX exceeds SIZE_MAX / 2.
126026         * lib/obstack.c: Merge from glibc.
126027         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
126028         Add libc_hidden_def (_obstack_newchunk).
126029         (_obstack_free) [! defined _LIBC]: Remove.
126030         [defined _LIBC]: Make a strong alias from obstack_free, rather than
126031         a clone of the function body.
126032         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
126033         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
126035         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
126036         glibc.
126037         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
126038         arg to memcpy.
126040         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
126041         (obstack_ptr_grow_fast, obstack_int_grow_fast):
126042         Don't use lvalue casts, as GCC plans to remove support for them
126043         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
126044         was also present in the non-GCC version, indicating that this
126045         code had always been buggy and had never been widely used.
126046         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
126047         Use the fast variant of each macro, rather than copying the
126048         definiens of the fast variant; that way, we'll be more likely to
126049         catch future bugs in the fast variants.
126051 2003-10-20  Bruno Haible  <bruno@clisp.org>
126053         * modules/wait-process: New file.
126054         * MODULES.html.sh (func_all_modules): Add wait-process.
126056 2003-10-20  Bruno Haible  <bruno@clisp.org>
126058         * m4/wait-process.m4: New file.
126060 2003-10-20  Bruno Haible  <bruno@clisp.org>
126062         * lib/wait-process.h: New file, from GNU gettext.
126063         * lib/wait-process.c: New file, from GNU gettext.
126065 2003-10-19  Jim Meyering  <jim@meyering.net>
126067         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
126068         HPUX 10.20.
126070 2003-10-18  Karl Berry  <karl@gnu.org>
126072         * config/config.guess: update from config.
126074 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126076         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
126077         (getgroups): First arg is int, not size_t.
126078         Don't let 'free' mangle errno.
126080 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126082         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
126084 2003-10-16  Karl Berry  <karl@gnu.org>
126086         * config/config.{guess,sub}: update from config.
126088 2003-10-16  Jim Meyering  <jim@meyering.net>
126090         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
126091         memcpy.
126093 2003-10-15  Paul Eggert  <eggert@twinsun.com>
126095         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
126096         (SIZE_MAX): Remove.
126097         (new_exclude, add_exclude_file): Initial size no longer needs to
126098         be a power of 2.
126099         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
126100         our own address arithmetic overflow checking.
126102         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
126103         (fnmatch): Do not alloca more than 2000 wide characters;
126104         instead, use malloc for large buffers.
126105         Check for address arithmetic overflow, and return -1
126106         with errno set to ENOMEM in that case.
126107         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
126108         (NEW_PATTERN): Do not alloca more than 8000 bytes;
126109         instead, return -1.  Check for address arithmetic overflow.
126111 2003-10-14  Paul Eggert  <eggert@twinsun.com>
126113         Handle invalid suffixes and overflow independently, so that
126114         callers can treat them independently as needed.  Fix some bugs in
126115         suffix handling, e.g., "100k@" was not diagnosed as an invalid
126116         suffix for a human-readable blocksize.  The major caller-visible
126117         change is the addition of a new
126118         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
126119         that both overflow and suffix chars were found.
126121         * lib/human.c (humblock): Don't check separately for invalid suffix
126122         char; that is xstrtoumax's job (now that its bug is fixed).
126123         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
126124         INTMAX_MAX]: New macros.
126125         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
126126         TYPE_MAXIMUM): New macros.
126127         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
126128         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
126129         if overflow occurs, as it's what __strtol does and it's more useful
126130         in practice.
126131         (__xstrtol): If __strtol reports some error other than ERANGE,
126132         reflect it to the caller as LONGINT_INVALID.  If it reports
126133         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
126134         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
126135         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
126136         value.
126137         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
126138         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
126139         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
126140         [defined UINTMAX_MAX]: New macros.
126142 2003-10-14  Bruno Haible  <bruno@clisp.org>
126144         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
126146 2003-10-14  Bruno Haible  <bruno@clisp.org>
126148         * m4/sig_atomic_t: New file, from GNU gettext.
126149         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
126151 2003-10-14  Bruno Haible  <bruno@clisp.org>
126153         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
126154         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
126155         Also use volatile where needed.
126157 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126159         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
126160         Change maintainer from Bruno Haible to 'all'.
126162 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126164         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
126166 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126168         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
126169         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
126170         and define in terms of the other primitives.
126171         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
126172         (SIZE_MAX): Define if not already defined.
126173         (array_size_overflow): New function.
126174         (xalloc_die): Abort instead of exiting if 'error' returns.
126175         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
126176         (xmalloc, xrealloc): Use them.
126177         (xcalloc): Check for address arithmetic overflow.
126178         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
126179         a bit faster than strcpy.
126181 2003-10-10  Simon Josefsson  <jas@extundo.com>
126183         * modules/argp (Depends-on): Add restrict and strcase.
126185 2003-10-10  Simon Josefsson  <jas@extundo.com>
126187         * m4/argp.m4: Add AC_C_INLINE.
126189 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126191         Merge getpass from libc, plus a few fixes.
126193         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
126194         Include <stdbool.h>.
126195         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
126196         __fsetlocking to empty.
126197         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
126198         do include <bits/libc-lock.h>.
126199         Do not include <fcntl.h>; not needed.
126200         [_LIBC]: Include <wchar.h>.
126201         (NOTCANCEL_MODE): New macro.
126202         (flockfile, funlockfile) [_LIBC]: New macros.
126203         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
126204         [!_LIBC]: New macros.
126205         (call_fclose): New function.
126206         (getpass): Use it.  Save tty stream separately; this simplifies the
126207         code and makes it more reliable if stdin happens to equal stdout.
126208         Invoke __fsetlocking on tty.
126209         Handle thread cancellation if needed.
126210         Namespace cleanup (use __tcgetattr, __getline).
126211         Use bool for Booleans.
126212         [USE_IN_LIBIO]: Handle wide streams.
126213         [!_LIBC]: Unconditionally do the fseek, since we don't know what
126214         stream might go where.
126216         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
126217         doesn't have to include <stdio.h> before us.
126218         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
126219         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
126220         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
126221         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
126222         if not declared, so that we can use getpass.c code from libc without
126223         rewriting it.
126224         (flockfile, ftrylockfile, funlockfile): New macros.
126226 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126228         * modules/getpass: Depend on stdbool.
126230 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126232         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
126234 2003-10-07  Karl Berry  <karl@gnu.org>
126236         * config/config.{guess,sub}: update from config.
126238 2003-10-06  Jim Meyering  <jim@meyering.net>
126239             Bruno Haible  <bruno@clisp.org>
126241         This lets translators provide better translations for the
126242         "Written by ..." part of --version output.
126243         * lib/version-etc.h: Include stdarg.h.
126244         (version_etc_copyright): Declare as readonly.
126245         (version_etc): Make this function variadic with a NULL-terminated list
126246         of author name strings.
126247         (version_etc_va): New declaration.
126248         * lib/version-etc.c: Include stdarg.h, stdlib.h.
126249         (version_etc_copyright): Declare as readonly.
126250         (version_etc_va): New function. Provide a different translatable string
126251         for each possible number of authors < 10. Abbreviate when there are 10
126252         authors or more.
126253         (version_etc): Make this function variadic. Call version_etc_va.
126254         Suggestion from Gary V. Vaughan.
126256         * lib/long-options.h (parse_long_options): Change prototype: the
126257         authors string is moved to the end and becomes variadic.
126258         * lib/long-options.c: Include stdarg.h.
126259         (parse_long_options): Make this function variadic, too.
126260         Call version_etc_va, not version_etc.
126262 2003-10-06  Bruno Haible  <bruno@clisp.org>
126264         * modules/version-etc-2: Remove file.
126265         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
126267 2003-10-06  Bruno Haible  <bruno@clisp.org>
126269         * modules/fatal-signal: New file.
126270         * MODULES.html.sh (func_all_modules): Add fatal-signal.
126272 2003-10-06  Bruno Haible  <bruno@clisp.org>
126274         * m4/fatal-signal.m4: New file.
126275         * m4/signalblocking.m4: New file, from GNU gettext.
126277 2003-10-06  Bruno Haible  <bruno@clisp.org>
126279         * lib/version-etc-2.h: Remove file.
126280         * lib/version-etc-2.c: Remove file.
126282 2003-10-06  Bruno Haible  <bruno@clisp.org>
126284         * lib/fatal-signal.h: New file, from GNU gettext.
126285         * lib/fatal-signal.c: New file, from GNU gettext.
126287 2003-10-05  Paul Eggert  <eggert@twinsun.com>
126289         * README: Rework advice for preventing empty .o files.
126290         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
126291         not <sys/types.h>.
126293 2003-10-04  Karl Berry  <karl@gnu.org>
126295         * lib/argp*: update from libc.
126297 2003-10-04  Karl Berry  <karl@gnu.org>
126299         * config/config.{guess,sub}: update from config.
126301 2003-10-02  Bruno Haible  <bruno@clisp.org>
126303         * modules/lchown (Include): Add lchown.h.
126304         * modules/time_r (Include): Use "..." syntax.
126305         * modules/xgetdomainname (Include): Add xgetdomainname.h.
126307 2003-10-01  Simon Josefsson  <jas@extundo.com>
126309         * MODULES.html.sh (func_all_modules): Move gethostname from section
126310         'based on' to section 'lacking' POSIX:2001.
126312 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
126314         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
126315         to output mode on the same stream.
126317 2003-09-29  Paul Eggert  <eggert@twinsun.com>
126319         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
126320         Fix arg typo in previous patch.
126322 2003-09-28  Jim Meyering  <jim@meyering.net>
126324         * lib/error.c: Correct cpp indentation.
126326 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126328         * modules/free: New file.
126330 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126332         * m4/free.m4: New file.
126334 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126336         * lib/minmax.h (MIN, MAX)
126337         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
126338         Omit the special code that used __typeof__, since we worry that
126339         it could be more trouble than it's worth.  See:
126340         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
126341         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
126343         * lib/free.c: New file.
126345 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
126347         Trivial fixes to Makefile.am parts of module listings.
126348         * modules/strstr: Append strstr.h to lib_SOURCES.
126349         * modules/strcase: Likewise, for strcase.h.
126351 2003-09-27  Karl Berry  <karl@gnu.org>
126353         * config/mkinstalldirs: update from automake.
126355 2003-09-26  Paul Eggert  <eggert@twinsun.com>
126357         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
126358         (error_tail): Do not loop, reallocating temporary buffer, since
126359         the output cannot contain more wide characters than the input
126360         contains bytes, the size must be big enough already.  This avoids
126361         one potential size overflow calculation.  Check for size overflow
126362         when calculating temporary buffer size.  Free temporary buffer
126363         when done, if it was allocated with malloc; this plugs a memory
126364         leak.  Remove casts from void * to pointers, that are no longer
126365         needed now that we're assuming C89 or better.
126367         Merge error changes from glibc.
126369         * lib/error.c, error.h: Update copyright notice header to match glibc.
126370         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
126371         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
126372         Disable cancellation while printing error.
126373         * lib/error.h: Prepend __ to parameter names.
126375 2003-09-26  Jim Meyering  <jim@meyering.net>
126377         * lib/error.c (error_tail): Move some declarations
126378         into inner scope where the local variables are used.
126380 2003-09-26  Bruno Haible  <bruno@clisp.org>
126382         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
126383         stpncpy().
126384         Don't define stpncpy through config.h; it's now done through stpncpy.h.
126386 2003-09-26  Bruno Haible  <bruno@clisp.org>
126388         * lib/stpncpy.h (gnu_stpncpy): New declaration.
126389         (stpncpy): Define as alias for gnu_stpncpy.
126390         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
126392 2003-09-25  Simon Josefsson  <jas@extundo.com>
126394         * lib/xgetdomainname.h: New file.
126395         * lib/xgetdomainname.c: New file.
126397 2003-09-25  Simon Josefsson  <jas@extundo.com>
126398             Bruno Haible  <bruno@clisp.org>
126400         * modules/getdomainname: New file.
126401         * modules/xgetdomainname: New file.
126402         * MODULES.html.sh (func_all_modules): Add getdomainname,
126403         xgetdomainname.
126405 2003-09-25  Simon Josefsson  <jas@extundo.com>
126406             Bruno Haible  <bruno@clisp.org>
126408         * m4/getdomainname.m4: New file.
126410 2003-09-25  Simon Josefsson  <jas@extundo.com>
126411             Bruno Haible  <bruno@clisp.org>
126413         * lib/getdomainname.h: New file.
126414         * lib/getdomainname.c: New file.
126416 2003-09-25  Karl Berry  <karl@gnu.org>
126418         * lib/argp-fmtstream.c, argp-help.c: update from libc.
126420 2003-09-25  Karl Berry  <karl@gnu.org>
126422         * config/install-sh: update from automake.
126424 2003-09-25  Bruno Haible  <bruno@clisp.org>
126426         * modules/version-etc-2: New file, from modules/version-etc with
126427         modifications.
126428         * MODULES.html.sh (func_all_modules): Add version-etc-2.
126430 2003-09-25  Bruno Haible  <bruno@clisp.org>
126432         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
126433         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
126435 2003-09-24  Simon Josefsson  <jas@extundo.com>
126437         * modules/xgethostname: Add xgethostname.h.
126439 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126441         * lib/linebuffer.c (freebuffer): Don't free the argument, just
126442         the buffer associated with the argument.  Bug reported by
126443         Simon Josefsson.
126445 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126447         * README: Document assumptions that 'int' is at least 32 bits
126448         wide, that integer arithmetic is 2's complement without overflow,
126449         that there are no holes in integer values, that adding sizes of
126450         two nonoverlapping objects can't overflow, and that all-bits-zero
126451         yields scalar zero.  Fix spelling and capitalization typos.
126453 2003-09-19  Karl Berry  <karl@gnu.org>
126455         * lib/argp.h: update from libc.
126457 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126459         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
126460         to avoid spurious warnings like "AC_RUN_IFELSE was called before
126461         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
126463 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126465         * gnulib-tool: Use "test -h", not "test -L", for portability
126466         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
126467         (tags_regexp): Remove, since \| doesn't conform to POSIX.
126468         (sed_extract_prog): Issue s commands one-by-one, rather than
126469         using \| in one s command.
126471 2003-09-16  Paul Eggert  <eggert@twinsun.com>
126473         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
126474         input error, instead of returning NULL the next time we are called
126475         (and therefore losing track of errno).
126477 2003-09-16  Bruno Haible  <bruno@clisp.org>
126479         * gnulib-tool (func_create_testdir): Warn about duplicated
126480         dependencies.
126482 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126484         * modules/argmatch, modules/fatal, modules/obstack,
126485         modules/xalloc, modules/xgethostname: Sort dependencies by
126486         importance, not alphabetically.
126488 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126490         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
126491         fails, so that the caller gets the proper errno.
126493         * lib/readutmp.c (read_utmp): Likewise.
126494         Check for fstat error.  Close stream and free storage
126495         when failing.
126497 2003-09-14  Karl Berry  <karl@gnu.org>
126499         * config/srclist.txt (strdup.c): disable for c89 changes.
126501 2003-09-14  Jim Meyering  <jim@meyering.net>
126503         * lib/getloadavg.c: Correct cpp indentation.
126504         * lib/strdup.c: Likewise.
126505         * lib/vasnprintf.c: Likewise.
126507 2003-09-14  Bruno Haible  <bruno@clisp.org>
126509         * modules/fwriteerror: New file.
126510         * MODULES.html.sh (func_all_modules): Add fwriteerror.
126512 2003-09-14  Bruno Haible  <bruno@clisp.org>
126514         * lib/fwriteerror.h: New file.
126515         * lib/fwriteerror.c: New file.
126517 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126519         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
126520         modules/xgethostname, modules/xalloc: Depend on exit.
126522 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126524         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
126526         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
126527         and AC_MINIX, too, so that their extensions are available.
126529         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
126530         This macro has been superseded by gl_BACKUPFILE.
126532         More patches to assume C89 or better.
126534         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
126536         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
126537         unconditionally.
126538         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
126539         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
126540         Include <string.h>, <stdlib.h> unconditionally.
126541         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
126542         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
126543         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
126544         headers or for string.h.
126545         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
126546         or strtoul.
126548         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
126549         headers.
126550         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
126551         * m4/userspec.m4 (gl_USERSPEC): Likewise.
126552         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
126553         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
126554         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
126555         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
126556         memcpy, memset.
126557         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
126558         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
126559         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
126560         strtol.
126561         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
126562         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
126563         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
126564         strtoul.
126566 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126568         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
126569         * lib/obstack.c [!defined _LIBC]: Likewise.
126570         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
126571         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
126572         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
126574         More changes to assume C89 or better.
126576         * lib/error.c (error_tail): Assume vprintf.
126578         * lib/argmatch.c (getenv): Remove decl.
126579         * lib/progreloc.c (get_full_program_name): Define via prototype.
126580         * lib/setenv.c (clearenv): Likewise.
126581         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
126582         needed.
126583         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
126584         (malloc, memcpy): Remove decls.
126585         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
126586         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
126587         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126588         (memcpy): Remove macro.
126589         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
126590         (__P): Remove.  All uses removed.
126591         (PTR): Remove.  All uses changed to void *.
126592         (CHAR_BIT, NULL): Remove.
126593         (spaces, zeros, memset_space, memset_zero)
126594         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
126595         Remove.
126596         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
126597         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
126598         Define with prototype.
126599         Remove now-unnecessary prototype decl.
126600         (extra_args_spec): Assume ANSI C.  All uses changed.
126601         (extra_args_spec_iso): Remove.
126602         (my_strftime, emacs_strftimeu): Define via prototype.
126603         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
126604         unconditionally.
126605         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
126606         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
126607         (strtoul, strtol): Remove decls.
126608         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
126609         LONG_MAX): Remove.
126610         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126611         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
126612         (LOCALE_PARAM_PROTO): New macro.
126613         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
126614         (INTERNAL (strtol), strtol): Define with a prototype.
126615         (PARAMS): Remove.  All uses removed.
126616         * lib/tempname.c: Include <string.h> unconditionally.
126617         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
126618         * lib/xgethostname.c (main): Define with a prototype.
126619         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
126620         Include <stdlib.h> unconditionally.
126621         (calloc, malloc, realloc, free): Remove decls.
126622         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
126623         Include <stdlib.h> unconditionally.  Sort include file names.
126624         (strtod): Remove.
126625         (xstrtod): Define with a prototype.
126626         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
126627         (strtol, strtoul): Remove decls.
126629 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126631         More patches to assume C89 or better.
126632         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
126633         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
126634         string.h, memchr, STDC_HEADERS.
126636 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126638         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
126639         Include <stdlib.h>, <string.h> unconditionally.
126640         Remove now-unnecessary cast to char *.
126641         * lib/strnlen.c: Include <string.h> unconditionally.
126642         * lib/yesno.c (yesno): Define with a prototype.
126644 2003-09-11  Bruno Haible  <bruno@clisp.org>
126646         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
126648 2003-09-10  Jim Meyering  <jim@meyering.net>
126650         * lib/error.c: Correct indentation of cpp directives.
126652 2003-09-10  Bruno Haible  <bruno@clisp.org>
126654         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
126655         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
126656         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
126657         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
126658         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
126659         <stdlib.h> and <string.h> checks.
126660         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
126661         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
126663 2003-09-10  Bruno Haible  <bruno@clisp.org>
126665         * lib/strcspn.c: Include <string.h> unconditionally.
126666         * lib/strpbrk.c: Include <string.h> unconditionally.
126667         * lib/strstr.c: Include <string.h> unconditionally.
126668         * lib/unicodeio.c: Include <string.h> unconditionally.
126669         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
126670         * lib/unsetenv.c: Likewise.
126671         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
126672         * lib/yesno.c: Include <stdlib.h> unconditionally.
126673         (rpmatch): Add prototype.
126675 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126677         More patches to assume C89 or better.
126678         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
126679         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
126680         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
126681         or for string.h.
126682         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
126683         stdlib.h.
126684         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
126685         C headers.
126686         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
126687         string.h.
126688         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
126689         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
126690         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
126691         or for string.h.
126692         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
126693         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
126694         C headers.
126695         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
126696         memcpy.
126697         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
126698         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
126699         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
126700         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
126701         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
126702         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
126703         string.h, free.
126704         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
126705         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
126706         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
126707         C headers, or for string.h.
126708         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
126709         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
126710         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
126711         headers, memory.h, stdlib.h, string.h, strings.h.
126712         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
126713         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
126714         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
126715         strchr.
126716         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
126717         headers, memory.h, string.h.
126718         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
126719         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
126720         free.
126721         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
126722         headers.
126723         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
126724         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
126725         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
126726         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
126727         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
126729 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126731         More K&R removal.
126733         * lib/acosl.c (main): Use a prototype.
126734         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
126735         tanl.c: Likewise.
126737         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
126739         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
126740         (getopt, etopt_long, getopt_long_only, _getopt_internal)
126741         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
126742         with a prototype.
126743         * lib/getopt.c (const): Remove macro.
126744         Include <string.h> unconditionally.
126745         (my_index): Remove; all uses changed to strchr.
126746         (strlen): Remove decl.
126747         (exchange): Remove forward decl; no longer needed.
126748         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
126749         Define with prototype.
126750         * lib/getopt1.c (const): Remove macro.
126751         (getopt_long, getopt_long_only, main): Define with prototype.
126753         * lib/getugroups.c: Include <string.h> unconditionally.
126755         * lib/getusershell.c: Include <stdlib.h> unconditionally.
126756         (getusershell, setusershell, endusershell, readname, main):
126757         Define with prototypes.
126759         * lib/group-member.c: Include group-member.h first.
126760         Include <stdlib.h> unconditionally.
126762         * lib/hard-locale.c: Include hard-locale.h first.
126763         Include <stdlib.h>, <string.h> unconditionally.
126765         * lib/hash.c (free, malloc): Remove decls.
126766         Include <stdlib.h> unconditionally.
126768         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
126769         (getenv): Do not declare.
126771         * lib/idcache.c: Include <string.h> unconditionally.
126773         * lib/long-options.c: Include long-options.h first, to test interface.
126774         Include <stdlib.h> unconditionally.
126776         * lib/makepath.c: Include makepath.h first, to test interface.
126777         Include <stdlib.h> and <string.h> unconditionally.
126779         * lib/linebuffer.c: Include <stdlib.h>.
126780         (free): Remove decl.
126782         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
126783         stddef.h. rpl_malloc returns void *, not char *.
126784         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
126785         prototype.
126787         * lib/md5.h: Include <limits.h> unconditionally.
126788         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
126789         (__P): Remove; all uses removed.
126790         * lib/md5.c: Include "md5.h" first.
126791         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
126792         md5_buffer, md5_process_bytes, md5_process_block):
126793         Define with prototypes.
126794         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
126795         * lib/sha.c: Include "sha.h" first.
126796         Include <stdlib.h>, <string.h> unconditionally.
126798         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
126799         * lib/memcmp.c (__ptr_t): Likewise.
126800         * lib/memrchr.c (__ptr_t): Likewise.
126801         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
126802         Include <string.h> unconditionally.
126803         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
126804         * lib/memchr.c: Include <stdlib.h> unconditionally.
126805         * lib/memchr.c (LONG_MAX): Remove.
126806         * lib/memrchr.c (LONG_MAX): Likewise.
126807         * lib/memchr.c (__memchr): Define via a prototype.
126808         * lib/memrchr.c (__memrchr): Likewise.
126809         * lib/memcmp.c (__P): Remove, and remove all uses.
126810         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
126811         Remove forward decls; no longer needed.
126812         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
126813         Use types required by C89 in prototype.
126815         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
126816         * lib/savedir.c: Likewise.
126817         * lib/mkdir.c (free): Remove decl.
126818         * lib/rmdir.c (rmdir): Define with a prototype.
126819         * lib/savedir.c: Include savedir.h first, to test interface.
126821         * lib/mktime.c (STDC_HEADERS): Remove.
126822         Include <stdlib.h>, <string.h> unconditionally.
126824         * lib/modechange.c: Include <stdlib.h> unconditionally.
126825         (malloc): Remove decl.
126827         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
126828         (free): Remove decl.
126830         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
126831         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
126832         (This type really should be intptr_t, but that's a C99ism.)
126833         (_obstack_memcpy): Remove: all uses changed to memcpy.
126834         Include <string.h> unconditionally.
126835         (struct obstack): Assume __STDC__ for types of members
126836         chunkfun, freefun, extra_arg.
126837         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
126838         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
126839         obstack_begin, obstack_specify_allocation,
126840         obstack_specify_allocation_with_arg, obstack_chunkfun,
126841         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
126842         Remove unprototyped decls and the macros that use them.
126843         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
126844         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
126845         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
126846         (defined __STDC__ && __STDC__)]:
126847         Remove nonprototyped code.
126848         Include <stdlib.h> unconditionally.
126849         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
126850         _obstack_allocated_p, _obstack_free, obstack_free,
126851         _obstack_memory_used, print_and_abort):
126852         Define using prototypes.
126853         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
126854         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
126855         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
126856         obstack_next_free, obstack_object_size, obstack_room) [0]:
126857         Remove unused, unprototyped code.
126859         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
126861         * lib/physmem.c (physmem_total, physmem_available, main): Define
126862         with prototypes.
126864         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
126865         (main): Define with a prototype.
126867         * lib/posixver.c (getenv): Remove decl.
126869         * lib/putenv.c (malloc): Returns void *, not char *.
126870         Include <string.h> unconditionally.
126871         (strchr, memcpy, NULL): Do not define.
126873         * lib/readtokens.c: Include readtokens.h first, to test interface.
126874         Include <stdlib.h>, <string.h> unconditionally.
126875         (init_tokenbuffer): Define with a prototype.
126877         * lib/regex.c (PARAMS): Remove.  All uses removed.
126878         All uses of _RE_ARGS removed, too.
126879         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
126880         unconditionally.
126881         (bzero): Assume memset exists.
126882         (memcmp, memcpy, NULL): Remove.
126883         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
126884         char, or assignments to local vars of type signed char.
126885         (init_syntax_once, PREFIX(extract_number_and_incr),
126886         PREFIX(print_partial_compiled_pattern),
126887         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
126888         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
126889         PREFIX(regex_grow_registers), PREFIX(regex_compile),
126890         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
126891         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
126892         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
126893         wcs_compile_range, byte_compile_range, truncate_wchar,
126894         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
126895         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
126896         count_mbs_length, wcs_re_match_2_internal,
126897         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
126898         PREFIX(alt_match_null_string_p),
126899         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
126900         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
126901         regfree, PREFIX(extract_number)): Define with prototype.  Remove
126902         now-unnecessary declaration, if any.
126903         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
126904         regcomp, regexec):
126905         Remove now-unnecessary casts among pointer types.
126906         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
126908         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
126909         (free): Remove decl.
126911         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
126913         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
126914         (free): Remove decl.
126916         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
126917         * lib/xgetcwd.c: Likewise.
126919         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
126920         (free): Remove decl.
126922         * lib/strchrnul.c (strchrnul): Define with a prototype.
126923         Fix bug: c_in was not converted to char before searching.
126925         The following changes are not K&R related:
126927         * lib/group-member.h: Include <sys/types.h>, so that this file is
126928         self-contained.
126929         * lib/makepath.h: Likewise.
126931         * lib/getusershell.c (readname, default_index, line_size, readname):
126932         Use size_t, not int, for sizes.
126933         (readname): If the size overflows, report an error instead of
126934         looping forever.
126936 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126938         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
126939         libc.
126941 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126943         * README: New section: portability guidelines.
126945 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126947         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
126948         C89 spec.
126950 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126952         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
126954 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126956         Assume C89 or better; remove K&R cruft.
126957         A few of these changes were first proposed by Derek Robert Price
126958         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
126960         * lib/addext.c: Include <string.h> unconditionally.
126961         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
126962         Don't declare getenv or malloc.
126964         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
126965         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
126966         (NULL): Remove.
126967         (find_stack_direction, alloca): Use prototypes.
126969         * lib/atexit.c (atexit): Define using a prototype.
126971         * lib/basename.c, dirname.c, stripslash.c:
126972         Include <string.h> unconditionally.
126974         * lib/bcopy.c: Include <stddef.h>.
126975         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
126977         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
126979         * lib/error.h (error, error_at_line, error_print_progname)
126980         [! (defined (__STDC__) && __STDC__)]: Remove decls.
126981         * lib/error.c: Include error.h first, to check interface.
126982         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126983         (VA_START): Remove; all uses changeed to va_start.
126984         (exit, strerror): Remove decls.
126985         (error_print_progname): Prototype uncondionally.
126986         Don't include <errno.h>; no longer needed.
126987         (private_strerror): Remove.
126988         (error_tail): Always define.
126989         (error, error_at_line): Assume C89 or better; always use prototypes.
126990         * lib/fatal.c: Include "fatal.h" first, to test interface.
126991         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126992         (VA_START): Remove; all uses changed to va_start.
126993         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
126994         this case.
126995         (exit): Remove decl.
126996         (fatal): Prototype unconditionally.  Assume va_start works.
126997         Abort at end, to pacify gcc.
126999         * lib/euidaccess.c (main): Define with a prototype.
127001         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
127003         * lib/exitfail.c: Include <stdlib.h> unconditionally.
127005         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
127006         prototypes.
127007         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
127008         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
127009         (getenv): Remove decl.
127010         (fnmatch): Define using a prototype.
127011         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
127012         (FCT): Define using a prototype.
127014         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
127016         * lib/gethostname.c: Include <stddef.h>.
127017         (gethostname): Define with prototype.  Length is size_t, not int.
127019 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127021         Assume C89 or better; remove K&R cruft.
127022         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
127023         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
127024         string.h, getenv, malloc.
127025         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
127026         headers.
127027         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
127028         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
127029         do not check for strerror.
127030         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
127031         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
127032         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
127033         do not check for doprnt or vprintf.
127034         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
127035         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
127037 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127039         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
127040         getversion.c should have been removed then, but was accidentally
127041         preserved.
127043         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
127044         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
127046 2003-09-08  Karl Berry  <karl@gnu.org>
127048         * config/config.sub, config.guess, srclistvars.sh: update from savannah
127049                 config, forget about prep.
127051         * config/depcomp, missing: update from automake.
127053 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127055         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
127056         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127058 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127060         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
127061         copy_tm_result.  Bug reported by Simon Josefsson in
127062         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127064 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127066         * m4/time_r.m4: New file.
127067         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
127068         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
127069         is. Check for timegm declaration.
127070         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
127071         Do not check for gmtime_r.
127072         Replace mktime if __mktime_internal does not exist and if mktime
127073         hasn't been replaced already.
127075 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127077         * lib/time_r.c, lib/time_r.h: New files.
127079         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
127080         __localtime_r.
127081         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
127082         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
127084         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
127085         __gmtime_r.
127086         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
127087         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
127088         Include <time_r.h>.
127090         * lib/timegm.c: Switch to glibc implementation, with the following
127091         changes:
127092         [defined HAVE_CONFIG_H]: Include <config.h>.
127093         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
127094         (__mktime_internal) [!defined _LIBC]: New decl.
127095         (__gmtime_r) [!defined _LIBC]: New macro and function.
127096         (timegm): Use a prototype, since gnulib assumes C89.
127097         Do not bother declaring tmp to be const, as it's not really usefu.
127098         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
127099         (timegm): Declare only if HAVE_DECL_TIMEGM.
127101 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127103         * MODULES.html.sh (func_all_modules): Add time_r.
127104         * modules/time_r: New file.
127105         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
127106         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
127108 2003-09-03  Paul Eggert  <eggert@twinsun.com>
127110         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
127111         Bug reported by Lute Kamstra in
127112         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
127114         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
127115         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
127116         course with correspondingly smaller numbers for tomorrow and
127117         yesterday.  From Tadayoshi Funaba.  Originally installed into
127118         sh-utils on 1999-08-07, but the patch got lost (I guess during the
127119         coreutils merge?).
127121 2003-08-31  Simon Josefsson  <jas@extundo.com>
127123         * modules/timegm: New file.
127124         * MODULES.html.sh (func_all_modules): Add timegm.
127126 2003-08-31  Simon Josefsson  <jas@extundo.com>
127128         * m4/timegm.m4: New file.
127130 2003-08-31  Simon Josefsson  <jas@extundo.com>
127132         * lib/timegm.h: New file.
127133         * lib/timegm.c: New file.  Based on
127134         wget-1.8.2/src/http.c:mktime_from_utc.
127136 2003-08-31  Karl Berry  <karl@gnu.org>
127138         * lib/argp.h: update from libc.
127140 2003-08-28  Bruno Haible  <bruno@clisp.org>
127142         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
127143         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
127144         followed by '#define fnmatch fnmatch_posix' gives an error.
127146 2003-08-28  Bruno Haible  <bruno@clisp.org>
127148         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
127149         warning on QNX, which defines O_BINARY to 000000.
127151 2003-08-27  Jim Meyering  <jim@meyering.net>
127153         * m4/mkstemp.m4: Require that the system mkstemp be able to create
127154         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
127155         would fail after 32.  Reported by Danny Levinson.  Details here:
127156         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
127158 2003-08-24  Bruno Haible  <bruno@clisp.org>
127160         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
127161         MSVC7 <stdio.h> is included later.
127163 2003-08-22  Simon Josefsson  <jas@extundo.com>
127165         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
127167 2003-08-20  Karl Berry  <karl@gnu.org>
127169         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
127171 2003-08-20  Bruno Haible  <bruno@clisp.org>
127173         * modules/progname: New file.
127174         * MODULES.html.sh (func_all_modules): Add progname.
127176 2003-08-20  Bruno Haible  <bruno@clisp.org>
127178         * lib/progname.h: New file, from GNU gettext.
127179         * lib/progname.c: New file, from GNU gettext.
127180         * lib/progreloc.c: New file, from GNU gettext.
127182 2003-08-19  Jim Meyering  <jim@meyering.net>
127184         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
127185         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
127187 2003-08-19  Bruno Haible  <bruno@clisp.org>
127189         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
127190         more.
127192 2003-08-19  Bruno Haible  <bruno@clisp.org>
127194         * lib/xstrdup.c: Assume <string.h> exists.
127196 2003-08-18  Paul Eggert  <eggert@twinsun.com>
127198         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
127199         in makefile rules.
127201 2003-08-18  Jim Meyering  <jim@meyering.net>
127203         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
127204         * m4/lib-ld.m4: Likewise.
127206 2003-08-18  Jim Meyering  <jim@meyering.net>
127208         * lib/setenv.h: Indent nested cpp directive.
127209         * lib/vasnprintf.c: Remove trailing blanks.
127211 2003-08-17  Simon Josefsson  <jas@extundo.com>
127213         * modules/xstrndup: New file.
127214         * MODULES.html.sh (func_all_modules): Add xstrndup.
127216 2003-08-17  Simon Josefsson  <jas@extundo.com>
127218         * modules/argp: Fix autoconf macro name. Add more dependencies.
127220 2003-08-17  Simon Josefsson  <jas@extundo.com>
127222         * m4/xstrndup.m4: New file.
127224 2003-08-17  Simon Josefsson  <jas@extundo.com>
127226         * m4/argp.m4: New file.
127228 2003-08-17  Simon Josefsson  <jas@extundo.com>
127229             Bruno Haible  <bruno@clisp.org>
127231         * lib/xstrndup.h: New file.
127232         * lib/xstrndup.c: New file.
127234 2003-08-17  Bruno Haible  <bruno@clisp.org>
127236         * modules/strndup (Files, Include): Add lib/strndup.h.
127238 2003-08-17  Bruno Haible  <bruno@clisp.org>
127240         * modules/euidaccess (Files): Add lib/euidaccess.h.
127242 2003-08-17  Bruno Haible  <bruno@clisp.org>
127244         * lib/strndup.h: New file.
127246 2003-08-17  Bruno Haible  <bruno@clisp.org>
127248         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
127249         like AC_GNU_SOURCE.
127250         * modules/extensions (configure.ac): Comment out the invocation of
127251         gl_USE_SYSTEM_EXTENSIONS.
127253 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127255         Merges from coreutils, etc.
127256         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
127257         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
127258         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
127259         fixing a typo.
127260         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
127261         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
127263 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127265         Document merge from coreutils.
127266         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
127267         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
127268         * modules/utime: Add m4/utimes-null.m4.
127270 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127272         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
127273         space, undoing this 2003-08-12 change:
127274         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127276 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127278         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
127279         strtoul.c from libc, undoing this 2003-08-12 change:
127280         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127282 2003-08-16  Jim Meyering  <jim@meyering.net>
127284         Merges from coreutils.
127285         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
127286         prefix.  Adjust cache variables similarly.  Create 500 rather than
127287         just 300 files, to exercise bug on Darwin6.5, too.
127288         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
127289         $missing_dir.
127290         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
127291         AM_SYS_POSIX_TERMIOS.
127292         Reported by mkc@mathdogs.com.
127293         Also change use of $am_cv_sys_posix_termios
127294         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
127295         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
127296         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
127297         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
127298         in /proc/mounts until it finds one with matching device number.  This
127299         is unnecessary when the FILE argument *is* a mount point.  No stat call
127300         is necessary in that case.  So, disable the statvfs-testing code on
127301         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
127302         as RedHat bug# 84846.
127303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127304         to 1MB, so as not to render systems with no stack size limit (e.g.,
127305         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127306         Include <unistd.h>.  On some systems,
127307         it is required for the definition of _SC_PAGESIZE.
127309 2003-08-16  Jim Meyering  <jim@meyering.net>
127311         Merge from coreutils.
127312         * lib/xstrtoimax.c: #else #if -> #elif.
127313         * lib/xstrtoumax.c: Likewise.
127315 2003-08-16  Jim Meyering  <jim@meyering.net>
127317         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
127318         * m4/utimes.m4: Removed.
127319         * m4/utimes-null.m4: Renamed from utimes.m4.
127321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127322         to 1MB, so as not to render systems with no stack size limit (e.g.,
127323         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127324         Include <unistd.h>.  On some systems,
127325         it is required for the definition of _SC_PAGESIZE.
127327 2003-08-16  Jim Meyering  <jim@meyering.net>
127328         and Paul Eggert  <eggert@cs.ucla.edu>
127330         Merges from coreutils, etc.
127332         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
127333         using the latest version from cvs.  This avoids problems with #line
127334         directives using a vendor (Sun) compiler.
127335         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
127336         Don't set GETGROUPS_LIB here; now it's
127337         done via getgroups.m4's wrapper function.
127338         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
127339         rather than just in sh-util/configure.in, so that the
127340         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
127341         same.
127342         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
127343         AC_FUNC_GETLOADAVG where to find getloadavg.c.
127344         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
127345         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
127346         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
127347         Remove code that is now done by the newly-required macros.
127348         Append $(EXEEXT) to DF_PROG.
127349         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
127350         Do not invoke or require the following here,
127351         since prereq.m4 or some gnulib .m4 now does this for us:
127352         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
127353         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
127354         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
127355         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
127356         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
127357         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
127358         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
127359         AC_FUNC_OBSTACK.
127360         Do not replace the following functions, as this is now the job
127361         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
127362         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
127363         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
127364         atexit getpass, strdup, getpagesize.
127365         Replace 'raise'.
127366         Do not check for the following functions, as this is now the job
127367         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
127368         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
127369         setregid.
127370         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
127371         Check for sys/sysctl.h.
127372         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
127373         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
127374         of checking for ssize_t ourselves.
127376         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
127377         Require every macro that gnulib/modules/* suggests for us.
127378         (jm_PREREQ_ADDEXT): New macro.
127379         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
127380         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
127382         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
127383         (gl_PHYSMEM): Use it.
127384         Also check for `table' function.
127385         Check for new headers and functions.
127386         Add check for sys/sysmp.h.
127387         With suggestions from Kaveh Ghazi.
127388         Ignore headers that are present but cannot be compiled.  This
127389         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
127390         C 5.4.
127392 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127394         Document merge from coreutils.
127395         * modules/userspec: Depend on posixver.
127396         * modules/strftime: Depend on tzset.
127398 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127400         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
127401         rather than tab, after '#' in shell-script copyright notices.
127402         Suggested by Bruno Haible.
127404 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127406         * config/srclist-update: Use three spaces, rather than tab, after '#'
127407         in shell-script copyright notices.  Suggested by Bruno Haible.
127408         Remove unnecessary parenthesization in regular expression.
127410 2003-08-15  Jim Meyering  <jim@meyering.net>
127412         Merge from coreutils.
127413         * lib/xgethostname.c: Include <stdlib.h>.
127414         (xghostname): Don't exit for anything other than memory-related
127415         failure; just return NULL.
127416         * lib/userspec.c: Include "posixver.h".
127417         (parse_user_spec): Accept `.' as a separator only
127418         in pre-POSIX-200112 mode.
127419         * lib/strtoimax.c: Use #elif rather than #else #if.
127420         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
127421         Remove function, now that we can rely on a working tzset function.
127422         [!_LIBC]: Ensure that the required autoconf test has been run.
127423         [!defined _NL_CURRENT && HAVE_STRFTIME]:
127424         Use underlying_strftime for %r.
127425         * lib/sha.c: Merge in some clean-up and optimization changes from
127426         glibc.
127427         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
127428         Ensure that it is a multiple of 64.
127429         Rearrange loop exit tests so as to avoid performing an
127430         additional fread after encountering an error or EOF.
127431         * lib/realloc.c: Update copyright date.
127433 2003-08-15  Jim Meyering  <jim@meyering.net>
127434         and Paul Eggert  <eggert@twinsun.com>
127436         Merge from coreutils.
127437         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
127438         member but strut utmpx does not.  Needed for AIX 4.3.3.
127439         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
127441 2003-08-15  Jim Meyering  <jim@meyering.net>
127442         and Paul Eggert  <eggert@cs.ucla.edu>
127444         Merges from coreutils, etc.
127445         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
127446         Require gl_FUNC_TZSET_CLOBBER.
127447         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
127448         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
127449         members.
127451 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127453         Help the merge from coreutils.
127454         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
127455         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
127456         * m4/tzset.m4: Use it too.
127458 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127460         * modules/tzset: New file.
127462 2003-08-14  Jim Meyering  <jim@meyering.net>
127464         Merges from coreutils.
127465         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
127466         variable names, rather than @FNMATCH_H@.
127467         * modules/alloca: Likewise for $(ALLOCA_H).
127469         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
127470         the three copies of the literal target, `fnmatch.h'.
127471         * modules/alloca (alloca.h): Likewise.
127473 2003-08-14  Jim Meyering  <jim@meyering.net>
127475         Merge from coreutils.
127476         * m4/tzset.m4: New file.
127477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
127478         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
127479         otherwise, AIX 5.1 systems would end up using the latter.
127480         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
127481         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
127482         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
127483         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
127485 2003-08-14  Jim Meyering  <jim@meyering.net>
127487         Merge from coreutils.
127488         * lib/obstack.h: Whitespace changes.
127489         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
127490         and xcalloc return values.
127491         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
127492         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
127493         hang on OSF/1 5.1 for DIR on both local and remote file systems.
127494         Reported by (and fix confirmed by) Nelson H. F. Beebe.
127495         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127496         error from mntctl.
127497         Use mntctl's return value to drive the entry-processing loop, since
127498         we can't rely on the value of the vmt_length member in the last
127499         entry.  On some systems doing so could result in exhausting
127500         virtual memory.  Based in part on a patch from Mike Jetzer.
127502 2003-08-14  Jim Meyering  <jim@meyering.net>
127503         and Paul Eggert  <eggert@twinsun.com>
127505         Merges from coreutils, plus other fixes.
127506         * lib/physmem.c: Merge in portability changes from gcc/libiberty
127507         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
127508         for credits and details.  Thanks to Kaveh Ghazi for helping
127509         to keep these files in sync.
127510         (ARRAY_SIZE): Define it.
127511         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
127512         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
127513         (memcasecmp): Don't assume size_t fits in unsigned int.
127514         Remove casts and duplicate code.
127515         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
127516         (memcpy): Remove definition.
127517         Merge in some clean-up and optimization changes from glibc.
127518         [BLOCKSIZE]: Move definition to top of file.
127519         Ensure that it is a multiple of 64.
127520         Rearrange loop exit tests so as to avoid performing an
127521         additional fread after encountering an error or EOF.
127522         * lib/md5.h (md5_uintptr): Define.
127523         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
127524         return to the initial working directory.  Preserve errno
127525         for caller.
127526         * lib/idcache.c: Include "xalloc.h".
127527         (xmalloc, xrealloc): Remove decls.
127528         (getuser): Remove casts no longer required in C89.
127529         * lib/human.c: Include stdio.h, for sprintf.
127530         * lib/group-member.c: Include "xalloc.h".
127531         (xmalloc, xrealloc): Remove decls.
127532         (get_group_info): Remove casts no longer required in C89.
127533         * lib/getusershell.c (readname): Remove casts no longer required in
127534         C89.
127535         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
127536         * lib/getline.c: Whitespace fix, from coreutils.
127538 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127540         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
127541         Check for isascii.
127543         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127544         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127545         Undo previous (whitespace-only) change.
127547 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127549         * lib/exclude.c: Include <ctype.h>
127550         (IN_CTYPE_DOMAIN): New macro.
127551         (is_space): New fn.
127552         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
127553         and empty lines.
127555         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127556         Undo previous (whitespace-only) change.
127558 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127560         * config/srclist-update: Change update back to the old behavior,
127561         leaving whitespace alone.  Use one 'sed' command rather than a
127562         pipeline.
127563         (fixlicense): Now a variable, not a function.
127564         (remove_trailing_blanks): Remove.
127565         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
127566         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127567         Undo previous (whitespace-only) change.
127569 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127571         Merge from coreutils.
127572         * modules/euidaccess: Add lib_SOURCES, include for new
127573         file euidaccess.h
127575 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127577         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127578         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127579         Normalize leading white space and remove trailing white space.
127581         Merge from coreutils
127582         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
127584         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
127585         0.12.1.  These files are now being upgraded automatically by
127586         ../config/srclist-update.
127588 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127590         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127591         Normalize leading white space and remove trailing white space.
127592         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
127593         notice, as per ../config/srclist-update.
127595         Merge from coreutils.
127596         * lib/euidaccess.h: New file.
127597         * lib/euidaccess.c: Include it.
127598         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
127599         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
127600         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
127602 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127604         * config/srclist-update: Add copyright notice.
127605         (remove_id_lines, remove_trailing_blanks): New constants.
127606         (fixfile): Use them to normalize spacing a bit in copied files.
127607         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127608         Normalize leading white space and remove trailing white space.
127610         * config/texinfo.tex: Sync with texinfo.
127612         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
127613         strtoul.c from libc, to merge coreutils whitespace changes.
127615         * config/srclist.txt: Get the following m4 files from gettext:
127616         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
127617         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
127618         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
127619         wint_t.m4.
127621 2003-08-12  Karl Berry  <karl@gnu.org>
127623         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
127624         been made.
127626 2003-08-11  Paul Eggert  <eggert@twinsun.com>
127628         * modules/gnu-source, m4/gnu-source.m4:
127629         Remove; we're assuming Autoconf 2.54 or later now.
127630         Suggested by Bruno Haible.
127631         * MODULES.html.sh (func_all_modules): Remove gnu-source.
127633 2003-08-11  Bruno Haible  <bruno@clisp.org>
127635         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
127637 2003-08-11  Bruno Haible  <bruno@clisp.org>
127639         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
127640         (vasnprintf): Use it instead of wcslen.
127642 2003-08-11  Bruno Haible  <bruno@clisp.org>
127644         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
127645         value to ensure that _Bool promotes to int. Use #define for _Bool when
127646         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
127648 2003-08-10  Karl Berry  <karl@gnu.org>
127650         * lib/regex.h: update from libc (whitespace fix).
127652 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127654         Merge some files from coreutils.  These changes were
127655         originally made by Jim Meyering.
127656         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
127657         many older Unixes require this.
127658         * lib/alloca.c (alloca): Remove cast to argument of free;
127659         no longer needed in C89.
127660         * lib/alloca_.h, regex.h: Fix white space to match
127661         what GNU indent does.
127663 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127665         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
127666         apparently Emacs's Unicode mode got confused before my 2003-08-05
127667         checkin.
127669 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127671         * m4/extensions.m4: New file.
127672         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
127673         Require gl_USE_SYSTEM_EXTENSIONS.
127674         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
127675         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
127677 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127679         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
127680         * modules/extensions, modules/gnu-source: New files.
127681         * modules/timespec, modules/unlocked-io: Depend on extensions.
127683 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127685         * modules/restrict: New file.
127686         * MODULES.html.sh (func_all_modules): Add restrict.
127687         * modules/regex: Depend on restrict.
127689 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127691         * m4/restrict.m4: New file.
127692         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
127694 2003-08-07  Bruno Haible  <bruno@clisp.org>
127696         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
127697         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
127699 2003-08-07  Bruno Haible  <bruno@clisp.org>
127701         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
127702         makes the module 'getndelim2' compatible with the module 'getline'.
127704 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127706         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
127707         byte with "\201" to avoid glitches when editing that source file
127708         with multi-gnome-terminal.
127710 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127712         * lib/bumpalloc.h: Remove.
127714 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127716         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
127717         * modules/bumpalloc: Remove.
127719 2003-08-04  Paul Eggert  <eggert@twinsun.com>
127721         * lib/getloadavg.c: Change copyright notice and spacing to conform to
127722         GNU coding style.
127724         Merge from coreutils.
127725         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
127726         1. From glibc.
127727         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
127728         from Karl Berry, implemented by Jim Meyering.
127729         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
127730         from Dmitry V. Levin.
127731         Remove anachronistic cast of xrealloc.
127732         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
127733         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
127734         type. Otherwise, it wouldn't compile with at least /bin/cc on
127735         ymp-cray-unicos9.0.2.X.
127736         Combine two mostly-identical uses of alloca into one.
127737         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
127739 2003-08-04  Dave Love  <d.love@dl.ac.uk>
127741         [From Emacs.]
127743         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
127744         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
127745         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
127746         obsolete NLIST_NAME_UNION.
127747         [__GNU__]: Undef BSD and FSCALE.
127748         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
127750 2003-08-03  Paul Eggert  <eggert@twinsun.com>
127752         * lib/stdbool_.h (_Bool): Make it signed char, instead of
127753         an enum type, so that it's guaranteed to promote to int.  See:
127754         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
127756 2003-08-03  Karl Berry  <karl@gnu.org>
127758         * config/depcomp: update from automake.
127760 2003-07-31  Paul Eggert  <eggert@twinsun.com>
127762         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
127763         (strerror): Don't assume that a printable int fits in 14 bytes.
127765 2003-07-31  Bruno Haible  <bruno@clisp.org>
127767         * modules/getpass-gnu: New file.
127768         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
127770 2003-07-31  Bruno Haible  <bruno@clisp.org>
127772         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
127774 2003-07-24  Karl Berry  <karl@gnu.org>
127776         * config/missing: update from automake.
127778 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
127779             Bruno Haible  <bruno@clisp.org>
127781         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
127782         * lib/getline.c (getline, getdelim): Likewise.
127783         Remove _GNU_SOURCE define; now it's defined in config.h through
127784         m4/getline.m4.
127786 2003-07-23  Karl Berry  <karl@gnu.org>
127788         * config/config.sub: update from prep.
127790 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127792         * modules/xalloc (Depends-on): Add exitfail.
127793         * modules/xmemcoll: Likewise.
127795 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127797         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
127798         over-parenthesization in macros.
127800         Sync with coreutils.
127802         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
127803         required by C99.
127805         Use `exit_failure' for xalloc and xmemcoll instead of their own
127806         private exit-failure variables.
127807         * lib/xalloc.h (xalloc_exit_failure): Remove.
127808         * lib/xmalloc.c: Likewise.  Include exitfail.h.
127809         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
127810         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
127811         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
127812         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
127814 2003-07-20  Jim Meyering  <jim@meyering.net>
127816         * modules/closeout (Depends-on): Add exitfail.
127817         Suggestion from Bruno Haible.
127819 2003-07-19  Karl Berry  <karl@gnu.org>
127821         * config/config.sub: update from prep.
127823 2003-07-18  Paul Eggert  <eggert@twinsun.com>
127825         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
127826         Remove.
127827         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
127828         to test that it can stand by itself.  Include "exitfail.h".
127829         Clients should set exit_failure instead.
127830         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
127832 2003-07-18  Bruno Haible  <bruno@clisp.org>
127834         * modules/getndelim2: New file.
127835         * modules/getline: Share files with module getndelim2.
127836         * modules/getnline: Depend on getndelim2 instead of sharing files with
127837         it. Add getnline.c to lib_SOURCES.
127838         * MODULES.html.sh (func_all_modules): Add getndelim2.
127840 2003-07-18  Bruno Haible  <bruno@clisp.org>
127842         * m4/getndelim2.m4: New file.
127843         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
127844         invoke gl_PREREQ_GETNDELIM2.
127845         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
127846         gl_PREREQ_GETNDELIM2.
127847         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
127848         gl_GETNDELIM2.
127850 2003-07-18  Bruno Haible  <bruno@clisp.org>
127852         * lib/getndelim2.h: New file.
127853         * lib/getndelim2.c: Make into a module of its own. Include config.h,
127854         getndelim2.h.
127855         (getndelim2): Make non-static. Change return type to ssize_t.
127856         * lib/getline.h: Change argument names.
127857         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
127858         * lib/getnline.c: Include getndelim2.h.
127860 2003-07-18  Andreas Schwab  <schwab@suse.de>
127862         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
127864 2003-07-17  Karl Berry  <karl@gnu.org>
127866         * config/config.sub: update from prep.
127868 2003-07-17  Bruno Haible  <bruno@clisp.org>
127870         * modules/getnline: New file.
127871         * modules/getline: Add lib/getndelim2.c to source file list.
127872         * MODULES.html.sh (func_all_modules): Add getnline.
127874 2003-07-17  Bruno Haible  <bruno@clisp.org>
127876         * m4/getnline.m4: New file.
127878 2003-07-17  Bruno Haible  <bruno@clisp.org>
127880         * m4/Makefile.am.in: Remove file.
127881         * m4/Makefile.am: Remove file.
127882         * m4/Makefile.in: Remove file.
127884 2003-07-17  Bruno Haible  <bruno@clisp.org>
127886         * lib/getnline.h: New file.
127887         * lib/getnline.c: New file.
127888         * lib/getndelim2.c: New file, extracted from getline.c.
127889         (getndelim2): Renamed from getdelim2, with added nmax argument.
127890         * lib/getline.c: Include getndelim2.c.
127891         (getdelim2): Moved out to getndelim2.c.
127892         (getline, getdelim): Update.
127894 2003-07-17  Bruno Haible  <bruno@clisp.org>
127896         * lib/Makefile.am: Remove file.
127897         * lib/Makefile.in: Remove file.
127899 2003-07-17  Bruno Haible  <bruno@clisp.org>
127901         * configure.in: Remove file.
127902         * Makefile.in: Remove file.
127904 2003-07-17  Bruno Haible  <bruno@clisp.org>
127906         * MODULES.html.sh: Put the </BODY> right before </HTML>.
127908 2003-07-16  Karl Berry  <karl@gnu.org>
127910         * config/srclist-update: was running fixlicense twice, which caused
127911                 texinfo.tex to be nullified for some reason.  Simplify,
127912                 $gplsrc is no longer needed as far as I can see?
127914 2003-07-16  Jim Meyering  <jim@meyering.net>
127916         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
127918 2003-07-15  Paul Eggert  <eggert@twinsun.com>
127920         * config/srclist.txt: Get the following files from gettext-runtime/intl
127921         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
127922         ref-del.sin.  From Bruno Haible.
127923         * config/srclist-update (fixfile): Change grep pattern again, since the
127924         previous fix didn't work (there was another trailing $).  Use
127925         '[$]' to escape the $s.
127927 2003-07-15  Karl Berry  <karl@gnu.org>
127929         * lib/vasnprintf.c: update from gettext.
127931 2003-07-15  Karl Berry  <karl@gnu.org>
127933         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
127934         gets expanded when surrounded by '$'.
127936 2003-07-15  Jim Meyering  <jim@meyering.net>
127938         * modules/save-cwd: Don't depend on error.  From Derek Price.
127940 2003-07-15  Jim Meyering  <jim@meyering.net>
127942         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
127944 2003-07-14  Simon Josefsson  <jas@extundo.com>
127946         * modules/mempcpy: New file.
127947         * MODULES.html.sh (func_all_modules): Add mempcpy.
127949 2003-07-14  Simon Josefsson  <jas@extundo.com>
127951         * m4/mempcpy.m4: New file.
127953 2003-07-14  Simon Josefsson  <jas@extundo.com>
127955         * lib/mempcpy.h: New file.
127956         * lib/mempcpy.c: New file.
127958 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127960         * modules/getdate, modules/posixtm: Depend on mktime.
127962 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127964         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
127965         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
127966         unicodeio.c, unicodeio.h, unlocked-io.h:
127967         Switch from LGPL to GPL.
127969 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127971         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
127972         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
127973         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
127974         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
127975         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
127976         updated automatically by ../config/srclist-update.  This changes
127977         their license from LPGL to GPL.
127979 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127981         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
127982         assumed to refer to the root of the most recent stable gettext version.
127983         * config/srclistvars.sh: Add defaults for eggert.
127984         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
127985         Match "This program" as well as "The program".  This is needed
127986         for gettext.
127988 2003-07-14  Jim Meyering  <jim@meyering.net>
127990         Don't emit diagnostics.  Let callers do that.
127991         * lib/save-cwd.c: Don't include "error.h".
127992         (save_cwd): Don't call error.  Ensure that errno is valid
127993         when returning nonzero.
127995         * lib/save-cwd.h (restore_cwd): Update prototype.
127996         * lib/save-cwd.c (restore_cwd): Remove two parameters.
127997         Simplify.  Don't call error upon failure.  Let callers do that.
127998         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
127999         when auditing is enabled.  But don't bother updating the #if.
128001 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
128003         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
128004         it breaks C++ compilation.
128005         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
128007 2003-07-10  Simon Josefsson  <jas@extundo.com>
128009         * modules/strchrnul (Makefile.am): Add strchrnul.h.
128011 2003-07-10  Jim Meyering  <jim@meyering.net>
128013         * m4/clock_time.m4: Remove trailing blank.
128014         * m4/intmax_t.m4: Likewise.
128016 2003-07-10  Jim Meyering  <jim@meyering.net>
128018         * lib/vasnprintf.c: Remove trailing blanks.
128019         Make cpp indentation consistent.
128021 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128023         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
128024         posixver.c, strftime.c, strnlen.c, strverscmp.c:
128025         Switch from LGPL to GPL.
128027 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128029         * config/srclist.txt: Sort sublists.  Add
128030         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
128031         that differ from gnulib for one reason or another; we'd like this list
128032         to be smaller but for now let's document what we have.
128034 2003-07-08  Paul Eggert  <eggert@twinsun.com>
128036         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
128037         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
128038         and sweeter "eval x=$x".
128039         * config/srclist.txt: Get lib/argp* from glibc.
128041 2003-07-07  Paul Eggert  <eggert@twinsun.com>
128043         * lib/mktime.c: Fix some boundary cases and remove need for floating
128044         point.
128046         Issue a compile-time diagnostic if time_t is floating point, or if
128047         two's complement arithmetic is not in effect, or if arithmetic
128048         right shift does not propagate the sign.  These assumptions were
128049         all in the original code but they weren't checked.
128051         (TIME_T_MIDPOINT, verify): New macros.
128052         (__isleap): Remove; it has integer overflow problems.
128053         (leapyear): New function, without those problems.
128054         (ydhms_tm_diff): Remove; splitting into two parts.
128055         (ydhms_diff): New function, containing the arithmetic part of
128056         the old ydhms_tm_diff function.  Issue a compile-time
128057         diagnostic if we are not using C99 integer division.
128058         Avoid casts when possible.
128059         (guess_time_tm): New function, containing the checking part of
128060         the old ydhms_tm_diff function.  Return the new value, rather than
128061         the difference between it and the old.  Accept a new argument T
128062         so that *T specifies the old value.  Check for overflow in the result.
128064         (__mktime_internal): Use a time_t offset, not a long int offset.
128065         This undoes the 2003-06-04 change, which is no longer needed now
128066         that we have better overflow checking.
128067         (localtime_offset): Likewise.
128069         (__mktime_internal): Avoid harmful overflow on hosts where time_t
128070         and long are 64-bit but int is only 32-bit.
128071         (ydhms_diff): Use long int to store year1 and yday1.
128072         Issue a compile-time diagnostic if long int is not wide enough.
128074         (__mktime_internal): Use long int to store adjusted year and yday.
128075         Use plain C rather than preprocessor commands, if that doesn't
128076         affect efficiency.
128077         Check for overflow (and try to repair) after each probe
128078         rather than checking only at the very end.  This avoids some bugs
128079         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
128080         does not equal GMT offset at maximum time).
128081         Use integer to check for overflow rather than floating point; this
128082         is more portable to non-IEEE hosts, and is a tad faster.
128083         When we detect that we are oscillating between two values,
128084         don't check whether tm_isdst has the requested value, since
128085         we already know the answer.  When tm_isdst has the wrong value,
128086         use a different heuristic to find the right one, based on the
128087         extreme values actually observed in practice in tz2003a,
128088         rather than the (overly optimistic) "previous 3 calendar quarters".
128090         (not_equal_tm, print_tm, check_result): Use "const T" rather than
128091         "T const" to accommodate glibc style.
128092         (check_result): Use less-confusing report format.  "long" -> "long int.
128093         (main): Likewise.
128094         Don't loop if the iteration overflows time_t.
128095         Allow a negative step in the iteration.
128097 2003-07-06  Karl Berry  <karl@gnu.org>
128099         * config/depcomp: update from automake.
128100         * config/config.sub: update from prep.
128102 2003-07-03  Karl Berry  <karl@gnu.org>
128104         * config/config.guess: update from prep.
128106 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128108         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
128109         xreadlink.c now includes it unconditionally.
128111 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128113         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
128114         having it depend on HAVE_SYS_TYPES_H.
128116 2003-07-01  Bruno Haible  <bruno@clisp.org>
128118         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
128119         <sys/types.h> should be sufficient.
128120         Reported by Paul Eggert.
128122 2003-06-26  Karl Berry  <karl@gnu.org>
128124         * config/depcomp: update from automake.
128126 2003-06-26  Bruno Haible  <bruno@clisp.org>
128128         * modules/human: Depend on module stdbool.
128130 2003-06-25  Bruno Haible  <bruno@clisp.org>
128132         * modules/readlink: New file.
128133         * modules/xreadlink: Depend on it.
128134         * MODULES.html.sh (func_all_modules): Add readlink.
128136 2003-06-25  Bruno Haible  <bruno@clisp.org>
128138         * m4/readlink.m4: New file.
128140 2003-06-25  Bruno Haible  <bruno@clisp.org>
128142         * lib/readlink.c: New file.
128144 2003-06-22  Karl Berry  <karl@gnu.org>
128146         * config/srclist.txt: update mkinstalldirs from automake.
128147         * config/mkinstalldirs: update.
128149 2003-06-22  Bruno Haible  <bruno@clisp.org>
128151         Portability to mingw32.
128152         * m4/ssize_t.m4: New file, from GNU gettext.
128153         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
128154         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
128156 2003-06-22  Bruno Haible  <bruno@clisp.org>
128158         * modules/safe-read: Add m4/ssize_t.m4.
128159         * modules/xreadlink: Add m4/ssize_t.m4.
128161 2003-06-20  Bruno Haible  <bruno@clisp.org>
128163         Assume C89, so PARAMS isn't needed.
128164         * lib/unicodeio.h (PARAMS): Remove.
128165         * lib/unicodeio.c: Don't use PARAMS.
128167 2003-06-18  Karl Berry  <karl@gnu.org>
128169         * config/config.{guess,sub}: update from prep.
128171 2003-06-18  Jim Meyering  <jim@meyering.net>
128173         Merge changes from coreutils.
128174         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
128175         Remove explicit declarations of xmalloc and realloc.
128176         Include xalloc.h.
128177         (read_utmp): Remove anachronistic cast of xmalloc.
128179 2003-06-17  Paul Eggert  <eggert@twinsun.com>
128181         Assume C89, so PARAMS isn't needed.
128182         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
128183         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
128184         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
128185         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
128186         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
128187         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
128188         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
128189         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
128190         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
128191         lib/xstrtod.h, lib/xstrtol.h: Likewise.
128192         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
128193         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
128194         no longer needed. Anyway, config.h should always be included before any
128195         other file.
128197 2003-06-11  Simon Josefsson  <jas@extundo.com>
128199         * modules/sysexits: New file.
128200         * MODULES.html.sh (func_all_modules): Add sysexits.
128202 2003-06-11  Simon Josefsson  <jas@extundo.com>
128204         * lib/sysexit_.h: New file.
128206 2003-06-11  Derek Price  <derek@ximbiot.com>
128208         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
128209         necessary.
128211 2003-06-11  Bruno Haible  <bruno@clisp.org>
128213         * m4/sysexits.m4: New file.
128215 2003-06-10  Simon Josefsson  <jas@extundo.com>
128217         * lib/argp.h: New file, from glibc.
128218         * lib/argp-ba.c: New file, from glibc.
128219         * lib/argp-eexst.c: New file, from glibc.
128220         * lib/argp-fmtstream.c: New file, from glibc.
128221         * lib/argp-fmtstream.h: New file, from glibc.
128222         * lib/argp-fs-xinl.c: New file, from glibc.
128223         * lib/argp-help.c: New file, from glibc.
128224         * lib/argp-namefrob.h: New file, from glibc.
128225         * lib/argp-parse.c: New file, from glibc.
128226         * lib/argp-pv.c: New file, from glibc.
128227         * lib/argp-pvh.c: New file, from glibc.
128228         * lib/argp-xinl.c: New file, from glibc.
128230 2003-06-10  Simon Josefsson  <jas@extundo.com>
128232         * modules/strchrnul: New file.
128234 2003-06-10  Simon Josefsson  <jas@extundo.com>
128236         * modules/argp: New file.
128238 2003-06-10  Simon Josefsson  <jas@extundo.com>
128240         * m4/strchrnul.m4: New file.
128242 2003-06-10  Simon Josefsson  <jas@extundo.com>
128244         * lib/strchrnul.h: New file.
128245         * lib/strchrnul.c: New file.
128247 2003-06-10  Bruno Haible  <bruno@clisp.org>
128249         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
128251 2003-06-07  Karl Berry  <karl@gnu.org>
128253         * config/config.{guess,sub}: update from prep.
128255 2003-06-07  Jim Meyering  <jim@meyering.net>
128257         * modules/strtod: Use $(...) notation, not @...@ for
128258         AC_REPLACE'd variables.
128259         * modules/localcharset: Likewise.
128261 2003-06-07  Jim Meyering  <jim@meyering.net>
128263         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
128264         in place of my name in the copyright comment.
128265         Remove definition and uses of __P.
128267         From coreutils.
128268         * lib/stat.c: Don't declare xmalloc explicitly.
128269         Instead, include "xalloc.h".
128270         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
128271         xrealloc, and xcalloc return values.
128272         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
128273         Improve comment.
128274         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
128276 2003-06-07  Bruno Haible  <bruno@clisp.org>
128278         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
128279         avoid AC_CONFIG_LINKS.
128280         * modules/fnmatch (Makefile.am): Use explicit creation rule for
128281         fnmatch.h, to avoid AC_CONFIG_LINKS.
128282         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
128284 2003-06-07  Bruno Haible  <bruno@clisp.org>
128286         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
128287         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
128288         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128289         directory.
128290         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
128291         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128292         directory.
128294 2003-06-06  Jim Meyering  <jim@meyering.net>
128296         Merge from coreutils.
128297         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
128298         Consolidate declarations and initializations of *_base* locals.
128300         Merge from coreutils.
128301         This avoids a core dump on systems without GNU putenv,
128302         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
128303         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
128304         (unsetenv): New static function, from GNU libc.
128305         (rpl_putenv): Use it.
128307         * lib/modechange.c: Remove trailing blanks.
128309         Merge from coreutils.
128310         * lib/fsusage.c: Remove declaration of statfs.
128311         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
128313         * lib/posixtm.c: Include <stdbool.h> unconditionally.
128315 2003-06-06  Jim Meyering  <jim@meyering.net>
128317         * lib/stdbool_.h: Renamed from stdbool.h.in.
128319 2003-06-06  Jim Meyering  <jim@meyering.net>
128320             Bruno Haible  <bruno@clisp.org>
128322         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
128323         Adjust Makefile.am snippet not to redirect directly to target.
128324         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
128326 2003-06-05  Paul Eggert  <eggert@twinsun.com>
128328         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
128329         mismatch, look in future quarters as well as past.  This fixes a
128330         bug when processing fall-backwards gaps immediately after a long
128331         period of daylight-saving time.
128333         * lib/mktime.c: Assume freestanding C89 or better.
128334         (HAVE_LIMITS_H): Remove.  Assume it's 1.
128335         (__P): Remove; not used.
128336         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
128337         (mktime, not_equal_tm, print_tm, check_result,
128338         main): Use prototypes.  Use const * where appropriate.
128339         (main): Fix typo in testing code that uncovered by above changes.
128340         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
128342 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128344         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
128345         locale.h, localeconv.  This merges changes from coreutils.
128347         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
128348         It can be removed after the next Autoconf is released.
128349         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
128350         needed.
128352 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128354         * lib/mktime.c: Fix Debian bug 177940
128355         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
128356         (localtime_offset): Now long int, not time_t, because we want it
128357         to be guaranteed to be signed.  All uses changed.
128358         (__mktime_internal): If overflow would occur when adding offset,
128359         don't add it.
128361         Merge 'human' changes from coreutils.  Rewrite to support
128362         locale-specific notations like thousands separators.
128363         * lib/human.c: Simplify authorship notice.
128364         Include human.h immediately after config.h.
128365         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
128366         <limits.h>: Do not include, since human.h does.
128367         (SIZE_MAX, UINTMAX_MAX): New macros.
128368         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
128369         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
128370         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
128371         (power_letter): Renamed from suffixes.
128372         (generate_suffix_backwards): Remove.
128373         (adjust_value): Now takes int style (because of human.h changes)
128374         and long double value (for greater precision on some platforms).
128375         (group_number): New function.
128376         (human_readable): Use it.  Use integer options, not enum.
128377         Put the options before the sizes in the arg list.
128378         Support all the new options.
128379         The old human_readable function has been removed;
128380         use inttostr.h instead.
128381         (human_readable, default_block_size, humblock):
128382         Use uintmax_t, not int, for block sizes.
128383         (human_readable_inexact, block_size_types): Remove.
128384         (block_size_opts): New constant.
128385         (human_options): Renamed from human_block_size, with new signature
128386         that allows block sizes up to UINTMAX_MAX.  All callers changed.
128387         * lib/human.h: Add copyright and authorship notice.
128388         Include <limits.h> and <stdbool.h> unconditionally.
128389         (PARAMS): Remove.  All uses removed.
128390         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
128391         (enum human_inexact_style): Remove tag; now a nameless enum.
128392         (human_floor, human_ceiling, human_round_to_even): Now have
128393         values 2, 0, 1 rather than -1, 1, 0.
128394         (human_group_digits, human_suppress_point_zero, human_autoscale,
128395         human_base_1024, human_SI, human_B): New constants.
128396         (human_readable_inexact, human_block_size): Remove.
128397         (human_readable): Size args are now uintmax_t, not int.
128398         (human_options): New decl.
128400         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
128401         unnecessary now that we assume C89 or better.  This change
128402         imported from coreutils.
128404         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128405         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
128406         in the 2003-05-30 sync from glibc.
128408         .h files should stand alone, but we shouldn't include <sys/types.h>
128409         if we can get away with just <stddef.h>.
128411         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
128412         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
128413         rather than <sys/types.h>, as we merely need size_t.
128414         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
128415         to get size_t.
128416         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
128417         Include <stdio.h>, to get FILE.
128418         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
128419         memcasecmp.h has included <stddef.h> and all we need is size_t.
128420         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
128421         our interface, instead of including <sys/types.h>
128423 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128425         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
128426         now, as glibc mktime is buggy on non-glibc systems.
128428 2003-06-03  Karl Berry  <karl@gnu.org>
128430         * config/config.sub: update from prep.
128432 2003-06-02  Paul Eggert  <eggert@twinsun.com>
128434         [from coreutils]
128435         Fix some minor time-related bugs with POSIX time arguments.
128436         Some valid time stamps were being rejected (notably -1, and
128437         time stamps before 1900 on 64-bit hosts).  And some invalid
128438         time stamps were being accepted, e.g. September 31.
128440         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
128441         that we can return (time_t) -1 successfully.
128442         * lib/posixtm.c: Likewise.
128443         [HAVE_STDBOOL_H]: Include <stdbool.h>.
128444         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
128445         (t): Remove static var.
128446         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
128447         of static var.  All uses changed.
128448         (year): Do not reject years before 1900; they can occur with
128449         64-bit time_t.
128450         (posix_time_parse): Do not check for out-of-range components;
128451         that is now the caller's responsibility, since our checks were
128452         only approximations.
128453         (posixtime): Use mktime to check for out-of-range components,
128454         since it knows them exactly.
128455         If mktime returns (time_t) -1, check whether an error actually occurred
128456         by invoking localtime on -1.
128457         (main) [TEST_POSIXTIME]: Check for input data errors, and report
128458         posixtime failures better.
128459         Improve the test data (in comments only).
128461 2003-06-02  Karl Berry  <karl@gnu.org>
128463         * config/mkinstalldirs (version): new variable.
128464         (--version): new option.
128465         (usage): improve message.
128467 2003-05-30  Karl Berry  <karl@gnu.org>
128469         * lib/mktime.c: update from libc.
128471 2003-05-30  Bruno Haible  <bruno@clisp.org>
128473         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
128474         * config/config.rpath: Upgrade to gettext-0.12.1.
128476 2003-05-30  Bruno Haible  <bruno@clisp.org>
128478         * m4/gettext.m4: Upgrade to gettext-0.12.1.
128479         * m4/nls.m4: New file, from gettext-0.12.1.
128480         * m4/po.m4: New file, from gettext-0.12.1.
128481         * m4/progtest.m4: Upgrade to gettext-0.12.1.
128483 2003-05-30  Bruno Haible  <bruno@clisp.org>
128485         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
128486         * lib/localcharset.h: Likewise.
128487         * lib/localcharset.c: Likewise.
128489 2003-05-29  Karl Berry  <karl@gnu.org>
128491         * config/config.rpath: update from gettext.
128493 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128495         Assume the headers required for C89 freestanding compilers.
128496         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
128497         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
128498         * m4/human.m4 (gl_HUMAN): Likewise.
128499         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
128500         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
128501         * m4/userspec.m4 (gl_USERSPEC): Likewise.
128502         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
128503         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
128504         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
128506 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128508         Assume the headers required for C89 freestanding compilers.
128509         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
128510         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
128511         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
128512         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
128513         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
128514         define, since <limits.h> is guaranteed to do that.
128515         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
128516         * lib/exclude.c: Include <stdbool.h> unconditionally.
128517         * lib/tempname.c: Include <stddef.h> unconditionally.
128518         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
128519         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
128520         <stddef.h> does that.
128521         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
128522         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
128523         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
128524         needed.
128525         * lib/xstrtol.c: Likewise.
128526         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
128527         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
128529         * lib/addext.c (addext): Use assignment rather than cast, to avoid
128530         warnings on some platforms.
128532         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128533         arbitrarily.
128535 2003-05-26  Jim Meyering  <jim@meyering.net>
128537         Merge in a change from coreutils:
128538         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
128539         that is guaranteed to be `no'.  Use `no_such_member' to indicate
128540         that condition, rather than `-1' which is slightly misleading.
128541         Change the name of the cache variable to have the gl_ prefix.
128542         Prompted by a patch from Richard Dawe for DJGPP.
128544 2003-05-24  Karl Berry  <karl@gnu.org>
128546         * config/config.guess: update from prep.
128548 2003-05-22  Karl Berry  <karl@gnu.org>
128550         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
128552 2003-05-20  Karl Berry  <karl@gnu.org>
128554         * config/config.guess: update from prep.
128556 2003-05-18  Karl Berry  <karl@gnu.org>
128558         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
128559         might actually be set by the user.
128561         * config/depcomp, install-sh, mdate-sh: update from automake.
128563 2003-05-17  Bruno Haible  <bruno@clisp.org>
128565         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
128566         invalid expansion for AC_EGREP_CPP.
128567         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
128568         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
128569         Suggested by Akim Demaille <akim@epita.fr> in
128570         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
128572 2003-05-12  Jim Meyering  <jim@meyering.net>
128574         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
128575         the space-padded-by-default conversion specifiers, %e, %k, %l.
128577 2003-05-12  Bruno Haible  <bruno@clisp.org>
128579         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
128580         the string is longer than 4 KB.
128582 2003-05-11  Karl Berry  <karl@gnu.org>
128584         * config/config.{guess,sub}: update from prep.
128586 2003-05-09  Bruno Haible  <bruno@clisp.org>
128588         * modules/error: Add m4/strerror_r.m4 to file list.
128590 2003-05-03  Bruno Haible  <bruno@clisp.org>
128592         Upgrade to Unicode-4.0.
128593         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
128594         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
128595         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
128596         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
128597         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
128598         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
128599         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
128600         Change width of U+E0100..U+E01EF from 1 to 0.
128602 2003-04-25  Jim Meyering  <jim@meyering.net>
128604         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
128605         of type size_t, not int.
128607 2003-04-25  Bruno Haible  <bruno@clisp.org>
128609         * lib/copy-file.c: Include <stddef.h>, for size_t.
128611 2003-04-21  Paul Eggert  <eggert@twinsun.com>
128613         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
128614         code which expansion is under static control.  Patch imported from
128615         Akim Demaille's patch to Bison; see
128616         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
128618 2003-04-14  Bruno Haible  <bruno@clisp.org>
128620         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
128622 2003-04-11  Jim Meyering  <jim@meyering.net>
128624         Merge changes from Coreutils.
128626         2003-03-22  Jim Meyering  <jim@meyering.net>
128628         * lib/strftime.c (widen): Cast alloca return value to proper type.
128630         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
128632         From GNU libc.
128633         * lib/strftime.c (my_strftime): Handle very large width
128634         specifications for numeric values correctly.  Improve checks for
128635         overflow.
128637         2003-01-19  Jim Meyering  <jim@meyering.net>
128639         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
128640         definitions.
128641         (nl_get_alt_digit) [! defined my_strftime]: Define.
128642         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
128643         _nl_get_alt_digit and _nl_get_walt_digit.
128645         * lib/strftime.c (my_strftime): Merge in locale-related changes from
128646         libc. These changes have no effect outside of _LIBC.
128648 2003-04-10  Bruno Haible  <bruno@clisp.org>
128650         * modules/findprog: New file.
128651         * MODULES.html.sh (func_all_modules): Add it.
128653 2003-04-10  Bruno Haible  <bruno@clisp.org>
128655         * m4/findprog.m4: New file.
128656         * m4/eaccess.m4: New file.
128658 2003-04-10  Bruno Haible  <bruno@clisp.org>
128660         * lib/findprog.h: New file, from GNU gettext.
128661         * lib/findprog.c: New file, from GNU gettext.
128663 2003-04-05  Jim Meyering  <jim@meyering.net>
128665         Merge changes from Coreutils.
128667         * lib/exclude.h (PARAMS): Remove definition and uses.
128668         * lib/exclude.c: Remove uses of `PARAMS'.
128670         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
128671         Add test-cases for DOS filenames. Declare program_name.
128672         (main): Set up program_name.  Patch by Rich Dawe.
128674         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128675         error from mntctl.
128676         Use mntctl's return value to drive the entry-processing loop, since
128677         we can't rely on the value of the vmt_length member in the last
128678         entry.  On some systems doing so could result in exhausting
128679         virtual memory.  Based in part on a patch from Mike Jetzer.
128681 2003-04-04  Bruno Haible  <bruno@clisp.org>
128683         * modules/linebreak: New file.
128684         * MODULES.html.sh (func_all_modules): Add it.
128686 2003-04-04  Bruno Haible  <bruno@clisp.org>
128688         * m4/linebreak.m4: New file.
128690 2003-04-04  Bruno Haible  <bruno@clisp.org>
128692         * lib/linebreak.h: New file, from GNU gettext.
128693         * lib/linebreak.c: New file, from GNU gettext with slight
128694         modifications.
128695         * lib/lbrkprop.h: New file, from GNU gettext.
128697 2003-04-03  Bruno Haible  <bruno@clisp.org>
128699         * modules/utf8-ucs4: New file.
128700         * modules/utf16-ucs4: New file.
128701         * modules/ucs4-utf8: New file.
128702         * modules/ucs4-utf16: New file.
128703         * MODULES.html.sh (func_all_modules): Add them.
128705 2003-04-03  Bruno Haible  <bruno@clisp.org>
128707         * m4/utf-ucs4.m4: New file.
128708         * m4/ucs4-utf.m4: New file.
128710 2003-04-03  Bruno Haible  <bruno@clisp.org>
128712         * lib/utf8-ucs4.h: New file, from GNU gettext.
128713         * lib/utf16-ucs4.h: New file, from GNU gettext.
128714         * lib/ucs4-utf8.h: New file, from GNU gettext.
128715         * lib/ucs4-utf16.h: New file, from GNU gettext.
128717 2003-04-02  Bruno Haible  <bruno@clisp.org>
128719         * modules/binary-io: New file.
128720         * MODULES.html.sh (func_all_modules): Add it.
128722 2003-04-02  Bruno Haible  <bruno@clisp.org>
128724         * lib/binary-io.h: New file, from GNU gettext.
128726 2003-04-01  Bruno Haible  <bruno@clisp.org>
128728         * modules/pathname: New file.
128729         * MODULES.html.sh (func_all_modules): Add it.
128731 2003-04-01  Bruno Haible  <bruno@clisp.org>
128733         * lib/pathname.h: New file, from GNU gettext.
128734         * lib/concatpath.c: New file, from GNU gettext.
128736 2003-03-30  Bruno Haible  <bruno@clisp.org>
128738         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
128740 2003-03-30  Bruno Haible  <bruno@clisp.org>
128742         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
128743         function chown() doesn't exist.
128745 2003-03-28  Bruno Haible  <bruno@clisp.org>
128747         * modules/copy-file: New file.
128748         * MODULES.html.sh (func_all_modules): Add it.
128750 2003-03-28  Bruno Haible  <bruno@clisp.org>
128752         * m4/copy-file.m4: New file.
128754 2003-03-28  Bruno Haible  <bruno@clisp.org>
128756         * lib/copy-file.h: New file, from GNU gettext.
128757         * lib/copy-file.c: New file, from GNU gettext.
128759 2003-03-18  Jim Meyering  <jim@meyering.net>
128761         * lib/quote.c (quote_n): Fix typo in comment.
128763 2003-03-18  Bruno Haible  <bruno@clisp.org>
128765         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
128766         checking.
128767         * m4/onceonly_2_57.m4: Likewise.
128769 2003-03-17  Bruno Haible  <bruno@clisp.org>
128771         * m4/onceonly.m4: Require autoconf 2.54 or newer.
128772         (m4_quote): Remove macro.
128773         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
128775 2003-03-14  Jim Meyering  <jim@meyering.net>
128777         Merge changes from Coreutils.
128778         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
128779         to be const, in order to avoid warnings.
128780         (obstack_room): Likewise.
128781         (obstack_empty_p): Likewise.
128783 2003-03-14  Bruno Haible  <bruno@clisp.org>
128785         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
128786         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
128788 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128790         Merge changes from Bison.
128791         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
128792         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
128793         when compiling Bison 1.875's `bitset bset = obstack_alloc
128794         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
128795         * lib/hash.c: Include <stdbool.h> unconditionally.
128797 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128799         * m4/onceonly.m4 (m4_quote): New macro.
128800         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
128801         Quote AC_FOREACH variable-expansions properly.
128803 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128805         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
128807 2003-03-09  Paul Eggert  <eggert@twinsun.com>
128809         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
128810         Reported by Bruce Becker; see:
128811         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
128813 2003-03-03  Paul Eggert  <eggert@twinsun.com>
128814             Bruno Haible  <bruno@clisp.org>
128816         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
128817         Reported by John Hughes, see
128818         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
128820 2003-02-20  Bruno Haible  <bruno@clisp.org>
128822         * MODULES.html.sh (func_all_modules): Add poll.
128824 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128826         * modules/poll: New file.
128828 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128830         * lib/poll_.h: New file.
128831         * lib/poll.c: New file.
128833 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128835         * m4/poll.m4: New file.
128837 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128839         * modules/mathl: New file.
128841 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128843         * lib/mathl.h: New file.
128844         * lib/acosl.c: New file.
128845         * lib/asinl.c: New file.
128846         * lib/atanl.c: New file.
128847         * lib/ceill.c: New file.
128848         * lib/cosl.c: New file.
128849         * lib/expl.c: New file.
128850         * lib/floorl.c: New file.
128851         * lib/frexpl.c: New file.
128852         * lib/ldexpl.c: New file.
128853         * lib/logl.c: New file.
128854         * lib/sincosl.c: New file.
128855         * lib/sinl.c: New file.
128856         * lib/sqrtl.c: New file.
128857         * lib/tanl.c: New file.
128858         * lib/trigl.c: New file.
128859         * lib/trigl.h: New file.
128861 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128863         * m4/mathl.m4: New file.
128865 2003-02-18  Bruno Haible  <bruno@clisp.org>
128867         * MODULES.html.sh (func_all_modules): Add mathl.
128869 2003-02-17  Bruno Haible  <bruno@clisp.org>
128871         * modules/mkdtemp: New module.
128872         * MODULES.html.sh (func_all_modules): Add it.
128874 2003-02-17  Bruno Haible  <bruno@clisp.org>
128876         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
128878 2003-02-17  Bruno Haible  <bruno@clisp.org>
128880         * lib/mkdtemp.h: New file, from GNU gettext.
128881         * lib/mkdtemp.c: New file, from GNU gettext.
128883 2003-02-02  Jim Meyering  <jim@meyering.net>
128885         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
128886         e.g. glibc-2.2.93.
128888 2003-01-31  Bruno Haible  <bruno@clisp.org>
128890         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
128891         'rpl_rename'.
128892         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
128893         'rpl_strnlen'.
128894         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
128895         'rpl_strtod'.
128896         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
128897         'rpl_utime'.
128899 2003-01-31  Bruno Haible  <bruno@clisp.org>
128901         * lib/rename.c: #undef rename before defining rpl_rename.
128902         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
128904 2003-01-30  Bruno Haible  <bruno@clisp.org>
128906         * modules/vasnprintf, modules/vasprintf: New modules.
128907         * MODULES.html.sh (func_all_modules): Add them.
128909 2003-01-30  Bruno Haible  <bruno@clisp.org>
128911         * m4/signed.m4: New file, from GNU gettext.
128912         * m4/longdouble.m4: New file, from GNU gettext.
128913         * m4/wchar_t.m4: New file, from GNU gettext.
128914         * m4/wint_t.m4: New file, from GNU gettext.
128915         * m4/vasnprintf.m4: New file.
128916         * m4/vasprintf.m4: New file.
128918 2003-01-30  Bruno Haible  <bruno@clisp.org>
128920         * lib/printf-args.h: New file, from GNU gettext.
128921         * lib/printf-args.c: New file, from GNU gettext.
128922         * lib/printf-parse.h: New file, from GNU gettext.
128923         * lib/printf-parse.c: New file, from GNU gettext.
128924         * lib/vasnprintf.h: New file, from GNU gettext.
128925         * lib/vasnprintf.c: New file, from GNU gettext.
128926         * lib/asnprintf.c: New file, from GNU gettext.
128927         * lib/vasprintf.h: New file, from GNU gettext with modifications.
128928         * lib/vasprintf.c: New file, from GNU gettext.
128929         * lib/asprintf.c: New file, from GNU gettext.
128931 2003-01-29  Bruno Haible  <bruno@clisp.org>
128933         * modules/stpncpy: New module.
128934         * MODULES.html.sh (func_all_modules): Add it.
128936 2003-01-29  Bruno Haible  <bruno@clisp.org>
128938         * m4/stpncpy.m4: New file.
128940 2003-01-29  Bruno Haible  <bruno@clisp.org>
128942         * lib/stpncpy.h: New file, from GNU gettext with modifications.
128943         * lib/stpncpy.c: New file, from GNU gettext with modifications.
128945 2003-01-28  Bruno Haible  <bruno@clisp.org>
128947         * modules/c-ctype: New module.
128948         * MODULES.html.sh (func_all_modules): Add it.
128950 2003-01-28  Bruno Haible  <bruno@clisp.org>
128952         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
128953         Paul Eggert.
128954         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
128955         Paul Eggert.
128957 2003-01-27  Bruno Haible  <bruno@clisp.org>
128959         * modules/xsetenv: New module.
128960         * MODULES.html.sh (func_all_modules): Add it.
128962 2003-01-27  Bruno Haible  <bruno@clisp.org>
128964         * lib/xsetenv.h: New file, from GNU gettext.
128965         * lib/xsetenv.c: New file, from GNU gettext.
128967 2003-01-23  Jim Meyering  <jim@meyering.net>
128969         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
128970         from working on systems without dirfd (at least Irix and OSF1/Tru64).
128972 2003-01-23  Bruno Haible  <bruno@clisp.org>
128974         * modules/minmax: New module.
128975         * MODULES.html.sh (func_all_modules): Add it.
128977 2003-01-23  Bruno Haible  <bruno@clisp.org>
128979         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
128980         Eggert.
128982 2003-01-22  Bruno Haible  <bruno@clisp.org>
128984         * modules/exit: New module.
128985         * MODULES.html.sh (func_all_modules): Add it.
128987 2003-01-22  Bruno Haible  <bruno@clisp.org>
128989         * lib/exit.h: New file, from GNU gettext.
128991 2003-01-19  Bruno Haible  <bruno@clisp.org>
128993         * gnulib-tool: Recognize option --extract-maintainer.
128994         (func_get_maintainer): New function.
128995         * modules/*: Add Maintainer entry.
128997 2003-01-16  Jim Meyering  <jim@meyering.net>
128999         * m4/regex.m4: The `regex' struct is both input and output.
129000         Initialize it before each use.  Patch by Tim Waugh.
129002 2003-01-16  Bruno Haible  <bruno@clisp.org>
129004         * MODULES.html.sh: Add a table of contents. Add the module name as
129005         leftmost column. Add hyperlinks.
129007 2003-01-15  Bruno Haible  <bruno@clisp.org>
129009         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
129011 2003-01-15  Bruno Haible  <bruno@clisp.org>
129013         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
129014         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
129015         suffix.
129017 2003-01-15  Bruno Haible  <bruno@clisp.org>
129019         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
129021 2003-01-15  Bruno Haible  <bruno@clisp.org>
129023         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
129024         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
129026 2003-01-14  Jim Meyering  <jim@meyering.net>
129028         * lib/same.c (same_name): Tweak a comment.
129030 2003-01-14  Bruno Haible  <bruno@clisp.org>
129032         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
129033         when a string comparison is sufficient.
129035 2003-01-14  Bruno Haible  <bruno@clisp.org>
129037         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
129038         'unsigned int'.
129040 2003-01-14  Bruno Haible  <bruno@clisp.org>
129042         * lib/hash-pjw.c: Add comment about low quality of this function.
129044 2003-01-13  Bruno Haible  <bruno@clisp.org>
129046         * modules/stpcpy: Distribute lib/stpcpy.h.
129047         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
129049 2003-01-13  Bruno Haible  <bruno@clisp.org>
129051         * modules/*: Add a description.
129052         * modules/strpbrk: Fix Makefile.am snippet.
129053         * modules/strtoimax: Fix dependencies.
129054         * modules/strtoumax: Likewise.
129056 2003-01-13  Bruno Haible  <bruno@clisp.org>
129058         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
129059         * modules/alloca (Makefile.am): All object files depend on alloca.h.
129060         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
129062 2003-01-13  Bruno Haible  <bruno@clisp.org>
129064         * gnulib-tool (func_create_testdir): Store config/* files in the main
129065         directory.
129066         * config.rpath: Move to ...
129067         * config/config.rpath: ... here.
129068         * modules/gettext: Contains config/config.rpath, not config.rpath.
129069         * modules/iconv: Likewise.
129071 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129073         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129074         to avoid collisions with libcurses and libreadline.
129076         * m4/getstr.m4: Remove.
129077         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
129079 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129081         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129082         to avoid collisions with libcurses and libreadline.
129084         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
129085         * lib/getstr.h, getstr.c: Remove.
129086         * lib/getline.c: Include "getline.h", to check interface.
129087         Move body of old getstr.c here: this defines MIN_CHUNK and
129088         declares getdelim2, which is renamed from getstr.
129089         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
129091         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
129092         All uses changed.
129093         * lib/linebuffer.h: Likewise.
129094         (readline): Remove backward-compatibility macro.
129096 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129098         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129099         to avoid collisions with libcurses and libreadline.
129100         * getstr: Remove.
129101         * MODULES.html.sh: Remove getstr.
129102         * modules/getline: Depend on unlocked-io, not getstr.
129104 2003-01-12  Jim Meyering  <jim@meyering.net>
129106         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
129108 2003-01-10  Bruno Haible  <bruno@clisp.org>
129110         * modules/alloca: Change Makefile.am requirements. Simplify Include
129111         requirements. Add lib/alloca_.h to file list.
129113 2003-01-10  Bruno Haible  <bruno@clisp.org>
129115         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
129117 2003-01-10  Bruno Haible  <bruno@clisp.org>
129119         * lib/alloca_.h: New file.
129120         * lib/getdate.y: Unconditionally include alloca.h.
129121         * lib/makepath.c: Likewise.
129122         * lib/setenv.c: Likewise.
129123         * lib/userspec.c: Likewise.
129125 2003-01-09  Karl Berry  <karl@gnu.org>
129127         * MODULES.html.sh: include `dirname $0` in PATH, to find
129128         gnulib-tool.
129130 2003-01-09  Bruno Haible  <bruno@clisp.org>
129132         * modules/stdbool: Change configure.ac, Makefile.am requirements.
129133         Simplify Include requirements. Add lib/stdbool.h.in to file list.
129135 2003-01-09  Bruno Haible  <bruno@clisp.org>
129137         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
129139 2003-01-09  Bruno Haible  <bruno@clisp.org>
129141         * lib/stdbool.h.in: New file.
129143 2003-01-09  Bruno Haible  <bruno@clisp.org>
129145         * gnulib-tool (func_all_modules): Ignore files ending in ~.
129146         * MODULES.html.sh: Likewise.
129148 2003-01-08  Jim Meyering  <jim@meyering.net>
129150         * lib/full-write.c: Undefine and define-away `const' after inclusion
129151         of errno.h, not before.  Suggestion from Bruno Haible.
129153 2003-01-08  Bruno Haible  <bruno@clisp.org>
129155         * modules/full-read: Depend on full-write.
129157 2003-01-08  Bruno Haible  <bruno@clisp.org>
129159         * lib/safe-read.c: Include specification header first, to ensure its
129160         selfcontainedness.
129161         * lib/full-write.c: Likewise.
129163 2003-01-07  Jim Meyering  <jim@meyering.net>
129165         * lib/full-write.c: Rework so that it may serve to define full_read,
129166         too.
129167         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
129169 2003-01-07  Bruno Haible  <bruno@clisp.org>
129171         * lib/strtoimax.c: Include <stdint.h> as an alternative to
129172         <inttypes.h>.
129173         * lib/xstrtol.h: Likewise.
129174         * lib/xstrtoimax.c: Likewise.
129175         * lib/xstrtoumax.c: Likewise.
129176         * lib/human.h: Likewise.
129178         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
129179         on systems that have <inttypes.h> but not <stdint.h>.
129181 2003-01-07  Bruno Haible  <bruno@clisp.org>
129183         * MODULES.html.sh: Add copyright notice.
129184         (missed_files): Omit CVS directory entries.
129185         (func_module): Make it work with sed-3.02.
129186         * MODULES.txt: Remove file.
129188 2003-01-06  Jim Meyering  <jim@meyering.net>
129190         * lib/version-etc.c: Update year in translatable copyright string.
129192 2003-01-03  Karl Berry  <karl@gnu.org>
129194         * config/config.{guess,sub}: update from prep.
129196 2003-01-02  Karl Berry  <karl@gnu.org>
129198         * doc/COPYING.DOC: belatedly updated to 1.2.
129200 2003-01-01  Karl Berry  <karl@gnu.org>
129202         * gnulib-tool (func_verify_module): report module name $module in
129203         error message, not $1.
129204         * gnulib-tool (create-testdir): don't complain if destdir couldn't
129205         be created, only if it doesn't exist.
129206         * gnulib-tool (last_checkin_date): don't expand the $Date here.
129208 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129210         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
129212 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129214         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
129215         memcmp if strcoll doesn't work.
129217 2002-12-31  Bruno Haible  <bruno@clisp.org>
129219         * lib/utime.c (utime_null): No need to call ftruncate if the file was
129220         nonempty.
129222 2002-12-31  Bruno Haible  <bruno@clisp.org>
129224         * lib/memcoll.c (STRCOLL): New macro.
129225         (memcoll): Use it.
129227 2002-12-31  Bruno Haible  <bruno@clisp.org>
129229         * lib/localcharset.h: New file.
129230         * lib/localcharset.c: Include it.
129231         * lib/unicodeio.c: Likewise.
129233 2002-12-31  Bruno Haible  <bruno@clisp.org>
129235         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
129236         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
129238 2002-12-31  Bruno Haible  <bruno@clisp.org>
129240         * lib/getline.h: Include <stddef.h>, for size_t.
129242         * lib/unicodeio.h: Include <stddef.h>, for size_t.
129243         * lib/unicodeio.c: Don't include <stddef.h>.
129245 2002-12-31  Bruno Haible  <bruno@clisp.org>
129247         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
129248         HAVE_TM_ZONE.
129250 2002-12-24  Karl Berry  <karl@gnu.org>
129252         * config/config.guess: update from prep.
129254 2002-12-24  Bruno Haible  <bruno@clisp.org>
129256         General infrasructure.
129257         * m4/README: Rewritten.
129258         * m4/onceonly.m4: New file.
129259         * m4/onceonly_2_57.m4: New file.
129261         Module atexit.
129262         * m4/atexit.m4: New file.
129264         Module strtod.
129265         * m4/strtod.m4: New file.
129267         Module strtol.
129268         * m4/strtol.m4: New file.
129270         Module strtoul.
129271         * m4/strtoul.m4: New file.
129273         Module memchr.
129274         * m4/memchr.m4: New file.
129276         Module memcmp.
129277         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
129278         (jm_FUNC_MEMCMP): Invoke it.
129280         Module memcpy.
129281         * m4/memcpy.m4: New file.
129283         Module memmove.
129284         * m4/memmove.m4: New file.
129286         Module memset.
129287         * m4/memset.m4: New file.
129289         Module strcspn.
129290         * m4/strcspn.m4: New file.
129292         Module strpbrk.
129293         * m4/strpbrk.m4: New file.
129295         Module strstr.
129296         * m4/strstr.m4: New file.
129298         Module strerror.
129299         * m4/strerror.m4: New file.
129301         Module mktime.
129302         * m4/mktime.m4: Renamed from jm-mktime.m4.
129303         (gl_PREREQ_MKTIME): New macro.
129304         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
129306         Module malloc.
129307         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
129308         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
129309         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
129311         Module realloc.
129312         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
129313         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
129314         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
129316         Module strftime.
129317         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
129318         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
129319         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
129320         gl_TM_GMTOFF.
129321         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
129323         Module xalloc.
129324         * m4/xalloc.m4: New file.
129326         Module alloca.
129327         * m4/alloca.m4: New file.
129329         Module putenv.
129330         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
129331         (jm_FUNC_PUTENV): Invoke it.
129333         Module setenv.
129334         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
129335         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
129336         when invoked twice.
129337         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
129338         gt_FUNC_SETENV.
129340         Module memrchr.
129341         * m4/memrchr.m4: New file.
129343         Module stpcpy.
129344         * m4/stpcpy.m4: New file.
129346         Module strcase.
129347         * m4/strcase.m4: New file.
129349         Module strdup.
129350         * m4/strdup.m4: New file.
129352         Module strnlen.
129353         * m4/strnlen.m4: New file.
129355         Module strndup.
129356         * m4/strndup.m4: New file.
129358         Module xstrtod.
129359         * m4/xstrtod.m4: New file.
129361         Module xstrtol.
129362         * m4/xstrtol.m4: New file.
129364         Module getdate.
129365         * m4/getdate.m4: New file.
129367         Module unlocked-io.
129368         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
129369         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
129370         * m4/jm-glibc-io.m4n: Remove file.
129372         Module long-options.
129373         * m4/long-options.m4: New file.
129375         Module md5.
129376         * m4/md5.m4: New file.
129378         Module sha.
129379         * m4/sha.m4: New file.
129381         Module getstr.
129382         * m4/getstr.m4: New file.
129384         Module getline.
129385         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
129386         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
129387         <sys/types.h>, for size_t. Use the function name gnu_getline, not
129388         simply getline. Infoke gl_PREREQ_GETLINE.
129390         Module obstack.
129391         * m4/obstack.m4: New file.
129393         Module hash.
129394         * m4/hash.m4: New file.
129396         Module readtokens.
129397         * m4/readtokens.m4: New file.
129399         Module strverscmp.
129400         * m4/strverscmp.m4: New file.
129402         Module stdbool.
129403         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
129404         OSF/1.
129406         Module strtoll.
129407         * m4/strtoll.m4: New file.
129409         Module strtoull.
129410         * m4/strtoull.m4: New file.
129412         Module strtoimax.
129413         * m4/strtoimax.m4: New file.
129415         Module strtoumax.
129416         * m4/strtoumax.m4: New file.
129418         Module xstrtoimax.
129419         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
129420         jm_AC_PREREQ_XSTRTOIMAX.
129421         Moved the strtol prerequisites to strtol.m4.
129422         Moved the strtoll prerequisites to strtoll.m4.
129423         Moved the strtoimax prerequisites to strtoimax.m4.
129425         Module xstrtoumax.
129426         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
129427         jm_AC_PREREQ_XSTRTOUMAX.
129428         Moved the strtoul prerequisites to strtoul.m4.
129429         Moved the strtoull prerequisites to strtoull.m4.
129430         Moved the strtoumax prerequisites to strtoumax.m4.
129432         Module chown.
129433         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
129434         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
129436         Module dup2.
129437         * m4/dup2.m4: New file.
129439         Module ftruncate.
129440         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
129441         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
129443         Module getgroups.
129444         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
129445         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
129447         Module gettimeofday.
129448         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
129449         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
129450         gl_PREREQ_GETTIMEOFDAY.
129452         Module mkdir.
129453         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
129454         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
129456         Module mkstemp.
129457         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
129458         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
129459         jm_AC_TYPE_UINTMAX_T.
129460         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
129462         Module stat.
129463         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
129464         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
129466         Module lstat.
129467         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
129468         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
129470         Module timespec.
129471         * m4/timespec.m4 (gl_TIMESPEC): New macro.
129472         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
129473         * m4/st_mtim.m4: Indentation.
129475         Module nanosleep.
129476         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
129477         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
129478         gl_PREREQ_NANOSLEEP.
129480         Module regex.
129481         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
129482         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
129483         (gl_REGEX): New macro.
129485         Module rename.
129486         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
129487         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
129489         Module rmdir.
129490         * m4/rmdir.m4: New file.
129492         Module utime.
129493         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
129494         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
129495         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
129497         Module dirname.
129498         * m4/dirname.m4: New file.
129500         Module getopt.
129501         * m4/getopt.m4: New file.
129503         Module unistd-safer.
129504         * m4/unistd-safer.m4: New file.
129506         Module fnmatch.
129507         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
129508         declaration.
129509         (gl_PREREQ_FNMATCH_EXTRA): New macro.
129510         (gl_FUNC_FNMATCH_POSIX): New macro.
129511         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
129512         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
129513         simply fnmatch.
129515         Module exclude.
129516         * m4/exclude.m4: New file.
129518         Module human.
129519         * m4/human.m4: New file.
129521         Module acl.
129522         * m4/acl.m4: Nop.
129524         Module backupfile.
129525         * m4/backupfile.m4: New file.
129526         * m4/d-ino.m4: Indentation.
129528         Module fsusage.
129529         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
129530         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
129531         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
129533         Module dirfd.
129534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
129535         requirements.
129537         Module euidaccess.
129538         * m4/euidaccess.m4: New file.
129540         Module file-type.
129541         * m4/file-type.m4: New file.
129543         Module fileblocks.
129544         * m4/fileblocks.m4: New file.
129546         Module filemode.
129547         * m4/filemode.m4: New file.
129549         Module isdir.
129550         * m4/isdir.m4: New file.
129552         Module lchown.
129553         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
129554         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
129556         Module makepath.
129557         * m4/makepath.m4: New file.
129559         Module modechange.
129560         * m4/modechange.m4: New file.
129562         Module mountlist.
129563         * m4/mountlist.m4: New file.
129564         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
129565         Indentation.
129567         Module path-concat.
129568         * m4/path-concat.m4: New file.
129570         Module pathmax.
129571         * m4/pathmax.m4: New file.
129573         Module same.
129574         * m4/same.m4: New file.
129576         Module save-cwd.
129577         * m4/save-cwd.m4: New file.
129579         Module savedir.
129580         * m4/savedir.m4: New file.
129582         Module xgetcwd.
129583         * m4/xgetcwd.m4: New file.
129584         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
129586         Module xreadlink.
129587         * m4/xreadlink.m4: New file.
129589         Module safe-read.
129590         * m4/safe-read.m4: New file.
129592         Module safe-write.
129593         * m4/safe-write.m4: New file.
129595         Module closeout.
129596         * m4/closeout.m4: New file.
129598         Module stdio-safer.
129599         * m4/stdio-safer.m4: New file.
129601         Module getpass.
129602         * m4/getpass.m4: New file.
129604         Module getugroups.
129605         * m4/getugroups.m4: New file.
129607         Module group-member.
129608         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
129609         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
129611         Module idcache.
129612         * m4/idcache.m4: New file.
129614         Module userspec.
129615         * m4/userspec.m4: New file.
129617         Module gettime.
129618         * m4/clock_time.m4: New file.
129619         * m4/gettime.m4: New file.
129621         Module settime.
129622         * m4/settime.m4: New file.
129624         Module posixtm.
129625         * m4/posixtm.m4: New file.
129627         Module gethostname.
129628         * m4/gethostname.m4: New file.
129630         Module canon-host.
129631         * m4/canon-host.m4: New file.
129633         Module gettext.
129634         * m4/codeset.m4: New file, from gettext-0.11.5.
129635         * m4/gettext.m4: New file, from gettext-0.11.5.
129636         * m4/glibc21.m4: New file, from gettext-0.11.5.
129637         * m4/iconv.m4: New file, from gettext-0.11.5.
129638         * m4/intdiv0.m4: New file, from gettext-0.11.5.
129639         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
129640         * m4/inttypes.m4: New file, from gettext-0.11.5.
129641         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
129642         * m4/isc-posix.m4: New file, from gettext-0.11.5.
129643         * m4/lcmessage.m4: New file, from gettext-0.11.5.
129644         * m4/lib-ld.m4: New file, from gettext-0.11.5.
129645         * m4/lib-link.m4: New file, from gettext-0.11.5.
129646         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
129647         * m4/progtest.m4: New file, from gettext-0.11.5.
129648         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
129649         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
129650         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
129652         Module localcharset.
129653         * m4/localcharset.m4: New file.
129655         Module hard-locale.
129656         * m4/hard-locale.m4: New file.
129658         Module mbswidth.
129659         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
129660         onceonly macros.
129661         * m4/mbrtowc.m4: Add comment.
129663         Module memcasecmp.
129664         * m4/memcasecmp.m4: New file.
129666         Module memcoll.
129667         * m4/memcoll.m4: New file.
129669         Module unicodeio.
129670         * m4/unicodeio.m4: New file.
129672         Module rpmatch.
129673         * m4/rpmatch.m4: New file.
129675         Module yesno.
129676         * m4/yesno.m4: New file.
129678         Module exitfail.
129679         * m4/exitfail.m4: New file.
129681         Module c-stack.
129682         * m4/c-stack.m4 (gl_C_STACK): New macro.
129683         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
129685         Module error.
129686         * m4/error.m4 (gl_ERROR): New macro.
129687         (jm_PREREQ_ERROR): Use onceonly macros.
129689         Module fatal.
129690         * m4/fatal.m4: New file.
129692         Module getloadavg.
129693         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
129694         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
129696         Module getpagesize.
129697         * m4/getpagesize.m4: New file.
129699         Module getusershell.
129700         * m4/getusershell.m4: New file.
129702         Module physmem.
129703         * m4/physmem.m4: New file.
129705         Module posixver.
129706         * m4/posixver.m4: New file.
129708         Module quotearg.
129709         * m4/quotearg.m4: New file.
129711         Module quote.
129712         * m4/quote.m4: New file.
129714         Module readutmp.
129715         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
129717         Module sig2str.
129718         * m4/sig2str.m4: New file.
129720         Other.
129721         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
129722         ulonglong.m4.
129723         * m4/intmax_t.m4: New file.
129724         * m4/d-type.m4: Indentation.
129725         * m4/jm-macros.m4: Update.
129726         * m4/prereq.m4 (jm_PREREQ): Update.
129727         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
129728         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
129729         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
129730         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
129731         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
129732         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
129733         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
129734         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
129735         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
129736         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
129737         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
129738         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
129739         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
129740         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
129741         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
129742         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
129743         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
129744         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
129745         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
129747 2002-12-24  Bruno Haible  <bruno@clisp.org>
129749         * MODULES.txt: Update according to m4/ changes.
129751         Module gettext.
129752         * config.rpath: New file, from gettext-0.11.5.
129754         * modules/*: New module descriptions.
129755         * gnulib-tool: New file.
129756         * MODULES.html.sh: New file.
129758 2002-12-21  Karl Berry  <karl@gnu.org>
129760         * doc/fdl.texi: update to version 1.2.
129762 2002-12-19  Karl Berry  <karl@gnu.org>
129764         * config/config.guess: update from prep.
129766 2002-12-18  Bruno Haible  <bruno@clisp.org>
129768         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
129769         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
129771 2002-12-17  Bruno Haible  <bruno@clisp.org>
129773         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
129774         stdlib.h, string.h.
129776 2002-12-17  Bruno Haible  <bruno@clisp.org>
129778         * lib/canon-host.c (strdup): Remove unused declaration.
129780         * lib/fsusage.c: Include full_read.h.
129781         (get_fs_usage): Use full_read instead of safe_read.
129783         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
129785 2002-12-12  Karl Berry  <karl@gnu.org>
129787         * config/config.guess: update from prep.
129789 2002-12-11  Bruno Haible  <bruno@clisp.org>
129791         * m4/setenv.m4: New file, from gettext-0.11.5.
129793 2002-12-11  Bruno Haible  <bruno@clisp.org>
129795         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
129796         not unsetenv().
129797         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
129798         modifications:
129800         2002-12-11  Bruno Haible  <bruno@clisp.org>
129802                 * setenv.c (alloca): Fall back to malloc.
129803                 (freea): New macro.
129804                 (setenv): Use freea() to free memory allocated with alloca().
129806         2002-11-13  Bruno Haible  <bruno@clisp.org>
129808                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
129809                 function declarations.
129810                 * unsetenv.c (unsetenv): Likewise.
129812         2002-03-04  Bruno Haible  <bruno@clisp.org>
129814                 Portability to AIX 4.3.3.
129815                 * unsetenv.c: New file, extracted from setenv.c.
129816                 * setenv.c: Move the unsetenv() function to unsetenv.c.
129818         2001-12-20  Bruno Haible  <bruno@clisp.org>
129820                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
129821                 use malloc instead. For SunOS 4.
129823         2001-12-11  Bruno Haible  <bruno@clisp.org>
129825                 * setenv.c: Declare alloca.
129826                 (compar_fn_t): New typedef.
129827                 (KNOWN_VALUE, STORE_VALUE): Use it.
129829         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
129830         setenv.h.
129832 2002-12-10  Paul Eggert  <eggert@twinsun.com>
129834         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
129835         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
129836         Choose values that are less likely to collide with system fnmatch
129837         options.
129838         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
129839         defined (e.g., a pure POSIX system).
129840         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
129841         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
129843 2002-12-06  Paul Eggert  <eggert@twinsun.com>
129845         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
129846         a pain in practice to deal with generated m4 files.  This change
129847         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
129849         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
129850         and jm-glibc-io.m4, as they are no longer a special case.
129851         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
129852         kludge and the auto-generation stuff.  Check only whether the
129853         functions are declared, not whether they exist, since older hosts
129854         that don't declare the functions can't use the optimization anyway.
129856 2002-12-06  Jim Meyering  <jim@meyering.net>
129858         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
129860         Merge in changes from libc's misc/error.c, in preparation
129861         for the merge of gnulib's changes back into libc.
129863         * lib/error.c (_): Define only if not already defined.
129864         Move definition to follow all #include directives.
129865         Include unlocked-io.h only if !_LIBC.
129866         [_LIBC]: Include <libio/libioP.h>.
129867         [USE_IN_LIBIO]: Include <libio/iolibio.h>
129868         (fflush): Tweak definition to use INTUSE.
129869         (putc): Define.
129871 2002-12-05  Paul Eggert  <eggert@twinsun.com>
129873         * lib/alloca.c [defined emacs]: Include "lisp.h".
129874         (xalloc_die) [defined emacs]: New macro.
129875         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
129876         [! defined emacs]: Include <xalloc.h>.
129877         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
129878         (pointer): Typedef to POINTER_TYPE *.
129879         (malloc): Remove decl; we now always use xmalloc.
129880         (alloca): Use old-style definition, since Emacs needs this.
129881         Check for arithmetic overflow when computing combined size.
129883 2002-12-04  Paul Eggert  <eggert@twinsun.com>
129885         Do not generate unlocked-io.h automatically, since it's easier to
129886         maintain it by hand.
129888         * lib/unlocked-io.h: New file, from GNU diffutils,
129889         but with proper copyright notice and attribution.
129890         * lib/gen-uio: Remove.
129891         * lib/Makefile.am: Add copyright notice.
129892         (libfetish_a_SOURCES): Add unlocked-io.h.
129893         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
129894         (DISTCLEANFILES, io_functions): Remove macros.
129895         (EXTRA_DIST): Remove gen_uio.
129896         (unlocked-io.h): Remove rule.
129898 2002-12-04  Jim Meyering  <jim@meyering.net>
129900         Reflect the fact that stat.c and lstat.c are no longer generated.
129901         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
129902         (DISTCLEANFILES): Likewise.
129903         (EXTRA_DIST): Likewise.
129904         (all_local): Don't depend on stat.c or lstat.c.
129905         (stat.c, lstat.c): Remove rules.
129906         (EXTRA_DIST): Remove xstat.in.
129908         * lib/xstat.in: Remove file.  Contents moved into stat.c.
129909         * lib/stat.c: New file.  Contents mostly from xstat.in.
129910         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
129911         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
129913         * lib/safe-read.c: Rework so that it may serve to define safe_write,
129914         too.
129915         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
129917 2002-12-03  Jim Meyering  <jim@meyering.net>
129919         * lib/safe-read.c, safe-write.c: Change variable names and comments,
129920         but not semantics, to minimize the differences between these two files.
129921         (safe_read): Change comment to mention SAFE_READ_ERROR.
129923         * lib/safe-read.c (IS_EINTR): Define.
129924         (safe_read): Use IS_EINTR in place of in-function cpp directives.
129926 2002-12-02  Jim Meyering  <jim@meyering.net>
129928         * lib/safe-read.c (EINTR): Define.
129929         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
129930         (INT_MAX): Provide fallback.
129931         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
129933         * lib/safe-read.h (SAFE_READ_ERROR): Define.
129935 2002-12-02  Bruno Haible  <bruno@clisp.org>
129937         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
129938         Define, taken from safe-read.c.
129939         (INT_MAX): Provide fallback.
129940         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
129941         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
129943         * lib/safe-read.c (EINTR): Remove definition.
129944         (safe_read): Don't use EINTR if it is absent.
129946 2002-12-01  Jim Meyering  <jim@meyering.net>
129948         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
129949         zero.
129950         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
129952 2002-11-27  Paul Eggert  <eggert@twinsun.com>
129954         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
129955         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
129956         with `if (! (value < limit)) abort ();', for readability.
129958 2002-11-26  Karl Berry  <karl@gnu.org>
129960         * lib/strdup.c: copy from libc again, with jim's ok.
129961         * lib/.cppi-disable: re-add strdup.c
129963 2002-11-25  Karl Berry  <karl@gnu.org>
129965         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
129966         instead of "strtol.c".
129968 2002-11-25  Karl Berry  <karl@gnu.org>
129970         * config/install-sh: update from automake for variable quoting, $0 in
129971         error msgs, etc.
129973         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
129974         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
129975         entry.
129977 2002-11-25  Jim Meyering  <jim@meyering.net>
129979         * lib/mktime.c: Sync from libc, now that it has the latest fix.
129981 2002-11-24  Karl Berry  <karl@gnu.org>
129983         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
129984         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
129986 2002-11-24  Jim Meyering  <jim@meyering.net>
129988         Update from coreutils:
129990         * lib/mktime.c: Merge in changes from libc.
129992         Avoid a link-time failure on some Linux systems.
129993         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
129994         (otherwise).
129995         (__mon_yday): Declare with the STATIC attribute.
129996         (__mktime_internal): Likewise.
129997         Based on a report from Greg Schafer.
129999 2002-11-23  Jim Meyering  <jim@meyering.net>
130001         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
130002         Use `unsigned', not `int', as type of index.
130004         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
130006         * lib/fsusage.c: Remove unneeded parentheses around operands of
130007         `defined'.
130009 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130011         * lib/quotearg.h: Allow multiple inclusion by surrounding with
130012         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
130013         so that we can be included first.
130014         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
130015         * lib/quotearg.c: Include quotearg.h immediately after config.h.
130016         No need to include stddef.h or sys/types.h any more.
130017         Surround local include files with "", not "<>".
130018         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
130019         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
130020         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
130021         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
130022         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
130023         (ISPRINT): Remove; no longer needed now that we assume C89.
130025         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
130026         Preserve errno.
130028         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
130029         quotearg_char): Use SIZE_MAX rather than
130030         (size_t) -1 when we are talking about "infinity".
130032         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
130034 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130036         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
130037         hint that one should use `if (! x) abort ();' rather than `assert
130038         (x);', and anyway it's one less thing to worry about configuring.
130039         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
130040         hash_rehash, hash_insert): Use abort rather than assert.
130042 2002-11-22  Bruno Haible  <bruno@clisp.org>
130044         * lib/safe-read.h: Assume C89. Add comments.
130045         (safe_read): Change return type to size_t.
130046         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
130047         byte counts > SSIZE_MAX correctly.
130048         * lib/safe-write.h: New file.
130049         * lib/safe-write.c: New file.
130050         * lib/full-read.h: New file.
130051         * lib/full-read.c: New file.
130052         * lib/full-write.h: Assume C89. Add comments.
130053         * lib/full-write.c: Include safe-write.h.
130054         (full_write): Rewritten to use safe_write.
130055         Suggested by Jim Meyering and Paul Eggert.
130057 2002-11-21  Jim Meyering  <jim@meyering.net>
130059         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
130061         Merge in changes from the coreutils.
130063         2002-09-25  Paul Eggert  <eggert@twinsun.com>
130064         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
130065         <stdint.h>.
130066         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
130067         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
130068         int.  Work more efficiently if X is the same width as uintmax_t.
130069         Do not compare X to -1, to avoid bogus compiler warning.
130070         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
130071         Don't assume that f_frsize and f_bsize are the same type.
130073         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
130074         warning on FreeBSD.
130076         * lib/makepath.c (make_path): Restore umask *before* creating the final
130077         component.
130078         (make_path): Minor reformatting.
130080         * lib/xmalloc.c: Adjust to work with new autoconf macros,
130081         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
130082         HAVE_MALLOC/HAVE_REALLOC.
130084         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
130085         dummy ones.  At least on GNU/Linux systems, `auto' means something
130086         else.
130087         From Michael Stone.
130089 2002-11-21  Bruno Haible  <bruno@clisp.org>
130091         Remove case insensitive option matching.
130092         * lib/argmatch.h (argcasematch): Remove declaration.
130093         (ARGCASEMATCH): Remove macro.
130094         (__xargmatch_internal): Remove case_sensitive argument.
130095         (XARGMATCH): Update.
130096         (XARGCASEMATCH): Remove macro.
130097         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
130098         case_sensitive argument.
130099         (argcasematch): Remove function.
130100         (__xargmatch_internal): Remove case_sensitive argument.
130101         (main): Use XARGMATCH instead of XARGCASEMATCH.
130103         * lib/xmalloc.c: Change compile-time error message. Add comment about
130104         required autoconf version.
130106 2002-11-20  Paul Eggert  <eggert@twinsun.com>
130108         Merge argmatch cleanups from Bison.  Assume C89.
130110         * lib/argmatch.c: Include config.h here, not in argmatch.h.
130111         Include stdlib.h, for EXIT_FAILURE.
130112         Always include <string.h>, since we assume C89.
130113         (EXIT_FAILURE): Remove pre-C89 bug workaround.
130114         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
130115         Include <stddef.h> instead, since it's all we need for size_t.
130116         (PARAMS): Remove.  All uses removed.
130117         (ARRAY_CARDINALITY): Do not bother to #undef.
130118         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
130119         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130120         Remove unnecessary parentheses.
130121         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130122         Insert necessary parentheses.
130123         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
130124         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
130126 2002-11-19  Bruno Haible  <bruno@clisp.org>
130128         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
130129         * lib/mbswidth.h: Include <stddef.h>, for size_t.
130131         * lib/mbswidth.h (PARAMS): Remove macro.
130132         (mbswidth, mbsnwidth): Use ANSI C function declarations.
130133         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
130135         * lib/gcd.h (PARAMS): Remove macro.
130136         (gcd): Use ANSI C function declarations.
130137         * lib/gcd.c (gcd): Likewise.
130139 2002-11-15  Bruno Haible  <bruno@clisp.org>
130141         * lib/strcspn.c: Include <stddef.h>.
130142         (strcspn): Use ANSI C function declaration. Change return type to
130143         size_t. Use NULL.
130144         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
130145         (strpbrk): Use NULL.
130146         * lib/strpbrk.h (PARAMS): Remove macro.
130147         (strpbrk): Use ANSI C function declaration.
130148         * lib/strstr.c: Don't include <sys/types.h>.
130149         * lib/strstr.h (PARAMS): Remove macro.
130150         (strstr): Use ANSI C function declarations.
130152 2002-11-14  Karl Berry  <karl@gnu.org>
130154         * config/mkinstalldirs: `do' on separate line, instead of
130155         `for var; do'.
130157 2002-11-06  Bruno Haible  <bruno@clisp.org>
130159         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
130160         * lib/gcd.c (gcd): Likewise.
130162 2002-11-05  Bruno Haible  <bruno@clisp.org>
130164         * lib/gcd.h: New file, from gettext-0.11.5.
130165         * lib/gcd.c: New file, from gettext-0.11.5.
130167 2002-11-05  Bruno Haible  <bruno@clisp.org>
130169         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130170         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130171         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130172         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130174         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
130175         <libintl.h>.
130176         * lib/makepath.c: Include gettext.h instead of <locale.h> and
130177         <libintl.h>.
130179         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
130180         * lib/human.c: Include gettext.h instead of <libintl.h>.
130181         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
130182         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
130183         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
130184         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
130185         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
130186         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
130187         (textdomain): Remove definition.
130188         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
130190         * lib/long-options.c: Remove include of <libintl.h> and definition of
130191         _.
130192         * lib/same.c: Remove include of <libintl.h> and definition of _.
130194 2002-11-04  Owen Taylor  <otaylor@redhat.com>
130196         * lib/config.charset: A few additions for Solaris.
130198 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130200         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
130201         * lib/localcharset.c (locale_charset): Declare as extern "C".
130203 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130205         * lib/config.charset: msdos in uk_UA uses CP1125.
130207 2002-11-04  Bruno Haible  <bruno@clisp.org>
130209         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
130210         * lib/strcase.h: New file, from GNU gettext-0.11.5.
130211         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
130212         * lib/strstr.h: New file, from GNU gettext-0.11.5.
130213         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
130215 2002-11-04  Bruno Haible  <bruno@clisp.org>
130217         * lib/localcharset.c (locale_charset): Don't return an empty string.
130219 2002-11-04  Bruno Haible  <bruno@clisp.org>
130221         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
130222         aliases.
130224 2002-11-04  Bruno Haible  <bruno@clisp.org>
130226         * lib/config.charset: Update for newest glibc. Add canonical names
130227         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
130229 2002-11-04  Bruno Haible  <bruno@clisp.org>
130231         * lib/config.charset: Add support for NetBSD.
130233 2002-11-04  Bruno Haible  <bruno@clisp.org>
130235         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
130237 2002-11-01  Bruno Haible  <bruno@clisp.org>
130239         * configure.in: Add AC_CONFIG_AUX_DIR call.
130240         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
130241         test/Makefile.
130242         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
130244 2002-09-28  Karl Berry  <karl@gnu.org>
130246         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
130247         installed automake until the next release, since changes have been
130248         made.
130250 2002-09-25  Karl Berry  <karl@gnu.org>
130252         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
130253         * lib/getopt*: copy from libc/posix.
130254         * lib/gettext.h: copy from gettext.
130255         * lib/.cppi-disable: add strdup.c, gettext.h.
130257 2002-09-25  Karl Berry  <karl@gnu.org>
130259         * config/srclist.txt: enable gettext.h check.
130260         * config/config.{guess,sub}: update from prep.
130261         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
130262                 from automake 1.6.3.
130263         See srclist*.
130265 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
130267         * regex.c (PATFETCH): Remove the translating fetch.
130268         (PATFETCH_RAW): Rename to PATFETCH.
130269         (set_image_of_range): New fun.
130270         (SET_RANGE_TABLE_WORK_AREA): Use it.
130271         (regex_compile): Don't translate the pattern chars so eagerly.
130272         Only do it when inserting an `exactn' bytecode or when handling
130273         a char-range.
130274         (mutually_exclusive_p): Avoid empty statement.
130276 2002-07-06  Jim Meyering  <meyering@lucent.com>
130278         * m4/README: Don't mention Makefile.am.in.
130279         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
130281 2002-07-01  Jim Meyering  <meyering@lucent.com>
130283         * lib/c-stack.c: Include sys/time.h.
130284         From Volker Borchert.
130286 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130288         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
130290 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130292         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
130293         New macro.  Use it uniformly instead of
130294         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
130295         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
130296         reported by Vin Shelton.
130298 2002-06-22  Paul Eggert  <eggert@twinsun.com>
130300         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
130301         Do not assume SA_SIGINFO behavior.
130302         Bug reported by Jim Meyering on NetBSD 1.5.2.
130304 2002-06-22  Jim Meyering  <meyering@lucent.com>
130306         * m4/c-stack.m4: New file, from diffutils-2.8.2.
130307         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
130309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
130310         now that configure.ac uses AC_GNU_SOURCE.
130311         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
130312         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
130314         Update to latest tools.  Suggestions from Paul Eggert.
130315         * m4/stdbool.m4: New file, from diffutils-2.8.2.
130316         * m4/gnu-source.m4: Update from diffutils-2.8.2.
130317         * m4/fnmatch.m4: Likewise.
130318         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
130319         to AC_HEADER_STDBOOL
130321 2002-06-22  Jim Meyering  <meyering@lucent.com>
130323         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
130324         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
130326 2002-06-22  Jim Meyering  <meyering@lucent.com>
130328         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
130330         * lib/exitfail.c, exitfail.h: Likewise.
130331         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
130333         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
130334         of fnmatch.h.
130335         (EXTRA_DIST): Add fnmatch_loop.c.
130336         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
130338         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
130339         * lib/fnmatch.c: Update from diffutils-2.8.2.
130340         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
130341         * lib/fnmatch.h: Remove file.
130343 2002-06-21  Jim Meyering  <meyering@lucent.com>
130345         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
130346         * m4/mbrtowc.m4: Likewise.
130348         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
130349         * m4/mbswidth.m4: Reflect name change:
130350         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
130351         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130353         * m4/lib-link.m4: Update from gettext-0.11.2.
130354         * m4/gettext.m4: Likewise.
130356         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
130357         From Alfred M. Szmidt.
130359 2002-06-18  Paul Eggert  <eggert@twinsun.com>
130361         * lib/file-type.h: Report an error if neither S_ISREG nor
130362         S_IFREG is defined, instead of using a test specific to glibc
130363         2.2.  This should be safe, since POSIX requires S_ISREG and
130364         Unix Version 7 had S_IFREG.  We don't need to check for
130365         <sys/types.h> since we don't use any symbols that it defines.
130367 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
130369         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
130370         $@-t, so that each temporary file name is unique and valid in the first
130371         8 characters, for operation under DOS.
130373 2002-06-15  Paul Eggert  <eggert@twinsun.com>
130375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
130377 2002-06-15  Jim Meyering  <meyering@lucent.com>
130379         Work even with DJGPP 2.03, which lacks support for symlinks.
130380         From Richard Dawe.
130381         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
130382         is defined.
130383         * lib/lchown.c (S_ISLNK): Likewise.
130385 2002-06-15  Jim Meyering  <meyering@lucent.com>
130387         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
130388         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
130389         have been included before this file.
130391 2002-06-14  Jim Meyering  <meyering@lucent.com>
130393         * lib/file-type.h: Use the version from diffutils-2.8.2.
130394         * lib/file-type.c: Likewise.
130396 2002-06-07  Jim Meyering  <meyering@lucent.com>
130398         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
130399         They're needed at least for NetBSD 1.5.2.
130400         ($statxfs_includes): Include those same headers.
130401         ($statxfs_includes): Include sys/vfs.h if available.
130402         ($statxfs_includes): Likewise for sys/statvfs.h.
130403         Check for the following members in both structs statfs and statvfs:
130404         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
130406 2002-06-01  Jim Meyering  <meyering@lucent.com>
130408         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
130409         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
130411 2002-05-28  Jim Meyering  <meyering@lucent.com>
130413         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
130414         Reported by Volker Borchert.
130416 2002-05-27  Jim Meyering  <meyering@lucent.com>
130418         Fix a problem seen only on nonconforming systems whereby ls.c's
130419         use of localtime, and then of gettimeofday would cause trouble:
130420         the localtime call used to initialize rpl_gettimeofday's save
130421         mechanism would clobber ls's current local time information so
130422         that in any long listing the first file would always be listed
130423         with date 1970-01-01.  Analysis by Volker Borchert.
130425         * lib/gettimeofday.c (localtime): Undefine.
130426         (rpl_localtime): New function.
130428 2002-05-27  Jim Meyering  <meyering@lucent.com>
130430         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
130431         localtime.
130433         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
130434         use the replacement function; it wouldn't resolve at link time.
130435         Reported by Volker Borchert.
130437 2002-05-22  Jim Meyering  <meyering@lucent.com>
130439         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
130440         file-type.h.
130441         * lib/file-type.h: New file.
130442         * lib/file-type.c (file_type): New file/function.  Extracted from
130443         diffutils.
130445 2002-04-30  Jim Meyering  <meyering@lucent.com>
130447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
130449 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130451         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
130453 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130455         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
130456         Do not check for alloca.h (no longer used) or stdbool.h (was never
130457         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
130459 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130461         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
130463 2002-04-29  Jim Meyering  <meyering@lucent.com>
130465         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
130466         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
130467         Use AC_FUNC_STRNLEN here instead.
130469         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
130470         With autoconf-2.53a, it's part of AC_PROG_CC.
130472 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130474         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
130475         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
130477 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130479         * lib/sig2str.h, lib/sig2str.c: New files.
130480         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
130482 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130484         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
130485         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
130486         of 127, since 64 is the largest conceivable number for ancient
130487         nonstandard hosts.
130488         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
130490 2002-04-28  Jim Meyering  <meyering@lucent.com>
130492         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
130494 2002-04-24  Jim Meyering  <meyering@lucent.com>
130496         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
130497         (jm_PREREQ): Use it.
130499         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
130500         mach/mach.h fcntl.h.
130501         Check for this function: setlocale.
130503 2002-04-24  Jim Meyering  <meyering@lucent.com>
130505         * lib/gettext.h: New file, from Gettext.
130506         * lib/Makefile.am (INCLUDES): Remove -I../intl.
130507         (libfetish_a_SOURCES): Add gettext.h.
130509 2002-04-16  Jim Meyering  <meyering@lucent.com>
130511         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
130512         ut_pid, ut_id, ut_exit.
130514 2002-04-16  Jim Meyering  <meyering@lucent.com>
130516         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
130517         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
130518         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
130520 2002-04-12  Jim Meyering  <meyering@lucent.com>
130522         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
130523         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
130524         existence of the getmntinfo function.  Needed for Darwin 5.3.
130526         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
130527         This is necessary at least on Darwin 5.3.
130529         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
130530         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
130531         strnlen.o in the library, and that makes some versions of ranlib
130532         object.
130534 2002-04-12  Jim Meyering  <meyering@lucent.com>
130536         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
130538 2002-04-09  Jim Meyering  <meyering@lucent.com>
130540         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
130541         to be more precise.  Rather than saying we're checking whether the
130542         function `works', say what we're testing.
130543         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
130544         Reported by Bruno Haible.
130546 2002-03-10  Jim Meyering  <meyering@lucent.com>
130548         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
130549         Suggestion from Santiago Vila.
130551 2002-03-08  Jim Meyering  <meyering@lucent.com>
130553         * lib/rename.c: Mention that this wrapper is needed also on
130554         mips-dec-ultrix4.4 systems.
130556 2002-03-02  Jim Meyering  <meyering@lucent.com>
130558         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
130559         not HAVE_CLOCK_SETTIME.
130561 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130563         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
130564         Check for clock_settime.
130566 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130568         * lib/nanosleep.h: Rename to....
130569         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
130571         * lib/gettime.c: New file.
130572         * lib/settime.c: New file.
130573         * lib/stime.c: Remove.
130575         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
130576         timespec.h.  Remove nanosleep.h.
130578 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130580         * m4/acl.m4: New file.
130581         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
130582         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
130584 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130586         * lib/acl.c, lib/acl.h: New files.
130587         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
130589 2002-02-24  Jim Meyering  <meyering@lucent.com>
130591         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
130592         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
130593         cause trouble.  Reported by Nelson Beebe.
130595 2002-02-23  Paul Eggert  <eggert@twinsun.com>
130597         * lib/path-concat.c (xpath_concat): Reorder code to pacify
130598         compilers that don't know that xalloc_die never returns.
130600 2002-02-20  Jim Meyering  <meyering@lucent.com>
130602         * lib/getdate.c: Regenerate using bison-1.33.
130604 2002-02-17  Jim Meyering  <meyering@lucent.com>
130606         * config/config.guess (main): Don't use `head -1'; it's no longer
130607         portable. Use `sed 1q' instead.
130609 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
130611         * m4/codeset.m4: Upgrade to gettext-0.11.
130612         * m4/gettext.m4: Upgrade to gettext-0.11.
130613         * m4/glibc21.m4: Upgrade to gettext-0.11.
130614         * m4/iconv.m4: Upgrade to gettext-0.11.
130615         * m4/isc-posix.m4: Upgrade to gettext-0.11.
130616         * m4/lcmessage.m4: Upgrade to gettext-0.11.
130617         * m4/lib-ld.m4: New file, from gettext-0.11.
130618         * m4/lib-link.m4: New file, from gettext-0.11.
130619         * m4/lib-prefix.m4: New file, from gettext-0.11.
130620         * m4/progtest.m4: Upgrade to gettext-0.11.
130622 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130624         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
130625         (jm_PREREQ): Use it.
130627 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130629         * lib/posixver.c, lib/posixver.h: New files.
130630         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130632 2002-02-02  Paul Eggert  <eggert@twinsun.com>
130633             Bruno Haible  <bruno@clisp.org>
130635         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
130636         (fwrite_success_callback): New declaration.
130637         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
130638         print_unicode_char. Call failure callback instead of error.
130639         (fwrite_success_callback): New function.
130640         (exit_failure_callback): New function.
130641         (fallback_failure_callback): New function.
130642         (print_unicode_char): Call unicode_to_mb.
130644 2002-01-26  Jim Meyering  <meyering@lucent.com>
130646         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
130647         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
130649 2002-01-26  Jim Meyering  <meyering@lucent.com>
130651         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
130653 2002-01-22  Paul Eggert  <eggert@twinsun.com>
130655         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
130657 2002-01-22  Jim Meyering  <meyering@lucent.com>
130659         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
130660         Otherwise, some versions of automake would omit the rule that makes
130661         Makefile from Makefile.in.
130663 2002-01-21  Paul Eggert  <eggert@twinsun.com>
130665         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
130666         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130667         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
130668         (memcoll): Set errno to zero if there is no error.
130670         * lib/quotearg.c (quotearg_buffer_restyled):
130671         Fix bug with quoting buffers containing NUL when backslashing escapes.
130672         This bug was exposed by the other changes in this patch.
130673         (quotearg_n_options): New arg ARGSIZE.
130674         All callers changed.
130675         (quoting_options_from_style): New function.
130676         (quotearg_n_style): Use it.
130677         (quotearg_n_style_mem): New function.
130679         * lib/quotearg.h (quotearg_n_style_mem): New function.
130681 2002-01-19  Jim Meyering  <meyering@lucent.com>
130683         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
130684         Remove useless quotes: DF_PROG="df".
130685         * m4/strnlen.m4: New file.
130687 2002-01-16  Paul Eggert  <eggert@twinsun.com>
130689         * lib/backupfile.c (ISDIGIT): Comment fix.
130690         * lib/getdate.y (ISDIGIT): Likewise.
130691         * lib/posixtm.c (ISDIGIT, year): Likewise.
130692         * lib/strverscmp.c (ISDIGIT): Likewise.
130693         * lib/userspec.c (ISDIGIT): Likewise.
130695 2002-01-16  Jim Meyering  <meyering@lucent.com>
130697         * lib/getdate.y: Add three semicolons, each just before a closing
130698         brace. Bison (as of version 1.31) no longer papers over that mistake.
130700 2002-01-05  Jim Meyering  <meyering@lucent.com>
130702         * lib/version-etc.c (version_etc_copyright): Update copyright year.
130704 2001-12-19  Paul Eggert  <eggert@twinsun.com>
130706         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
130707         not silently exit merely because the output buffer happens to
130708         have nothing pending.
130710 2001-12-18  Paul Eggert  <eggert@twinsun.com>
130712         See the big note in ../ChangeLog.
130713         * lib/human.c (suffixes): Prefer K to k for 1024.
130714         (generate_suffix_backwards): New function.
130715         (human_readable_inexact): Use it.
130716         * lib/xstrtol.c (__xstrtol): If there is no number but there
130717         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
130718         Accept 'K' as well as 'k'.
130720 2001-12-15  Jim Meyering  <meyering@lucent.com>
130722         * lib/regex.h (__restrict_arr): Update from libc.
130724         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
130725         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
130726         (STREQ): Define.
130728 2001-12-14  Jim Meyering  <meyering@lucent.com>
130730         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
130731         Suggestion from Bruno Haible.
130733 2001-12-10  Jim Meyering  <meyering@lucent.com>
130735         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
130736         xrealloc, Instead, include "xalloc.h".
130737         (initbuffer): Don't cast xmalloc return value to char*.
130738         (readline): Reword comment.
130739         Don't cast xrealloc return value to char*
130740         Return NULL, not 0.
130742 2001-12-09  Jim Meyering  <meyering@lucent.com>
130744         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
130745         about `signed and unsigned type in conditional expression'.
130746         * lib/posixtm.c (posix_time_parse): Likewise.
130748         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
130750         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
130751         to avoid a pedantic warning.
130753         * lib/getstr.c: Don't include assert.h.
130754         (getstr): Remove warning-evoking assertions.
130755         Return -1 if offset parameter is out of bounds.
130756         Change the type of a local from int to size_t.
130758         * lib/strftime.c (my_strftime_localtime_r): Include this function
130759         definition in the `#if ! HAVE_TM_GMTOFF' block.
130761         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
130762         Include xalloc.h instead.
130764 2001-12-02  Jim Meyering  <meyering@lucent.com>
130766         * lib/tempname.c: Don't declare getenv, thus reverting the change of
130767         2001-11-18.  It's no longer necessary, now that stdlib.h is always
130768         included.
130770         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
130771         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
130773 2001-11-30  Akim Demaille  <akim@epita.fr>
130775         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
130776         before being defined.
130778 2001-11-27  Paul Eggert  <eggert@twinsun.com>
130780         * lib/quotearg.h (quotearg_n, quotearg_n_style):
130781         First arg is int, not unsigned.
130782         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
130783         (SIZE_MAX, UINT_MAX): New macros.
130784         (quotearg_n_options): Abort if N is negative.
130785         Avoid overflow check on hosts where size_t is 64 bits and int
130786         is 32 bits, as overflow is impossible there.
130787         Fix off-by-one typo that caused unnecessary reallocation.
130789 2001-11-27  Jim Meyering  <meyering@lucent.com>
130791         * lib/tempname.c: Merge with version from libc.
130792         * lib/regex.c: Likewise.
130794         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
130795         systems for which STDC_HEADERS is 0, it was not included, resulting in
130796         a warning about an integer-to-pointer conversion problem with getenv.
130797         Reported by Volker Borchert.
130799 2001-11-26  Jim Meyering  <meyering@lucent.com>
130801         * lib/gtod.h: Remove file.
130802         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
130803         * lib/gettimeofday.c: Don't include gtod.h.
130804         (GTOD_init): Remove function.
130805         (rpl_gettimeofday): Do its job here instead, rather than aborting.
130806         Suggestion from Volker Borchert.
130808 2001-11-23  Jim Meyering  <meyering@lucent.com>
130810         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
130811         it.
130812         * lib/hash.c (struct hash_table): Define it here instead.
130814 2001-11-22  Jim Meyering  <meyering@lucent.com>
130816         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
130818 2001-11-20  Jim Meyering  <meyering@lucent.com>
130820         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
130821         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
130823 2001-11-19  Jim Meyering  <meyering@lucent.com>
130825         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
130826         directory.  Use "conftestXXXXXX" as the template.
130827         Suggestion from Paul Eggert.
130829         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
130830         immediately, so the test doesn't mistakenly hit the max-open-files
130831         limit.
130833 2001-11-18  Paul Eggert  <eggert@twinsun.com>
130835         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
130836         (TEMPORARIES): New macro.
130837         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
130838         removes an artificial limitation (e.g. HP-UX 10.20, where
130839         TMP_MAX is 17576).
130841 2001-11-18  Jim Meyering  <meyering@lucent.com>
130843         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
130845 2001-11-18  Jim Meyering  <meyering@lucent.com>
130847         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
130848         on SunOS 4.
130850         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
130851         files will be created before anything else.
130853 2001-11-17  Paul Eggert  <eggert@twinsun.com>
130855         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
130856         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
130858 2001-11-17  Jim Meyering  <meyering@lucent.com>
130860         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
130861         Prompted by a report from Bob Proulx.
130863         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
130864         Instead, require UTILS_FUNC_MKSTEMP.
130866 2001-11-17  Jim Meyering  <meyering@lucent.com>
130868         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
130869         Now, that's done as part of AC_FUNC_STRTOD.
130871 2001-11-17  Jim Meyering  <meyering@lucent.com>
130873         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
130874         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
130875         rather than group writable.  Patch by Juan F. Codagnone.
130877         * lib/readtokens.c: Remove explicit declarations of xmalloc and
130878         xrealloc, Instead, include "xalloc.h".
130880         * lib/mountlist.c: Include unlocked-io.h after all system headers.
130881         Remove explicit declarations of xmalloc, xrealloc,
130882         and xstrdup.  Instead, include "xalloc.h".
130884         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
130885         unlocked-io.h.
130886         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
130887         Likewise.
130888         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
130890         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
130891         Reported by Padraig Brady.
130893         * lib/mkstemp.c: #undef mkstemp.
130894         Include config.h.
130895         (rpl_mkstemp): Rename from mkstemp.
130896         Protoize.
130898 2001-11-16  Jim Meyering  <meyering@lucent.com>
130900         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
130901         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
130902         determine the amount of total physical memory, use pstat_getstatic.
130903         HPUX-11 doesn't define _SC_PHYS_PAGES.
130904         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
130905         If sysconf couldn't be used to determine the amount of available
130906         physical memory, use both pstat_getstatic and pstat_getdynamic.
130907         Based on a patch from Bob Proulx.
130909 2001-11-10  Jim Meyering  <meyering@lucent.com>
130911         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
130912         (jm_PREREQ): Use it.
130914 2001-11-09  Jim Meyering  <meyering@lucent.com>
130916         * m4/jm-macros.m4: Require autoconf-2.52f.
130917         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
130918         Use these AC_-prefixed names, not the AM_-prefixed ones.
130920         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
130922 2001-11-05  Jim Meyering  <meyering@lucent.com>
130924         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
130926 2001-11-04  Jim Meyering  <meyering@lucent.com>
130928         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
130929         $DEFS.
130931 2001-11-03  Jim Meyering  <meyering@lucent.com>
130933         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
130934         of AC_DEFUN.
130936         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
130937         know the name of the variable in the macro definition.
130939 2001-11-03  Jim Meyering  <meyering@lucent.com>
130941         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
130942         in argmatch_to_argument call.
130944         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
130945         argument.
130947         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
130948         e.g., a fault due to an attempt to free a NULL pointer.
130950 2001-11-01  Jim Meyering  <meyering@lucent.com>
130952         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
130953         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
130955 2001-11-01  Jim Meyering  <meyering@lucent.com>
130957         * lib/dirfd.c, lib/dirfd.h: New files.
130958         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
130960         * lib/hash.c (hash_print) [TESTING]: Clean up.
130962 2001-10-22  Paul Eggert  <eggert@twinsun.com>
130964         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
130965         to avoid a warning if -Wall.
130967 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
130969         * README: New file
130970         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
130971         (per RMS's instructions, this is now the canonical source)
130972         * lgpl/, gpl/: New directories.
130974 2001-10-21  Paul Eggert  <eggert@twinsun.com>
130976         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
130978 2001-10-21  Jim Meyering  <meyering@lucent.com>
130980         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
130981         this code would end up calling gettext even in packages built
130982         with --disable-nls.
130983         * lib/getopt.c (_): Likewise.
130984         * lib/regex.c (_): Likewise.
130986 2001-10-20  Paul Eggert  <eggert@twinsun.com>
130988         * m4/error.m4 (jm_PREREQ_ERROR):
130989         Do not invoke AC_CHECK_FUNCS with strerror_r, as
130990         AC_FUNC_STRERROR_R does that.
130991         Check for strerror declaration.
130993         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
130994         are supposed to have them these days.
130995         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
130996         Merge changes from latest Autoconf CVS.
130997         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
130998         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
130999         POSIX decided to standardize on the int flavor of strerror_r.
131001 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131003         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
131004         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
131005         Use strerror_r that is only a macro, even if it is not a function.
131006         (strerror): Check for HAVE_DECL_STRERROR before declaring.
131007         (private_strerror): Use prototypes, not old-style function definition.
131008         (print_errno_message): New function.
131009         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
131010         char*-flavored one.
131011         (error_tail, error, error_at_line): Use it.
131013 2001-10-11  Jim Meyering  <meyering@lucent.com>
131015         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
131016         and quote_n (1, ... to avoid clobbering a buffer.
131018 2001-10-05  Jim Meyering  <meyering@lucent.com>
131020         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
131021         hash-pjw.h.
131022         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
131023         * lib/hash-pjw.h: New file.
131025 2001-09-30  Jim Meyering  <meyering@lucent.com>
131027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
131028         `struct fsstat' has the `f_fstypename' member.
131029         Use that to define FS_TYPE, which is now used to make
131030         the getfsstat link test tighter.
131032 2001-09-30  Jim Meyering  <meyering@lucent.com>
131034         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
131035         Include <sys/ucred.h>, for Apple Darwin.
131036         Include sys/mount.h and sys/fs_types.h only if available.
131037         (FS_TYPE): Define.
131038         (read_filesystem_list): Use FS_TYPE.
131040 2001-09-29  Paul Eggert  <eggert@twinsun.com>
131042         * lib/exclude.c (excluded_filename): 0 -> false, since it's
131043         a boolean context.
131045 2001-09-29  Jim Meyering  <meyering@lucent.com>
131047         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131048         [one-argument getmntent function]): Include stdio.h before mntent.h.
131049         SunOS 4.1.x needs it for the declaration of `FILE'.
131050         Patch by Volker Borchert.
131052         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131053         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
131054         sys/fs_types.h, and make the link-test for getfsstat guard #include
131055         directives with appropriate #if HAVE_*_H tests so that we can
131056         detect getfsstat on Apple Darwin1.3.7 systems.
131057         Reported by Nelson Beebe.
131058         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
131060 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131062         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131063         #defines strtoimax.  Also treat the other strto* functions
131064         like strtoimax.
131066         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131067         Check for strtoul and strtoumax,
131068         as those declarations are made even in the signed case.
131069         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
131070         Likewise, for strtol and strtoimax.
131072 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131074         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131075         #defines strtoimax.  Also treat the other strto* functions
131076         like strtoimax.
131078         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
131079         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
131080         (strtoimax, strtoumax): Do not declare if already defined as a macro.
131082 2001-09-26  Jim Meyering  <meyering@lucent.com>
131084         Most macros in unlocked-io.h had the wrong number of arguments.
131085         * lib/gen-uio: New script.
131086         (USE_UNLOCKED_IO): Define to 1 if not already defined.
131087         * lib/unlocked-io.hin: Remove file.
131088         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
131089         rather than trying to embed it here.
131090         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
131091         Reported by Padraig Brady.
131093 2001-09-25  Volker Borchert  <bt@teknon.de>
131095         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
131096         `result'.
131098 2001-09-24  Jim Meyering  <meyering@lucent.com>
131100         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
131102 2001-09-23  Jim Meyering  <meyering@lucent.com>
131104         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
131105         instead of the mere test for existence of mntent.h.  The latter
131106         would get a false-positive on AIX 3.4 systems.
131107         In the outer getmntent if-block, don't die if neither of the getmntent
131108         tests succeeds.  Instead, just fall through and continue with the
131109         remaining tests.
131111 2001-09-23  Jim Meyering  <meyering@lucent.com>
131113         * lib/mountlist.c: Remove useless parentheses in #if directives.
131114         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
131115         the deprecated MOUNTED symbol is no longer defined in mntent.h.
131117 2001-09-22  Jim Meyering  <meyering@lucent.com>
131119         * m4/gettext.m4: New file.  From gettext.
131120         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
131121         * m4/progtest.m4: Likewise
131122         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
131123         * m4/glibc21.m4: Likewise.
131125         * m4/libintl.m4: Remove.  No longer used.
131127 2001-09-22  Jim Meyering  <meyering@lucent.com>
131129         * lib/localcharset.c: Update from latest gettext.
131130         * lib/config.charset: Likewise.
131132 2001-09-20  Jim Meyering  <meyering@lucent.com>
131134         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
131135         strtoimax.
131136         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
131137         strtoumax.
131139 2001-09-20  Jim Meyering  <meyering@lucent.com>
131141         * lib/xstrtol.c (strtoimax): Guard declaration with
131142         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
131143         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
131144         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
131145         (strtoumax): Likewise, for completeness (it wasn't necessary).
131147 2001-09-17  Paul Eggert  <eggert@twinsun.com>
131149         * lib/strtoimax.c (HAVE_LONG_LONG):
131150         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
131151         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
131152         to work around bug in IBM C compiler.
131154 2001-09-17  Jim Meyering  <meyering@lucent.com>
131156         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
131157         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
131158         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
131159         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
131160         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
131161         whenever the right hand side need not be expanded by the shell.
131163 2001-09-16  Paul Eggert  <eggert@twinsun.com>
131165         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
131166         library.  It's not correct, as some older glibcs are buggy.
131167         fnmatch wasn't fixed until glibc 2.2.
131169         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
131170         special shell magic here.
131172 2001-09-16  Jim Meyering  <meyering@lucent.com>
131174         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
131175         * m4/jm-macros.m4: Require it.
131177 2001-09-16  Jim Meyering  <meyering@lucent.com>
131179         * lib/mkdir.c: New file.
131181 2001-09-15  Jim Meyering  <meyering@lucent.com>
131183         * m4/jm-macros.m4: Check for help2man.
131185 2001-09-11  Jim Meyering  <meyering@lucent.com>
131187         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
131188         The body, by Paul Eggert, was moved here from configure.in.
131189         * m4/jm-macros.m4: Require UTILS_HOST_OS.
131191 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131193         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
131194         (jm_PREREQ): Use it.
131196 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131198         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
131199         Use ssize_t, not int, to store result of readlink.
131200         Check for ssize_t overflow as well as size_t overflow,
131201         as POSIX says the result of readlink is implementation-defined
131202         when ssize_t overflows.
131203         Remove unnecessary cast to char*.
131204         Use free+malloc instead of realloc, as the storage doesn't need
131205         to be preserved and it's clearer and can be more efficient that way.
131206         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
131207         * lib/xreadlink.h (xreadlink): Update prototype.
131209 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131211         * lib/xgetcwd.c: Revert some of the previous change; intead,
131212         fix the HAVE_GETCWD_NULL code to behave more like the
131213         !HAVE_GETCWD_NULL code used to.
131215         Include "xalloc.h".
131216         (xgetcwd): Do not return NULL when memory is exhausted; instead,
131217         invoke xalloc_die.
131219 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131221         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
131222         sys/param.h, as pathmax.h includes them.
131224 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131226         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
131227         (jm_PREREQ_XGETCWD): New macro.
131229         * m4/getcwd.m4: New file.
131231 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131233         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
131234         like the HAVE_GETCWD_NULL code.
131235         Include pathmax.h if not HAVE_GETCWD.
131236         Do not include xalloc.h.
131237         (INITIAL_BUFFER_SIZE): New symbol.
131238         Do not use xmalloc / xrealloc, since the caller is responsible for
131239         handling errors.  Preserve errno around `free' during failure.
131240         Do not overrun buffer when using getwd.
131242 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131244         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
131245         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
131246         getcwd (NULL, 0).
131248 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131250         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
131251         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
131252         spotted by Jim Meyering.
131254 2001-09-03  Jim Meyering  <meyering@lucent.com>
131256         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
131257         failure.
131259 2001-09-02  Jim Meyering  <meyering@lucent.com>
131261         * lib/error.c: Update from GNU libc.
131263 2001-09-01  Jim Meyering  <meyering@lucent.com>
131265         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
131266         Used by df.
131268 2001-09-01  Jim Meyering  <meyering@lucent.com>
131270         * lib/xreadlink.c: New file.
131271         * lib/xreadlink.h: New file.
131272         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
131273         xreadlink.h.
131275         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
131276         doesn't conflict with sparc Solaris 7's definition in
131277         /usr/include/sys/int_types.h.
131279         * lib/exclude.c: Use `""', not `<>' to #include non-system header
131280         files.
131281         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
131282         and strncasecmp as r-values.  Unixware didn't have declarations.
131284 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131286         * lib/xstrtol.h: Add copyright notice.
131287         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
131288         LONGINT_INVALID_SUFFIX_CHAR.
131290 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131292         * lib/xstrtol.c (strtoimax): New decl.
131294 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131296         * lib/xgetcwd.c: Don't include pathmax.h.
131297         Include stdlib.h and unistd.h if available.
131298         Include xalloc.h.
131299         (xmalloc, xstrdup, free): Remove decls.
131300         (xgetcwd): Don't assume sizes fit in unsigned.
131301         Check for overflow when computing sizes.
131302         Simplify reallocation code.
131304 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131306         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
131307         a directory's st_size can have an arbitrary value, so the old
131308         usage could waste an arbitrary amount of memory.  All uses
131309         changed.
131310         * lib/savedir.h: Update prototype.
131312 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131314         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
131316         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
131317         old strtoimax.c.
131319         Also, make the following further changes to make this file's
131320         configuration more similar to that of strtol.c:
131321         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
131322         (strtoumax, uintmax_t, strtoull, strtol): Remove.
131323         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
131324         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
131325         changed to signed values.
131327         And make the following changes as well:
131328         Fix copyright notice, as 1999 was missing.
131329         (verify): New macro.
131330         (strtoimax): Check sizes at compile-time, not run-time.
131331         Prefer strtol to strtoll if both work.
131332         (main): Remove; it was not that useful and was a pain to maintain.
131334         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
131336 2001-08-31  Jim Meyering  <meyering@lucent.com>
131338         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
131339         Use an initial, malloc'd, buffer of length 128 rather than
131340         a statically allocated one of length 1024.
131342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131344         Simplify code, partly by assuming autoconf 2.52 semantics.
131346         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
131348         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
131349         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
131350         All uses removed.
131351         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
131352         Move AC_REQUIRE to next-to-top level, to avoid confusion.
131353         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
131354         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
131355         jm_AC_HEADER_INTTYPES_H.
131356         * m4/jm-macros.m4 (jm_MACROS): Likewise.
131358         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
131360         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131361         Quote first arg of AC_DEFUN.
131362         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
131363         since they are needed to parse the include file even if we need
131364         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
131365         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
131366         but with opposite signedness.
131368 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131370         Merge 'exclude' changes from tar 1.13.22.
131371         This fixes one or two unlikely storage allocation overflow bugs,
131372         but doesn't change user-visible behavior otherwise.
131374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131376         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
131377         (jm_PREREQ_EXCLUDE): New macro.
131379 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131381         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
131382         tm to be declared.
131384 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131386         * lib/hash.c: Remove '2001' from copyright notice.
131388 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131390         * lib/full-write.h: New file.
131391         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
131392         * lib/full-write.c: Correct credits, as cccp.c no longer
131393         exists and anyway it was so heavily changed from the old cccp
131394         code as to be unrecognizable.  Include full-write.h.
131395         (full_write): Return size_t, with short writes meaning failure.
131396         All callers changed.  This fixes a bug with large buffers
131397         on 64-bit hosts.
131398         * lib/utime.c: Include full-write.h.
131400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131402         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
131403         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
131404         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
131405         Include if available.
131406         (<xalloc.h>): Include
131407         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
131408         (verify): New macro.  Use it to verify that EXCLUDE macros do not
131409         collide with FNM macros.
131410         (struct patopts): New struct.
131411         (struct exclude): Use it, as exclude patterns now come with options.
131412         (new_exclude): Support above changes.
131413         (new_exclude, add_exclude_file):
131414         Initial size must now be a power of two to simplify overflow checking.
131415         (free_exclude, fnmatch_no_wildcards): New function.
131416         (excluded_filename): No longer requires options arg, as the options
131417         are determined by add_exclude.  Now returns bool, not int.
131418         (excluded_filename, add_exclude):
131419         Add support for the fancy new exclusion options.
131420         (add_exclude, add_exclude_file): Now takes int options arg.
131421         Check for arithmetic overflow when computing sizes.
131422         (add_exclude_file): xrealloc might modify errno, so don't
131423         realloc until after errno might be used.
131425         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
131426         New macros.
131427         (free_exclude): New decl.
131428         (add_exclude, add_exclude_file): Now takes int options arg.
131429         (excluded_filename): No longer requires options arg, as the options
131430         are determined by add_exclude.  Now returns bool, not int.
131432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131434         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
131436 2001-08-27  Jim Meyering  <meyering@lucent.com>
131438         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
131440         * lib/version-etc.c (N_): Remove definition.
131441         Revert most of last change.
131442         Instead, simply don't mark the `Copyright...' string for translation.
131443         Based on advice from Paul Eggert.
131445         * lib/strtoxmax.c: Tweak comment.
131447 2001-08-26  Jim Meyering  <meyering@lucent.com>
131449         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
131451         * m4/xstrtoimax.m4: New file.
131452         * m4/xstrtoumax.m4: Add comments explaining why we
131453         AC_REPLACE_FUNCS(strtol).
131455 2001-08-26  Jim Meyering  <meyering@lucent.com>
131457         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
131458         of copyright with `%s' so translators don't get an untranslated
131459         message in 2002.
131460         (COPYRIGHT_YEAR): Define.
131461         (version_etc): Use fprintf rather than fputs.
131462         Suggestion from Ulrich Drepper.
131464         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
131466         * lib/strtoll.c: New file, from GNU libc.
131467         * lib/xstrtoimax.c: New file.
131469         * lib/xstrtol.h: Add xstrtoimax.
131470         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
131471         * lib/strtoimax.c: New file.  Likewise, but first define
131472         STRTOUXMAX_SIGNED.
131474         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
131475         ...
131476         * lib/strtoxmax.c: ... then renamed to this.
131478 2001-08-18  Paul Eggert  <eggert@twinsun.com>
131480         * m4/inttypes.m4: Add AC_PREREQ(2.13).
131481         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
131482         (jm_AC_TYPE_INTMAX_T): New macro.
131483         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
131485         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
131487         * m4/longlong.m4: Renamed from ulonglong.m4.
131488         * m4/inttypes.m4: Renamed from inttypes_h.m4.
131489         * m4/uintmax_t.m4: Removed.
131491 2001-08-13  Paul Eggert  <eggert@twinsun.com>
131493         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
131494         Port to Solaris 8, where 'sed' requires a space after the 'r'
131495         command, and where sh dislikes "$/".  Clean up the spacing a bit.
131496         Redirect output to $tmp just once.
131498 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
131500         * lib/addext.c (<errno.h>): Include.
131501         (errno): Declare if not defined.
131502         (addext): Work correctly when pathconf returns -1 and leaves
131503         errno alone because there is no limit.  Also, work even if
131504         pathconf returns a value greater than SIZE_MAX.
131506 2001-08-12  Jim Meyering  <meyering@lucent.com>
131508         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
131509         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
131510         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
131511         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
131512         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
131513         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
131514         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
131515         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
131516         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
131517         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
131518         utime.m4, utimes.m4, xstrtoumax.m4:
131519         Quote the first argument in each use of AC_DEFUN.
131521 2001-08-12  Jim Meyering  <meyering@lucent.com>
131523         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
131524         Simply `return getcwd (NULL, 0);'.
131525         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
131526         Use 1300 as initial value for length, not PATH_MAX.
131528         * lib/pathmax.h: Clean up cpp syntax.
131530 2001-08-12  Jim Meyering  <meyering@lucent.com>
131532         * lib/gettimeofday.c: New file.
131533         * lib/gtod.h: New file.
131534         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
131536 2001-08-05  Jim Meyering  <meyering@lucent.com>
131538         * m4/jm-macros.m4: Require autoconf-2.52.
131540 2001-08-04  Jim Meyering  <meyering@lucent.com>
131542         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
131543         stmt, to get in sync with glibc.
131545 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131547         The following changes are from gettext 0.10.39 as maintained by
131548         Bruno Haible.
131550         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
131551         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
131552         with inverted sense.  All uses changed.
131554         * lib/mbswidth.c: Don't include <limits.h>.
131555         Include <stdlib.h> and <string.h> unconditionally.
131556         (iswcntrl, mbsinit, ISCNTRL): New macros.
131557         (mbsnwidth): Use K&R style function declarations.
131558         Don't bother checking for MB_LEN_MAX == 1, since the compiler
131559         can optimize it when MB_CUR_MAX == 1.
131560         The width of control characters is zero, not 1.
131562 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131564         The following changes are from gettext 0.10.39 as maintained by
131565         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
131567         * m4/codeset.m4: Upgrade to serial AM1.
131568         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
131569         all uses changed.  Quote first arg of AC_DEFUN.
131570         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
131572         * m4/iconv.m4: Upgrade to serial AM2.
131573         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
131574         Add --with-libconv-prefix.
131575         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
131576         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
131577         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
131578         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
131579         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
131581         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
131582         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
131583         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
131584         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
131585         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
131586         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
131587         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
131588         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
131589         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
131591         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
131592         string.h any more.
131594         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
131595         not the default value.
131597         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
131598         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
131599         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
131600         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
131601         Also check for iswcntrl, used for wcwidth fallback.
131602         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
131603         to Autoconf 2.13.
131605 2001-08-03  Jim Meyering  <meyering@lucent.com>
131607         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
131608         as it was in the original.  Reported by Paul Eggert.
131610 2001-07-16  Jim Meyering  <meyering@lucent.com>
131612         * m4/gettimeofday.m4: New file.
131613         Prompted by a report from Bernhard Baehr.
131615 2001-07-15  Jim Meyering  <meyering@lucent.com>
131617         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
131618         stuff. Now it's in ../Makefile.cfg.
131620 2001-07-15  Jim Meyering  <meyering@lucent.com>
131622         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
131623         (BUILT_SOURCES): Add unlocked-io.h.
131624         (io_functions): Define.
131625         (unlocked-io.h): New rule.
131626         (DISTCLEANFILES): Add unlocked-io.h.
131627         (all-local): Depend on unlocked-io.h, to ensure it is created.
131629         * lib/unlocked-io.hin: New file
131631         * lib/regex.c: Update from glibc.
131633 2001-07-05  Jim Meyering  <meyering@lucent.com>
131635         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
131636         recommendation.
131637         (libfetish_a_SOURCES): Put all .h files here instead.
131638         Remove a thus-exposed (better checks in automake) duplicate and
131639         two unnecessary .h files.
131641 2001-07-04  Jim Meyering  <meyering@lucent.com>
131643         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
131644         that generates jm-glibc-io.m4 so that it doesn't trigger any make
131645         distcheck failure.
131647 2001-07-02  Jim Meyering  <meyering@lucent.com>
131649         The following changes were prompted by suggestions from Bruno Haible.
131651         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
131652         is now generated.
131653         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
131654         definition of EXTRA_DIST.
131655         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
131656         ensure that the generated file is created/updated whenever the list
131657         of $(unlocked_functions) is changed.
131658         (jm-glibc-io.m4): New rule.
131659         (unlocked-io.h): New rule -- currently unused.
131661 2001-06-24  Jim Meyering  <meyering@lucent.com>
131663         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
131664         unmatched right bracket, rather than kludging it with an extra,
131665         falsely-matching quote in a comment.  Patch by Akim Demaille.
131667 2001-06-11  Jim Meyering  <meyering@lucent.com>
131669         * lib/regex.c: Update from GNU libc.
131671 2001-05-27  Jim Meyering  <meyering@lucent.com>
131673         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
131674         Check for ut_type in struct utmp.
131676 2001-05-27  Jim Meyering  <meyering@lucent.com>
131678         * lib/readutmp.h (UT_TYPE): Define.
131680 2001-05-24  Jim Meyering  <meyering@lucent.com>
131682         * lib/argmatch.c: Include "quote.h".
131683         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
131684         quote function.  Reported by Göran Uddeborg.
131686 2001-05-22  Jim Meyering  <meyering@lucent.com>
131688         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
131689         now that we use the package-supplied version unconditionally.
131690         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
131692 2001-05-21  Jim Meyering  <meyering@lucent.com>
131694         * m4/regex.m4: Change a couple backticks to single quotes to avoid
131695         shell syntax errors.
131697 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131699         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
131701 2001-05-20  Paul Eggert  <eggert@twinsun.com>
131703         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
131704         Don't bother to check library strftime, since
131705         we'll be using our own my_strftime function anyway.
131706         Define my_strftime instead of strftime.
131708 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
131710         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
131711         which is not yet declared.
131713 2001-05-15  Jim Meyering  <meyering@lucent.com>
131715         * m4/regex.m4: Use proper quoting so brackets appear in the test
131716         program.
131717         Reported by, and with help from, Bruno Haible.
131719 2001-05-13  Jim Meyering  <meyering@lucent.com>
131721         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
131722         undefined.
131724 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131726         dirname code cleanup.  base_name now behaves more compatibly
131727         with POSIX basename when given file names that have trailing
131728         slashes, and similarly for dir_name.  Add new primitives
131729         base_len and dir_len.  Put the directory-name-related decls
131730         into dirname.h.
131732         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
131733         * lib/backupfile.c (base_name): Likewise.
131734         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
131735         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
131736         * lib/makepath.c (strip_trailing_slashes): Likewise.
131737         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
131738         ISSLASH): Likewise.
131739         * lib/rename.c (strip_trailing_slashes): Likewise.
131740         * lib/same.c (base_name): Likewise.
131741         * lib/stripslash.c (ISSLASH): Likewise.
131743         * lib/addext.c: Include <dirname.h> after size_t is defined.
131744         * lib/backupfile.c: Likewise.
131746         * lib/addext.c (addext): Use base_len to trim redundant
131747         trailing slashes instead of doing it ourselves.
131748         But do not trim the last slash if it is not redundant.
131750         * lib/backupfile.c (find_backup_file_name,
131751         max_backup_version): Use base_len instead of rolling it ourselves.
131752         Handle the case of "" and (on DOS) "C:" correctly.
131754         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
131755         needed. Include <string.h>, <dirname.h>.
131756         (base_name): Allow file names ending in slashes, other than names
131757         that are all slashes.  In this case, return the basename followed
131758         by the slashes.  This is more general, and can be used in places
131759         where the original base_name purposely had an assertion failure.
131760         (base_len): New function.
131762         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
131763         Do not include <assert.h>; no longer needed.
131764         Include xalloc.h.
131765         (memrchr): Remove decl.
131766         (dir_name_r): Remove.
131767         (dir_len): Renamed from dirlen.  All callers changed.
131768         Rewrite in terms of base_name, for simplicity and consistency.
131769         (dir_name): Never return NULL.  All callers changed.
131770         Do not include <stdlib.h> in test program; no longer needed.
131771         return 0; is fine for test program.
131773         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
131774         New macros.
131775         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
131777         * lib/path-concat.c (path_concat): Use base_len to compute
131778         base length, not strlen; this means we cannot rely on memcpy
131779         to null-terminate.
131781         * lib/same.c (STREQ): Remove.
131782         (same_name): Handle the case where the basename ends in trailing '/'.
131784         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
131785         a slash was stripped.  Do not strip the last slash after a
131786         file system prefix.
131788 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131790         * lib/Makefile.am (libfetish_a_SOURCES):
131791         Add strftime.c, since we now compile it on all hosts.
131793         * lib/strftime.c (my_strftime):
131794         Define to nstrftime if emacs, but only if my_strftime is not defined.
131795         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
131796         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
131797         Add one more extra argument: a nanoseconds value.
131798         All uses changed.
131799         (ns): New macro.
131800         (my_strftime function): Add %N format.
131801         (emacs_strftimeu): Renamed from emacs_strftime,
131802         with extra ut argument.
131804 2001-05-09  Paul Eggert  <eggert@twinsun.com>
131806         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
131808 2001-04-21  Jim Meyering  <meyering@lucent.com>
131810         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
131811         doesn't interfere.
131813 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131815         * m4/ftruncate.m4: Check for chsize.
131816         Link with ftruncate.o unconditionally if ftruncate is missing.
131817         This was required when cross-compiling to i586-mingw32msvc.
131819 2001-04-08  Jim Meyering  <meyering@lucent.com>
131821         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
131822         recomputed; that's necessary when the offset spans a DST transition.
131823         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
131825 2001-04-02  Jim Meyering  <meyering@lucent.com>
131827         * lib/regex.h, regex.c: Update from GNU libc.
131829 2001-03-24  Jim Meyering  <meyering@lucent.com>
131831         * m4/jm-macros.m4: Require autoconf-2.49d.
131833 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
131835         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
131837 2001-03-19  Paul Eggert  <eggert@twinsun.com>
131839         * lib/version-etc.c (version_etc_copyright): Update to 2001.
131841 2001-03-17  Jim Meyering  <meyering@lucent.com>
131843         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
131844         now that the version in autoconf is equivalent.
131845         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
131847         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
131848         Suggestion from Akim Demaille.
131850         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
131851         (jm_PREREQ_TEMPNAME): New function.
131853 2001-03-16  Paul Eggert  <eggert@twinsun.com>
131855         * lib/tempname.c (uint64_t): Define to uintmax_t if
131856         not defined, and if UINT64_MAX is not defined.
131857         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
131858         Reported by John David Anglin.
131860 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
131862         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
131863         resolve alias if codeset is empty.
131864         * lib/config.charset (BeOS): Use wildcard syntax.
131866 2001-03-13  Jim Meyering  <meyering@lucent.com>
131868         * lib/path-concat.c (path_concat)
131869         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
131870         concatenating e.g., `C:' and `foo'.
131871         From Bruno Haible.
131873 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131875         * lib/localcharset.c (locale_charset): Don't use
131876         setlocale(LC_CTYPE,NULL). Don't return NULL.
131877         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
131879 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131881         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
131882         support for DOS/DJGPP.
131884 2001-03-01  Paul Eggert  <eggert@twinsun.com>
131886         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
131887         lacks mkstemp.  Compile our own tempname.c if we compile our own
131888         mkstemp.c, as mkstemp relies on tempname.
131890 2001-03-01  Jim Meyering  <meyering@lucent.com>
131892         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
131893         AH_VERBATIM really does output its argument verbatim.
131895 2001-02-28  Paul Eggert  <eggert@twinsun.com>
131897         * lib/Makefile.am (libfetish_a_SOURCES):
131898         Add dup-safer.c, fopen-safer.c.
131899         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
131901         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
131902         * lib/unistd-safer.h: New files.
131904 2001-02-25  Paul Eggert  <eggert@twinsun.com>
131906         The mkstemp replacement is taken from glibc 2.2.2, with some
131907         portability fixes for use outside glibc, as follows:
131909         * lib/tempname.c (struct_stat64): New macro.
131910         (direxists, __gen_tempname): Use it.
131911         This avoids a portability problem with Solaris 8.
131913         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
131914         (<stddef.h>, <stdint.h>, <string.h>):
131915         Include only if STDC_HEADERS || _LIBC.
131916         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
131917         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
131918         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
131919         (__set_errno): Define this macro if <errno.h> doesn't.
131920         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
131921         Define these macros if <stdio.h> doesn't.
131922         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
131923         Define these macros if <sys/stat.h>
131924         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
131925         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
131926         __xstat64): Define if not _LIBC.
131927         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
131928         (__gen_tempname): Invoke gettimeofday only if
131929         HAVE_GETTIMEOFDAY || _LIBC;
131930         otherwise, fall back on plain "time".
131931         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
131933         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
131935         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
131937 2001-02-18  Paul Eggert  <eggert@twinsun.com>
131939         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
131941 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131943         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
131944         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
131945         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
131946         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131948 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131950         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
131951         Remove workaround macros for hosts that have mbrtowc but not
131952         mbstate_t, as we now insist on proper declarations for both
131953         before using mbrtowc.
131955 2001-02-17  Jim Meyering  <meyering@lucent.com>
131957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
131958         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
131959         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
131960         UnixWare 7.1.1.
131962         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
131963         rather than AC_CACHE_VAL.
131965 2001-02-17  Jim Meyering  <meyering@lucent.com>
131967         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
131968         around included file name.
131970         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
131972         * lib/strftime.c: Update from GNU libc (the only changes were to
131973         comments).
131975 2001-02-17  Jim Meyering  <meyering@lucent.com>
131977         * lib/regex.c: Update from libc.
131979 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
131981         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
131982         clash.
131984 2001-02-16  Paul Eggert  <eggert@twinsun.com>
131986         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
131987         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
131988         Reported by Mark Hounschell via Paul Eggert.
131990 2001-02-07  Jim Meyering  <meyering@lucent.com>
131992         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
131994 2001-02-05  Jim Meyering  <meyering@lucent.com>
131996         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
131997         it includes the patch required for `large file' support with at least
131998         HP-UX's 10.20 /bin/cc.
132000 2001-02-03  Jim Meyering  <meyering@lucent.com>
132002         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
132003         AS_IF, now that it works once again (mysteriously).
132004         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132006 2001-01-30  Jim Meyering  <meyering@lucent.com>
132008         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
132009         * m4/chown.m4: Rename conftestchown to conftest.chown.
132010         * m4/rename.m4: s/conftestdir/conftest.d1/ and
132011         s/conftestdir2/conftest.d2/.
132012         * m4/utimes.m4: s/conftestdata/conftest.data/
132013         Inspired by Pavel Roskin's change in autoconf.
132015 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
132017         * lib/config.charset: Update for FreeBSD 4.2.
132019 2001-01-27  Jim Meyering  <meyering@lucent.com>
132021         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
132022         a use of AS_IF.
132023         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132025 2001-01-26  Jim Meyering  <meyering@lucent.com>
132027         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
132028         quotearg.c includes it.
132030 2001-01-26  Jim Meyering  <meyering@lucent.com>
132032         * lib/quotearg.c: Include stddef.h.
132033         * lib/quote.c: Include stddef.h.
132034         Reported by Axel Kittenberger.
132036         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
132037         line in double quotes so that it evokes a better diagnostic.
132038         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
132039         Reported by Axel Kittenberger.
132041 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
132043         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
132044         as if it was a `charset'.
132046 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132048         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
132049         has const.
132051 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132053         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
132054         to avoid a warning.  Add back 'const' to inptr.
132056 2001-01-20  Jim Meyering  <meyering@lucent.com>
132058         Be sure that headers are checked before used in code compiled
132059         for the type checks.
132060         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
132061         In place of that, invoke jm_CHECK_ALL_TYPES.
132062         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
132063         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
132064         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
132065         The check for ssize_t was mistakenly run before the test for unistd.h.
132067         The configure-time check for stdbool.h was missing.
132068         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
132069         (jm_PREREQ_HASH): New function.
132071 2001-01-17  Jim Meyering  <meyering@lucent.com>
132073         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
132074         for autoconf-2.49c.
132075         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
132077 2001-01-16  Jim Meyering  <meyering@lucent.com>
132079         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
132080         From Bruno Haible.
132082 2001-01-14  Jim Meyering  <meyering@lucent.com>
132084         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
132085         foo and bar.  Create conftestdir/ in the script, not in the C code.
132086         Remove directories in the script, not in the C code.
132087         Remove conftestdir{,2} before trying to create the directory.
132088         Make the entire configure script fail if the mkdir fails.
132090 2001-01-14  Jim Meyering  <meyering@lucent.com>
132092         * lib/rename.c: New file.  From Volker Borchert.
132093         Include stdlib.h, string.h or strings.h, and xalloc.h.
132094         Use strip_trailing_slashes rather than open-coding it.
132096 2001-01-03  Paul Eggert  <eggert@twinsun.com>
132098         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
132100 2001-01-03  Jim Meyering  <meyering@lucent.com>
132102         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
132103         of local `inptr' to avoid warning with some system declarations of
132104         iconv.
132106 2001-01-02  Volker Borchert  <bt@teknon.de>
132108         * m4/rename.m4: New file.
132109         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
132111 2001-01-01  Jim Meyering  <meyering@lucent.com>
132113         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
132114         even on systems with utmpx.h.  It's necessary for the declaration of
132115         utmp's ut_user member.  Reported by Andreas Jaeger.
132117         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
132118         available. They are required for the declarations of getgrgid and
132119         getpwuid resp.
132120         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
132121         Reported by Andreas Jaeger.
132123 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
132125         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
132126         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
132127         so `make install' also works in VPATH builds.
132129 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
132131         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
132132         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
132133         can be used in subdirectories.
132135 2000-12-29  Paul Eggert  <eggert@twinsun.com>
132137         * lib/modechange.c: Do not assume that mode_t uses the
132138         traditional octal encoding.  E.g. "chmod 1 FOO" should set
132139         the other-execute bit of FOO even if S_IXOTH != 1.
132141         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
132142         WOTH, XOTH, ALLM): New macros.
132143         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
132144          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
132145         Use them.
132146         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
132147         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
132148         (mode_compile):
132149         No need to use uintmax_t; unsigned long is long enough.
132150         Don't bother to get suffix since we don't use it.
132152 2000-12-26  Jim Meyering  <meyering@lucent.com>
132154         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
132155         better with autoheader.
132157 2000-12-24  Jim Meyering  <meyering@lucent.com>
132159         * lib/hash.c (is_prime): Return explicit boolean values.
132160         (hash_get_first): Return NULL to appease Irix5.6's 89.
132161         Reported by Nelson Beebe.
132163 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
132165         * lib/localcharset.c (locale_charset): Add support for Win32.
132167 2000-12-18  Paul Eggert  <eggert@twinsun.com>
132169         * lib/physmem.h, lib/physmem.c: New files.
132171         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
132172         (noinst_HEADERS): Add physmem.h.
132174         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
132175         't' for compatibility with Solaris 8 sort.
132177 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
132179         * lib/config.charset: Add support for BeOS.
132181 2000-12-17  Jim Meyering  <meyering@lucent.com>
132183         * m4/dos.m4 (jm_AC_DOS): New file and macro.
132184         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
132186 2000-12-16  Jim Meyering  <meyering@lucent.com>
132188         This bug had a serious impact on chown: `chown N:M FILE' (for integer
132189         N and M) would have treated it like `chown N:N FILE'.
132191         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
132193 2000-12-16  Jim Meyering  <meyering@lucent.com>
132195         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
132196         SHELLS_FILE to a file name that's useful on djgpp systems.
132197         Include stdlib.h.
132198         (ADDITIONAL_DEFAULT_SHELLS): Define.
132199         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
132200         Based mostly on a patch from Prashant TR.
132202 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
132204         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
132205         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
132206         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
132208 2000-12-08  Andreas Schwab  <schwab@suse.de>
132210         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
132211         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
132213 2000-12-07  Jim Meyering  <meyering@lucent.com>
132215         * lib/stripslash.c (ISSLASH): Define.
132216         (strip_trailing_slashes): Use ISSLASH rather than comparing against
132217         `/'.
132218         From Prashant TR.
132220         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
132221         (dir_name_r): Declare this function as static.
132222         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
132223         manifest itself on a name containing a mix of slashes and
132224         backslashes.
132225         Make this function work with names starting with a DOS-style
132226         drive letter and colon prefix.
132227         (dir_name): Append `.' if necessary.
132228         Based mostly on patches from Prashant TR and Eli Zaretskii.
132230         * lib/dirname.h (dir_name_r): Remove prototype.
132232 2000-12-06  Paul Eggert  <eggert@twinsun.com>
132234         * m4/off_t-format.m4: Remove this file.
132235         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
132237 2000-12-06  Jim Meyering  <meyering@lucent.com>
132239         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
132240         replacement strtoull, we may well need the replacement strtoul, too.
132241         Check for declarations of strtoul and strtoull.
132242         Check for strtol.  Mainly as a cue to cause automake to include
132243         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
132244         Check for limits.h -- strtol.c needs it.
132246 2000-12-05  Jim Meyering  <meyering@lucent.com>
132248         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
132250 2000-12-04  Jim Meyering  <meyering@lucent.com>
132252         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
132253         Also include memory.h, stdlib.h, unistd.h if appropriate.
132254         Reported by Andreas Jaeger (conflicting declaration of malloc).
132256 2000-12-02  Jim Meyering  <meyering@lucent.com>
132258         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
132259         * m4/jm-macros.m4 (jm_MACROS): require it.
132261 2000-12-02  Jim Meyering  <meyering@lucent.com>
132263         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
132265 2000-12-01  Paul Eggert  <eggert@twinsun.com>
132267         * lib/memrchr.c: Include <config.h> before any system include file.
132269 2000-11-30  Jim Meyering  <meyering@lucent.com>
132271         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
132273 2000-11-30  Jim Meyering  <meyering@lucent.com>
132275         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
132277 2000-11-29  Paul Eggert  <eggert@twinsun.com>
132279         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
132281 2000-11-26  Jim Meyering  <meyering@lucent.com>
132283         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
132285 2000-11-22  Paul Eggert  <eggert@twinsun.com>
132287         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
132288         size of (size_t) -1; it's not portable.
132290 2000-11-17  Jim Meyering  <meyering@lucent.com>
132292         * lib/strstr.c: Update from GNU libc.
132294 2000-11-17  Akim Demaille  <akim@epita.fr>
132296         * lib/obstack.h: Formatting changes.
132297         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
132298         prevent type checking.
132299         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
132300         cast the value to (void *): assigning a `foo *' to a `void *'
132301         variable is valid.
132302         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
132304 2000-11-16  Jim Meyering  <meyering@lucent.com>
132306         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
132308 2000-11-11  Jim Meyering  <meyering@lucent.com>
132310         * lib/error.c: Add a couple #includes, merging from GNU libc version.
132312 2000-11-10  Jim Meyering  <meyering@lucent.com>
132314         * lib/obstack.h: Update from GNU libc.
132315         * lib/obstack.c: Likewise.
132317 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
132319         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
132321 2000-11-06  Paul Eggert  <eggert@twinsun.com>
132323         * lib/getusershell.c (setusershell): Use rewind rather than
132324         fseek/fseeko, to avoid configuration hassles with fseeko.
132325         Don't bother opening SHELLS_FILE if shellstream is NULL;
132326         it's not necessary.
132328 2000-11-05  Jim Meyering  <meyering@lucent.com>
132330         * lib/makepath.h (make_dir): Declare.
132331         * lib/makepath.c (make_dir): Remove `static' attribute.
132332         Tweak a comment.
132334 2000-11-04  Jim Meyering  <meyering@lucent.com>
132336         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
132338 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
132340         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
132341         last one in a bucket, advance to the next bucket.
132343 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
132345         * lib/fnmatch.c: Do not comment out all the code if we are using
132346         the GNU C library, because in some cases we are replacing buggy
132347         code in the GNU C library itself.
132349 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
132351         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
132352         (regex_compile): Catch bogus \(\1\).
132354 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132356         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
132357         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
132358         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
132360 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132362         * lib/error.h, getline.h, modechange.h:
132363         Remove "2000" from Copyright line, as the file hasn't been
132364         changed this year other than in the copyright notice.
132366         * lib/xalloc.h: Add "2000" to Copyright line, as this file
132367         was changed this year.
132369 2000-10-29  Jim Meyering  <meyering@lucent.com>
132371         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
132372         renaming.
132373         * m4/ls-mntd-fs.m4: Likewise
132375 2000-10-29  Jim Meyering  <meyering@lucent.com>
132377         * lib/xstat.in: Fix grammar in comment.
132379 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
132381         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
132382         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
132383         doesn't define __restrict_arr.
132385 2000-10-28  Jim Meyering  <meyering@lucent.com>
132387         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
132388         (jm_PREREQ_MEMCHR): New function.
132390 2000-10-28  Jim Meyering  <meyering@lucent.com>
132392         * lib/memchr.c: Update from libc.
132393         Adjust for portability:
132394         [HAVE_STDLIB_H]: Include stdlib.h.
132395         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
132396         Undef __memchr, too.
132397         [!weak_alias]: Define __memchr to memchr.
132399         * lib/regex.c: Update from libc.
132400         * lib/regex.h: Likewise.
132401         * lib/getopt1.c: Likewise.
132402         * lib/memcmp.c: Likewise.
132404         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
132405         Avoid using fseek, when possible -- it's broken by design.
132406         Patch by Ulrich Drepper.
132408 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
132410         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
132411         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
132412         Giving in to popular pressure to shut up the compiler with casts.
132414 2000-10-26  Jim Meyering  <meyering@lucent.com>
132416         * lib/strftime.c: Update from libc.
132418 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
132420         * regex.c: More `unsigned char' -> `re_char' changes.
132421         Also change several `int' into `re_wchar_t'.
132422         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
132423         (PUSH_FAILURE_POINTER): Don't cast any more.
132424         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
132425         We want GCC to complain, since this piece of code makes
132426         re_match non-reentrant, which *should* be fixed.
132427         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
132428         (EXTEND_BUFFER): Use RETALLOC.
132429         (SET_LIST_BIT): Don't cast.
132430         (re_wchar_t): New type.
132431         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
132432         that those two functions will always properly return.
132433         (IMMEDIATE_QUIT_CHECK): Cast to void.
132434         (analyse_first): Use recursion rather than an explicit stack.
132435         (re_compile_fastmap): Can't fail anymore.
132436         (re_search_2): Don't check re_compile_fastmap for failure.
132437         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
132438         Now also sets the new value (passed in a new argument).
132439         (re_match_2_internal): Use it.
132440         Also, use a new var `reg' of type size_t when looping through regs
132441         rather than reuse the inappropriate `mcnt'.
132443 2000-10-25  Jim Meyering  <meyering@lucent.com>
132445         * lib/obstack.c: Update from libc.
132447 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
132449         * regex.c (regex_compile): Change the way of handling a range from
132450         a char less than 256 to a char not less than 256.
132452 2000-10-24  Andrew Innes  <andrewi@gnu.org>
132454         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
132455         NT-Emacs only.
132456         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
132457         so that re_search functions only quit when callers expect them to.
132459 2000-10-23  Jim Meyering  <meyering@lucent.com>
132461         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
132462         wrong.  That set_locale call must not have any side effects.
132463         From Paul Eggert.
132465 2000-10-22  Jim Meyering  <meyering@lucent.com>
132467         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
132468         [CYCLIC]: Remove now-unused definition.
132470         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
132471         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
132472         Suggestion from Ulrich Drepper.
132474 2000-10-21  Jim Meyering  <meyering@lucent.com>
132476         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
132477         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
132478         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
132480 2000-10-21  Jim Meyering  <meyering@lucent.com>
132482         * lib/dirname.c (memrchr): Declare if necessary.
132483         (dir_name): Remove the restriction that there be no
132484         trailing slashes.  Now, this code skips past them, effectively
132485         ignoring them.
132486         [TEST_DIRNAME] (main): New unit tests.
132488         * lib/memrchr.c: New file from GNU libc.
132489         Undef __memrchr, too.
132490         [!weak_alias]: Define __memrchr to memrchr.
132491         Guard weak_alias use with `#ifdef weak_alias'.
132493 2000-10-21  Jim Meyering  <meyering@lucent.com>
132495         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
132496         (dir_name): Use dir_name_r.
132497         * lib/dirname.h (dir_name_r): Declare it.
132499 2000-10-17  Jim Meyering  <meyering@lucent.com>
132501         * lib/quote.h (PARAMS): Define and use.
132502         Reported by Akim Demaille.
132504         * lib/getopt.c: Update from libc.
132506 2000-10-16  Jim Meyering  <meyering@lucent.com>
132508         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
132509         setlocale.
132510         From Jan Fedak.
132512 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
132514         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
132516 2000-09-25  Jim Meyering  <meyering@lucent.com>
132518         * lib/md5.h (rol): Define (from GnuPG).
132520         * lib/sha.c: Give credit (GnuPG) where due.
132521         (M): Use rol rather than open-coding it.
132522         Add a FIXME comment.
132524 2000-09-21  Jim Meyering  <meyering@lucent.com>
132526         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
132527         Reported by Michael Stone.
132529 2000-09-20  Jim Meyering  <meyering@lucent.com>
132531         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
132532         (noinst_HEADERS): Add sha.h.
132533         Based on code from Scott G. Miller and from GnuPG.
132535 2000-09-18  Jim Meyering  <meyering@lucent.com>
132537         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
132538         LIBS. Otherwise, everyone ends up linking with -lelf for some
132539         configurations.
132540         Reported by Mike Stone.
132542 2000-09-15  Jim Meyering  <meyering@lucent.com>
132544         * lib/regex.c: Update from libc.
132546 2000-09-10  Jim Meyering  <meyering@lucent.com>
132548         * lib/getopt.c (_getopt_internal): Update from glibc.
132550 2000-09-09  Jim Meyering  <meyering@lucent.com>
132552         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
132553         think it should be used as a general replacement for isascii.
132554         * lib/fnmatch.c: Likewise.
132555         * lib/mbswidth.c: Likewise
132556         * lib/regex.c: Likewise.
132558         Don't use atoi.
132559         * lib/userspec.c: Include sys/param.h and limits.h.
132560         Include xstrtol.h.
132561         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
132562         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
132563         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
132564         UID, GID.  Check range.
132566 2000-09-06  Jim Meyering  <meyering@lucent.com>
132568         * lib/getopt.c (_getopt_internal): Update from glibc.
132570 2000-08-30  Jim Meyering  <meyering@lucent.com>
132572         * lib/strftime.c: Merge in changes from GNU libc.
132574 2000-08-26  Jim Meyering  <meyering@lucent.com>
132576         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
132577         * m4/fpending.m4: New file.
132579 2000-08-26  Jim Meyering  <meyering@lucent.com>
132581         * lib/closeout.c: Include "__fpending.h".
132582         (close_stdout_status): Return right away if there's nothing to flush.
132584         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
132585         * lib/__fpending.c: New file.
132586         * lib/__fpending.h: New file.
132588 2000-08-20  Jim Meyering  <meyering@lucent.com>
132590         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
132591         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
132592         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
132594 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
132596         Improve fileutils installation on systems where running
132597         programs (like install) can't be unlinked.
132598         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
132599         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
132601 2000-08-07  Paul Eggert  <eggert@twinsun.com>
132603         Standardize on "memory exhausted" instead of "Memory exhausted"
132604         or "virtual memory exhausted".
132605         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
132606         "virtual memory exhausted".
132607         * lib/same.c (same_name): Invoke xalloc_die instead of printing
132608         our own message.
132609         * lib/userspec.c (parse_user_spec): Likewise.
132610         * lib/bumpalloc.h: comment fix
132611         * lib/same.c, userspec.c: Include xalloc.h.
132613         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
132614         not char *const and pointing to a constant array.
132615         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
132616         (xrealloc): Comment fix.
132618         * lib/userspec.c (parse_user_spec):
132619         Don't translate a message until just before returning,
132620         to avoid unnecessary translation.
132622 2000-08-07  Jim Meyering  <meyering@lucent.com>
132624         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
132625         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
132626         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
132627         getgroups.c, gethostname.c, getopt.h, group-member.c,
132628         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
132629         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
132630         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
132631         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
132632         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
132633         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
132634         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
132635         yesno.c: Back out Copyright date changes for each file with no change
132636         this year.  This eases coordination with other programs using the same
132637         source code modules.  From Paul Eggert.
132639 2000-08-06  Paul Eggert  <eggert@twinsun.com>
132641         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
132642         not char, for compatibility with glibc 2.1.3 strftime.c.
132644 2000-08-03  Greg McGary  <greg@mcgary.org>
132646         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
132647         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
132648         (EXTEND_BUFFER): Use them.
132650 2000-08-01  Jim Meyering  <meyering@lucent.com>
132652         * lib/dirname.c (ISSLASH): Define.
132653         (BACKSLASH_IS_PATH_SEPARATOR): Define.
132654         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
132655         both `\' and `/' may be use as path separators.
132656         Based on a patch from Prashant TR.
132658 2000-07-31  Paul Eggert  <eggert@twinsun.com>
132660         * lib/quotearg.c (quotearg_n_options): Don't make the initial
132661         slot vector a constant, since it might get modified.
132663 2000-07-31  Jim Meyering  <meyering@lucent.com>
132665         * lib/xmalloc.c: Use `virtual memory exhausted', not
132666         `Memory exhausted'.
132667         * lib/obstack.c (print_and_abort): Likewise.
132669 2000-07-30  Paul Eggert  <eggert@twinsun.com>
132671         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
132672         buffer, so that the caller can always quote one small
132673         component of a "memory exhausted" message in slot 0.
132674         From a suggestion by Jim Meyering.
132676 2000-07-30  Jim Meyering  <meyering@lucent.com>
132678         * lib/makepath.c (make_path): Quote the other instance, too.
132680         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
132681         (STATIC_BUF_SIZE): Define.
132682         (quotearg_n_options): Use only statically allocated storage when
132683         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
132684         than STATIC_BUF_SIZE.
132686 2000-07-29  Jim Meyering  <meyering@lucent.com>
132688         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
132689         * lib/dirname.c (dir_name): Likewise.
132691         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
132692         `/'.
132694         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
132695         (dir_name): Assert that there are no trailing slashes.
132697 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
132699         * lib/mbswidth.h (mbswidth): Add a flags argument.
132700         (mbswidth): New declaration.
132701         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
132702         * lib/mbswidth.c (mbswidth): Add a flags argument.
132703         (mbsnwidth): New function.
132705 2000-07-24  Jim Meyering  <meyering@lucent.com>
132707         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
132709 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
132713 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132715         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
132716         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
132717         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
132718         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
132719         invoke multibyte primitives.
132721 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132723         * lib/quotearg.c:
132724         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
132725         so that mbstate_t is always defined.
132727         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
132728         be 1 in at least one GCC installation, and this configuration
132729         error is likely to be common.  Ignoring MB_LEN_MAX hurts
132730         performance on hosts that have mbrtowc but have only unibyte
132731         locales, but I assume these hosts are rare.
132733 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132735         * lib/mbswidth.c (_XOPEN_SOURCE):
132736         Don't define; this causes problems on Solaris 7.
132737         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
132739 2000-07-23  Jim Meyering  <meyering@lucent.com>
132741         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
132742         too: getgrgid, getpwuid, getuid.
132744 2000-07-23  Jim Meyering  <meyering@lucent.com>
132746         * lib/basename.c (base_name): Add an assertion.
132748 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
132750         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
132751         shadow its mbsinit function.
132753 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132755         * lib/mbswidth.h: New file.
132756         * lib/mbswidth.c: New file.
132757         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
132758         (noinst_HEADERS): Add mbswidth.h.
132760 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132762         * lib/config.charset: Add support for FreeBSD. Improve support for
132763         HP-UX and IRIX 6.
132765 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
132767         * m4/mbswidth.m4: New file.
132768         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
132770 2000-07-15  Jim Meyering  <meyering@lucent.com>
132772         * lib/makepath.c: Include quote.h.
132773         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
132774         corresponding argument in a `quote (...)' call.
132775         Give better diagnostics.
132777         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
132778         (noinst_HEADERS): Add quote.h.
132780         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
132781         from tar's src/misc.c.
132782         * lib/quote.h: New file.  Prototypes for same.
132784 2000-07-14  Paul Eggert  <eggert@twinsun.com>
132786         From a suggestion by Bruno Haible.
132787         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
132788         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
132789         to decide whether to define the BeOS workaround macro;
132790         this adjusts to the change to AC_MBSTATE_T.
132792 2000-07-14  Jim Meyering  <meyering@lucent.com>
132794         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
132795         jm_AC_TYPE_UINTMAX_T.
132797 2000-07-13  Paul Eggert  <eggert@twinsun.com>
132799         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
132801         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
132802         quotearg_buffer_restyled): Add support for
132803         clocale_quoting_style.  Undo previous change to
132804         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
132805         and "{RIGHT QUOTATION MARK}" msgids.
132807 2000-07-10  Paul Eggert  <eggert@twinsun.com>
132809         From a suggestion by Bruno Haible.
132810         * m4/mbstate_t.m4 (AC_MBSTATE_T):
132811         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
132812         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
132813         and mbstate_t, to a single-part test that simply defines mbstate_t.
132814         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
132815         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
132817 2000-07-10  Jim Meyering  <meyering@lucent.com>
132819         * m4/strerror_r.m4: Mirror the correction made in autoconf.
132821         * m4/gnu-source.m4: Output to confdefs.h directly.
132822         Suggestion from Akim Demaille.
132824 2000-07-09  Paul Eggert  <eggert@twinsun.com>
132826         The old behavior of quoting `like this' doesn't look good with
132827         newer, ISO-style fonts.  See:
132828         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
132830         Instead, quote "like this" by default.  Let the translator
132831         tailor the locale-specific quoting behavior by providing
132832         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
132834         * lib/quotearg.c (N_): New macro.
132835         (gettext_default): New function.
132836         (quotearg_buffer_restyled): Use
132837         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
132838         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
132840 2000-07-09  Jim Meyering  <meyering@lucent.com>
132842         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
132843         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
132845         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
132846         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
132848 2000-07-09  Jim Meyering  <meyering@lucent.com>
132850         * lib/Most files: Update copyright dates to include 2000.
132852 2000-07-08  Jim Meyering  <meyering@lucent.com>
132854         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
132855         if not defined.
132856         (xgethostname): Remove now-unnecessary #ifdef.
132857         Move declaration of `err' into loop where it's used.
132859 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132860         and Bruno Haible  <haible@clisp.cons.org>
132862         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
132863         only if the test for an object-type mbstate_t fails.  This
132864         prevents us from mistakenly reporting that mbstate_t is a
132865         system object type after we "#define mbstate_t int" to work
132866         around its lack.
132868 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132869         and Bruno Haible  <haible@clisp.cons.org>
132871         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
132873 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132875         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
132876         to strerror_r.
132877         Include <ctype.h> for use of isalpha.
132879 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132881         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
132882         by allocating a larger buffer. Test the gethostname return value for
132883         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
132884         returns an error and ENAMETOOLONG isn't defined.
132886 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132888         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
132889         dimension.
132891 2000-07-04  Jim Meyering  <meyering@lucent.com>
132893         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
132894         of the deprecated AC_CHECKING.
132896 2000-07-04  Jim Meyering  <meyering@lucent.com>
132898         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
132899         Reported by Bruno Haible.
132901 2000-07-04  Jim Meyering  <meyering@lucent.com>
132903         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
132904         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
132905         lacks mbrtowc.
132907 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132909         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
132910         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
132912 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132913         and Bruno Haible  <haible@clisp.cons.org>
132915         * lib/quotearg.c (mbrtowc):
132916         Assign to *pwc, and return 1 only if result is nonzero.
132917         (iswprint): Use ISPRINT when substituting our own mbrtowc.
132919 2000-07-03  Jim Meyering  <meyering@lucent.com>
132921         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
132923 2000-07-03  Jim Meyering  <meyering@lucent.com>
132925         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
132926         This is necessary to get a definition of e.g., UTMP_FILE on
132927         HP-UX 10.20.
132928         From Bob Proulx.
132930 2000-07-02  Jim Meyering  <meyering@lucent.com>
132932         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
132934         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
132935         AC_LIBOBJ(function_name).
132936         * m4/chown.m4: Likewise.
132937         * m4/fnmatch.m4: Likewise.
132938         * m4/ftruncate.m4: Likewise.
132939         * m4/getgroups.m4: Likewise.
132940         * m4/getline.m4: Likewise.
132941         * m4/group-member.m4: Likewise.
132942         * m4/jm-macros.m4: Likewise.
132943         * m4/lstat.m4: Likewise.
132944         * m4/malloc.m4: Likewise.
132945         * m4/memcmp.m4: Likewise.
132946         * m4/nanosleep.m4: Likewise.
132947         * m4/putenv.m4: Likewise.
132948         * m4/realloc.m4: Likewise.
132949         * m4/regex.m4: Likewise.
132950         * m4/stat.m4: Likewise.
132951         * m4/strftime.m4: Likewise.
132953 2000-07-02  Jim Meyering  <meyering@lucent.com>
132955         * lib/quotearg.c (mbstate_t): Don't define here.
132957 2000-07-02  Jim Meyering  <meyering@lucent.com>
132959         * lib/nanosleep.c (SIGCONT): Define if not already defined.
132961 2000-07-01  Jim Meyering  <meyering@lucent.com>
132963         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
132965 2000-07-01  Jim Meyering  <meyering@lucent.com>
132967         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
132968         problem.
132970 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132972         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
132973         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
132975 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132977         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
132978         per change in ../m4/ls-mntd-fs.m4.
132979         (read_filesystem_list): Ignore symbolic links.
132981 2000-06-29  Jim Meyering  <meyering@lucent.com>
132983         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
132984         for declaration of strcmp.
132986         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
132988         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
132989         Avoid warning by casting result to `char *' to remove `const'.
132991 2000-06-28  Jim Meyering  <meyering@lucent.com>
132993         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
132994         included by quotearg.c, for which we perform this test.  From
132995         Bruno Haible.
132997 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
132999         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
133000         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
133001         <utmpx.h> exists, put readutmp.o into LIBOBJS.
133003 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133005         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
133007 2000-06-26  Paul Eggert  <eggert@twinsun.com>
133009         savedir now sets errno on failure and invokes xmalloc to get memory.
133010         Fix a couple of other minor bugs while we're at it.
133012         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
133013         (NAMLEN): Remove macro.
133014         (malloc, realloc): Remove decls.
133015         (stpcpy): Likewise.
133016         ("xalloc.h"): Include.
133017         (NAME_SIZE_DEFAULT): New macro.
133018         (savedir): Use xmalloc / xrealloc to allocate memory.
133019         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
133020         Skip "" directory entries.
133021         Use strlen to calculate directory entry length, since the old method
133022         is rarely used these days and isn't worth supporting.
133023         Don't use a pointer after freeing it.
133024         Check for integer overflow when calculating allocation size.
133025         Use memcpy to copy entries, instead of stpcpy.
133026         Set errno properly when returning NULL.
133027         Check for readdir error.
133029 2000-06-26  Jim Meyering  <meyering@lucent.com>
133031         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
133033 2000-06-25  Jim Meyering  <meyering@lucent.com>
133035         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
133036         Linux header bug when _XOPEN_SOURCE is defined to 500.
133038 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133040         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
133041         deficiency.
133043 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133045         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
133046         Include xalloc.h.
133047         Don't include <stdlib.h>.  Don't declare malloc, realloc.
133049 2000-06-24  Jim Meyering  <meyering@lucent.com>
133051         * m4/strerror_r.m4: Revive this file -- to try out an experimental
133052         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
133053         for which strerror does return char*, but which lacks a conveniently
133054         accessible declaration of the function.  If the compile-test says
133055         strerror_r doesn't work, then resort to a `run'-test that works on
133056         BeOS and segfaults on DEC Unix.
133058 2000-06-24  Jim Meyering  <meyering@lucent.com>
133060         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
133062 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133064         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
133065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
133067 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133069         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
133070         (mbrtowc, mbstate_t): Define substitutes if
133071         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
133072         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
133073         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
133075 2000-06-23  Jim Meyering  <meyering@lucent.com>
133077         * m4/afs.m4: Add missing AC_MSG_RESULT.
133078         Reported by Bruno Haible.
133080         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
133081         Suggestion from Bruno Haible.
133083 2000-06-23  Jim Meyering  <meyering@lucent.com>
133085         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
133087 2000-06-21  Jim Meyering  <meyering@lucent.com>
133089         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
133091 2000-06-21  Jim Meyering  <meyering@lucent.com>
133093         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
133094         (noinst_HEADERS): Add getstr.h.
133096         * lib/getline.c (getstr): Move into a separate file.
133097         * lib/getstr.c (getstr): New file, extracted from getline.c, with
133098         the following changes: new parameter, delim2; both delim[12]
133099         parameters have type `int', not `char'.  The latter would lose
133100         with 8-bit delimiters.
133101         * lib/getstr.h: New file.
133103 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133105         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
133106         than 1024, return a memory chunk of least possible size, instead
133107         of size PATH_MAX + 2. In the loop, increment the size proportionally.
133108         Use free/xmalloc instead of xrealloc to avoid copying for very long
133109         paths.
133111 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133113         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
133114         the empty string.
133116 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133118         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
133119         address, not strdup.  Include <stdlib.h> and don't declare free().
133121 2000-06-19  Jim Meyering  <meyering@lucent.com>
133123         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
133125 2000-06-18  Jim Meyering  <meyering@lucent.com>
133127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
133129         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
133130         `checking whether...' message to be consistent with that of the
133131         lstat test.
133133 2000-06-18  Jim Meyering  <meyering@lucent.com>
133135         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
133136         Besides, these days every porting target provides a mkdir function.
133138         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
133139         needed. (this snippet comes from src/system.h).
133141 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
133143         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
133145 2000-06-15  Paul Eggert  <eggert@twinsun.com>
133147         * lib/human.c (adjust_value): New function.
133148         (human_readable_inexact): Apply rounding style even when
133149         printing approximate values.
133151 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133153         * lib/human.c (human_readable_inexact): Allow an input block
133154         size that is not a multiple of the output block size, and vice versa.
133155         Reported by Piergiorgio Sartor.
133157 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133159         * lib/getdate.y (get_date): Apply relative times after time
133160         zone indicator, not before.  Reported by Todd A. Jacobs.
133162 2000-06-13  Jim Meyering  <meyering@lucent.com>
133164         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
133166         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
133168 2000-06-12  Paul Eggert  <eggert@twinsun.com>
133170         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
133172 2000-06-12  Jim Meyering  <meyering@lucent.com>
133174         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
133175         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
133176         optional argument.
133177         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
133178         the optional argument, `lib'.
133180 2000-06-08  Jim Meyering  <meyering@lucent.com>
133182         * m4/largefile.m4: Remove file (now that it's part of autoconf).
133184 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133186         Rewrite largefile configuration so that we don't need to run
133187         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
133188         AC_CANONICAL_HOST in configure.in -- jmm]
133190         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
133191         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
133192         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
133193         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
133194         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
133195         All uses changed.
133196         Instead of inspecting the output of getconf, try to compile the
133197         test program without and with the macro definition.
133198         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
133199         for getconf.  Instead, check for the needed flags by compiling
133200         test programs.
133202 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133204         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
133206 2000-06-04  Jim Meyering  <meyering@lucent.com>
133208         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
133209         SunOS 4.1.4 for which gid_t is an unsigned type.
133211 2000-06-03  Jim Meyering  <meyering@lucent.com>
133213         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
133214         now that autoconf requires that.
133216         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
133217         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
133218         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
133220 2000-06-03  Jim Meyering  <meyering@lucent.com>
133222         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
133224 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133226         * m4/glibc21.m4: New file.
133227         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
133229 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133231         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
133232         newer, don't install charset.alias.
133233         * lib/config.charset: Change the Linux/glibc rules so they become empty
133234         on glibc-2.1 or newer.
133236 2000-06-02  Jim Meyering  <meyering@lucent.com>
133238         * lib/mountlist.c: Back out last change.  Instead, do this...
133239         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
133240         me_dummy member using the same `ignore'-testing code.
133241         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
133242         fs_type strings.
133243         From Mark D. Roth.
133245 2000-05-29  Jim Meyering  <meyering@lucent.com>
133247         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
133248         mounts with the `ignore' attribute.  Based on a patch from
133249         Mark D. Roth.
133251 2000-05-28  Jim Meyering  <meyering@lucent.com>
133253         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
133254         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133255         * m4/stat.m4: Likewise.
133256         * m4/lstat.m4: Likewise.
133257         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
133259         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
133260         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
133262 2000-05-26  Jim Meyering  <meyering@lucent.com>
133264         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
133266 2000-05-24  Jim Meyering  <meyering@lucent.com>
133268         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
133269         autoconf requires that.
133270         * m4/lib-check.m4: Likewise.
133271         * m4/jm-macros.m4: Likewise.
133272         * m4/strftime.m4: Likewise.
133274         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
133275         AC_CHECK_DECLS, now that autoconf requires that.
133277 2000-05-22  Jim Meyering  <meyering@lucent.com>
133279         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133280         * m4/lstat.m4: Likewise.
133282 2000-05-22  Jim Meyering  <meyering@lucent.com>
133284         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
133286 2000-05-20  Jim Meyering  <meyering@lucent.com>
133288         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
133289         (jm_PREREQ): Use it.
133291 2000-05-18  Jim Meyering  <meyering@lucent.com>
133293         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
133294         back, too, since it may have been modified by allocate_entry.
133295         (hash_delete): Rewrite to use neither the assignment operator
133296         nor the comma operator in an if-expression.
133298 2000-05-15  Paul Eggert  <eggert@twinsun.com>
133300         * lib/closeout.c:
133301         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
133302         Remove; no longer needed.
133303         "quotearg.h": Add include.
133304         (file_name): Do not bother to explicitly initialize to NULL; it's less
133305         efficient on some hosts.
133306         (close_stdout_status): Remove test as to whether stdout was already
133307         closed; it breaks for the case "echo x | sort >&-".
133308         Quote file name colons.
133309         Do not assume that _("write error") lacks format strings.
133311 2000-05-15  Jim Meyering  <meyering@lucent.com>
133313         * lib/version-etc.c (version_etc_copyright): Update the copyright
133314         string used in all --version output.
133316 2000-05-14  Jim Meyering  <meyering@lucent.com>
133318         * lib/closeout.c (close_stdout_set_file_name): New function.
133319         (close_stdout_status): Use new file-scoped global.
133320         Return right away if fstat says the stdout file descriptor is invalid.
133321         * lib/closeout.h (close_stdout_set_file_name): Declare.
133323 2000-05-10  Jim Meyering  <meyering@lucent.com>
133325         * lib/closeout.c [default_exit_status]: New file-scoped variable.
133326         (close_stdout_set_status): New function.
133327         * lib/closeout.h (close_stdout_set_status): Declare.
133329 2000-05-09  Jim Meyering  <meyering@lucent.com>
133331         * m4/gettext.m4: Rename this...
133332         * m4/libintl.m4: ...to this.
133334 2000-05-08  Jim Meyering  <meyering@lucent.com>
133336         * lib/long-options.c: Don't include closeout.h.
133337         (parse_long_options): Don't call close_stdout for --version.
133339 2000-05-06  Paul Eggert  <eggert@twinsun.com>
133341         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
133342         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
133343         2.1.3 bug.  This avoids a clash when files like regex.c define
133344         _GNU_SOURCE.
133346 2000-05-06  Jim Meyering  <meyering@lucent.com>
133348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
133349         (AC_REPLACE_FUNCS): Add strnlen.
133351         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
133352         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
133354         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
133355         AC_SEARCH_LIBS call for nanosleep.
133356         (LIB_NANOSLEEP): Set and AC_SUBST.
133358 2000-05-06  Jim Meyering  <meyering@lucent.com>
133360         * lib/strnlen.c: Undefine __strnlen and strnlen.
133361         [!weak_alias]: Define __strnlen to strnlen.
133363         * lib/atexit.c: New file, from libiberty.
133365 2000-05-06  Jim Meyering  <meyering@lucent.com>
133367         * lib/closeout.c (close_stdout_status): Also check for errors on the
133368         stderr stream.
133370 2000-05-05  Jim Meyering  <meyering@lucent.com>
133372         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
133373         AC_SEARCH_LIBS call for clock_gettime.
133374         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
133376         * m4/search-libs.m4: Update from autoconf.
133378         su doesn't work on Solaris 2.6.
133379         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
133380         <shadow.h>.  Reported by Dragos Harabor.
133382 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
133384         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
133385         memcpy instead of xmalloc, xrealloc, path_concat.
133386         (locale_charset): Treat empty environment variables as absent.
133387         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
133389 2000-05-04  Jim Meyering  <meyering@lucent.com>
133391         * lib/getopt.c: Update from glibc.
133392         * lib/obstack.c: Likewise.
133393         * lib/obstack.h: Likewise.
133394         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
133395         file
133397         * lib/regex.h: Likewise.
133398         * lib/strndup.c: Likewise.
133399         * lib/strnlen.c: New file, from glibc.
133401 2000-05-03  Jim Meyering  <meyering@lucent.com>
133403         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
133405 2000-05-02  Paul Eggert  <eggert@twinsun.com>
133407         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
133408         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
133409         compile-time test, rather than inspecting host and OS, to
133410         decide whether to define _LARGEFILE_SOURCE.
133412 2000-05-01  Jim Meyering  <meyering@lucent.com>
133414         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
133416         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
133417         Based on a patch from Bruno Haible.
133419 2000-05-01  Jim Meyering  <meyering@lucent.com>
133421         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
133423 2000-04-29  Jim Meyering  <meyering@lucent.com>
133425         * lib/path-concat.c: Declare strdup only if it's not defined.
133426         * lib/canon-host.c: Likewise.
133428 2000-04-28  Jim Meyering  <meyering@lucent.com>
133430         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
133431         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
133432         is included first, then limits.h is included by locale.h by libintl.h.
133433         From John David Anglin.
133435 2000-04-25  Jim Meyering  <meyering@lucent.com>
133437         * lib/makepath.c (S_IRWXUGO): Define.
133438         (make_path): Always perform explicit chmod if MODE specifies any
133439         of the `special' permission bits.  Prompted by a bug report against
133440         install from Mate Wierdl and Joost van Baal.
133442 2000-04-18  Jim Meyering  <meyering@lucent.com>
133444         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
133445         (jm_PREREQ): Use it.
133447 2000-04-18  Jim Meyering  <meyering@lucent.com>
133449         * lib/README: New file.
133451         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
133452         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
133454 2000-04-17  Jim Meyering  <meyering@lucent.com>
133456         Get it right :-)
133457         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
133458         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
133459         Suggestion from Akim Demaille.
133461 2000-04-17  Jim Meyering  <meyering@lucent.com>
133463         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
133464         the definition of it to rpl_strftime also defined-away the system's
133465         declaration.
133467 2000-04-15  Jim Meyering  <meyering@lucent.com>
133469         Use `C' to denote so-called `contiguous' files, the same way
133470         that tar does.
133471         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
133472         (ftypelet): Use S_ISCTG.
133473         From Michael Deutschmann.
133475 2000-04-14  Jim Meyering  <meyering@lucent.com>
133477         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
133478         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
133479         clobbered.
133481 2000-04-14  Jim Meyering  <meyering@lucent.com>
133483         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
133485 2000-04-13  Jim Meyering  <meyering@lucent.com>
133487         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
133488         AH_VERBATIM to insert required #ifndef into config.h.in.
133489         Suggestion from Akim Demaille.
133491 2000-04-12  Jim Meyering  <meyering@lucent.com>
133493         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
133494         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
133495         Christian Krackowizer.
133497         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
133498         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
133499         (AC_SYS_LARGEFILE): Require.
133500         (AM_C_PROTOTYPES): Require.
133502 2000-04-08  Jim Meyering  <meyering@lucent.com>
133504         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
133505         names don't conflict.  Reported by Eli Zaretskii.
133507 2000-04-07  Jim Meyering  <meyering@lucent.com>
133509         * lib/putenv.c: Move inclusion of errno.h so it follows that of
133510         sys/types.h, to work around system header problems on AIX 3.2.5.
133511         From Bruno Haible.
133513 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
133515         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
133516         bug.  Deal with the different error behavior of Irix iconv.
133518 2000-04-05  Paul Eggert  <eggert@twinsun.com>
133520         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
133521         IRIX if the installer said otherwise.
133523 2000-04-05  Jim Meyering  <meyering@lucent.com>
133525         Portability tweaks required for ultrix4.3.
133526         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
133527         (jm_CHECK_DECLS): Add getutent to the list of functions.
133528         (_jm_DECL_HEADERS): Add utmpx.h.
133529         From John David Anglin.
133531         * m4/strftime.m4: Back out the 2000-04-02 change.
133532         Instead of that change, simply undefine putenv in the test program.
133534 2000-04-05  Jim Meyering  <meyering@lucent.com>
133536         Portability tweaks required for ultrix4.3.
133537         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
133538         getutent.
133539         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
133540         * lib/canon-host.c: Declare strdup.
133541         * lib/path-concat.c: Likewise.
133542         From John David Anglin.
133544 2000-04-04  Jim Meyering  <meyering@lucent.com>
133546         Be more DOS 8.3-friendly.
133547         * lib/ref-add.sin: Renamed from ref-add.sed.in.
133548         * lib/ref-del.sin: Renamed from ref-del.sed.in.
133549         * lib/Makefile.am: Reflect renaming.
133550         Reported by Eli Zaretskii.
133552         Use a temporary file name that won't clash with `charset.alias'
133553         in the DOS 8.3 name space.
133554         * lib/Makefile.am (charset_tmp): Define.
133555         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
133556         (uninstall-local): Likewise.
133557         Reported by Eli Zaretskii.
133559 2000-04-03  Jim Meyering  <meyering@lucent.com>
133561         * m4/gettext.m4: Fix typo in comment.
133563         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
133564         textutils/configure.in).  Suggestion from Paul Eggert.
133565         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
133567 2000-04-02  Paul Eggert  <eggert@twinsun.com>
133569         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
133570         variable in the shell rather than using putenv, which isn't
133571         portable.  This avoids the configure-time inter-test dependency
133572         on the potentially-renamed putenv function.
133574 2000-03-30  Paul Eggert  <eggert@twinsun.com>
133576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
133577         before checking struct stat.st_blksize, so that
133578         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
133580 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
133583         since strftime.c uses HAVE_STRFTIME to decide whether to use
133584         the underlying strftime.
133586 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133588         * lib/time/strftime.c (my_strftime): Make sure we call the system
133589         strftime, not ourselves, when invoking the underlying strftime.
133591 2000-03-24  Jim Meyering  <meyering@lucent.com>
133593         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
133594         (charset_alias): Define.
133595         (install-exec-local): Factor out common code.
133596         (uninstall-local): Split lines longer than 80.
133597         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
133598         (SUFFIXES): Define.
133599         (.sed.in.sed): New rule.  Don't redirect directly to $@.
133600         (CLEANFILES): Add ref-add.sed and ref-del.sed.
133602 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
133604         * lib/config.charset: Output a line containing "Packages using this
133605         file".
133606         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
133607         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
133608         ref-del.sed): New rules.
133610 2000-03-17  Jim Meyering  <meyering@lucent.com>
133612         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
133613         Otherwise, include <strings.h>
133615 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
133617         * lib/unicodeio.c (utf8_wctomb): New function.
133618         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
133619         format instead of in UCS-4 with platform dependent endianness.
133621 2000-03-10  Jim Meyering  <meyering@lucent.com>
133623         * m4/lib-check.m4: Look for getspnam in -lgen, too.
133624         From Marco Franzen.
133626 2000-03-07  Paul Eggert  <eggert@twinsun.com>
133628         * lib/savedir.c (savedir): Work even if directory size is
133629         negative; this can happen with some screwy NFS configurations.
133631 2000-03-06  Jim Meyering  <meyering@lucent.com>
133633         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
133634         if it's NULL (because we ran out of memory).  From Bruno Haible.
133636 2000-03-05  Jim Meyering  <meyering@lucent.com>
133638         * lib/localcharset.c ("path-concat.h"): Include.
133639         (get_charset_aliases): Use path_concat instead of ANSI string
133640         concatenation.
133642         * lib/unicodeio.h (PARAMS): Define.
133643         Use it to guard prototype.
133645 2000-03-04  Jim Meyering  <meyering@lucent.com>
133647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
133648         for lib/localcharset.c.
133650 2000-03-04  Jim Meyering  <meyering@lucent.com>
133652         * lib/Makefile.am (install-exec-local): Create $(libdir) before
133653         installing into it.
133654         (uninstall-local): Uncomment this rule so `make distcheck' works
133655         once again.
133657         * lib/unicodeio.c (<errno.h>): Include it.
133658         (errno): Declare if not defined.
133660         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
133662         * lib/config.charset: New version, incorporating remarks from a linux
133663         i18n mailing list.  From Bruno Haible.
133665 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
133667         * m4/codeset.m4: New file.
133668         * m4/iconv.m4: New file.
133669         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
133671 2000-03-03  Jim Meyering  <meyering@lucent.com>
133673         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
133675 2000-03-02  Jim Meyering  <meyering@lucent.com>
133677         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
133678         the messages come out on separate lines.
133680         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
133681         rather than jm_CHECK_DECLARATIONS.
133682         * m4/decl.m4: Remove now-unused file.
133684         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
133685         geteuid.
133687 2000-03-02  Jim Meyering  <meyering@lucent.com>
133689         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
133691 2000-03-01  Jim Meyering  <meyering@lucent.com>
133693         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
133694         * lib/unicodeio.c: Likewise.
133696 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
133698         * lib/config.charset: New file.
133699         * lib/localcharset.c: New file.
133700         * lib/unicodeio.h, lib/unicodeio.c: New files.
133701         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
133702         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
133703         (noinst_HEADERS): Add unicodeio.h.
133704         (all-local, install-exec-local, charset.alias): New targets.
133706 2000-02-28  Paul Eggert  <eggert@twinsun.com>
133708         * lib/quotearg.c (ALERT_CHAR): New macro.
133709         (quotearg_buffer_restyled): Use it.
133711 2000-02-27  Jim Meyering  <meyering@lucent.com>
133713         * m4/check-decl.m4: Add getenv to the list.
133715 2000-02-27  Jim Meyering  <meyering@lucent.com>
133717         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
133718         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
133720         * lib/backupfile.c: Guard inclusion of stdlib.h with
133721         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
133722         Declare malloc if needed.
133724         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
133725         `#ifndef HAVE_DECL..'
133726         now that autoconf always defines the HAVE_DECL_ symbols.
133727         * lib/human.c: Likewise.
133728         * lib/same.c: Likewise.
133729         * lib/strtoumax.c: Likewise.
133731         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
133732         declaration check was not run.
133733         * lib/hash.c: Likewise.
133734         * lib/human.c: Likewise.
133735         * lib/same.c: Likewise.
133736         * lib/strtoumax.c: Likewise.
133738         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
133739         `.', then first look up the entire `.'-containing string as a login
133740         name.
133742 2000-02-23  Jim Meyering  <meyering@lucent.com>
133744         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
133745         in place of my hack.
133747 2000-02-18  Paul Eggert  <eggert@twinsun.com>
133749         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
133750         (textint): New typedef.
133751         (parser_control): Member year changed from int to textint.
133752         All uses changed.
133753         (YYSTYPE): Removed; replaced by %union with int and textint members.
133754         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
133755         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
133756         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
133757         (tSNUMBER, tUNUMBER): Now of type <textintval>.
133758         (date, number, to_year): Use width of number in digits, not its value,
133759         to determine whether it's a 2-digit year, or a 2-digit time.
133760         (yylex): Store number of digits of numeric tokens.
133761         Reported by John Kendall.
133763         (parser_control): Changed from struct parser_control to typedef (for
133764         consistency).  All uses changed.
133766         (tID): Removed; not used.
133767         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
133769 2000-02-14  Paul Eggert  <eggert@twinsun.com>
133771         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
133772         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
133774 2000-02-12  Jim Meyering  <meyering@lucent.com>
133776         * lib/userspec.c (ISDIGIT): Define it.
133777         (isdigit): Remove definition.
133778         (is_number): Use ISDIGIT, not isdigit.
133779         <libintl.h>: Include.
133780         (_ and N_): Define.
133781         (parse_user_spec): Mark translatable strings.
133783 2000-02-10  Jim Meyering  <meyering@lucent.com>
133785         With these changes, nanosleep.[ch] are finally enough like the other
133786         lib/* replacement files to compile on a few more losing systems.
133788         * lib/nanosleep.h: Don't include config.h.
133789         Remove prototype from declaration of nanosleep.
133790         (PARAMS): Remove now-unneeded definition.
133791         * lib/nanosleep.c: #undef nanosleep.
133792         (rpl_nanosleep): Rename from nanosleep.
133794 2000-02-10  Jim Meyering  <meyering@lucent.com>
133796         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
133797         gnu_nanosleep to rpl_nanosleep.
133799 2000-02-09  Jim Meyering  <meyering@lucent.com>
133801         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
133802         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
133804 2000-02-08  Akim Demaille  <akim@epita.fr>
133806         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
133807         `[' and `]' and remove uses of `changequote'.
133808         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
133809         (AC_SYS_LARGEFILE): Likewise.
133810         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
133811         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
133812         of changequote.
133813         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
133814         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
133815         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
133816         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
133818 2000-02-05  Jim Meyering  <meyering@lucent.com>
133820         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
133821         Remove explicit use of AC_HEADER_TIME.  It is required by
133822         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
133823         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
133824         in autoconf whereby the expansion of the latter ended up preceding
133825         the expansion of its prerequisite, AC_HEADER_TIME.
133826         Reported by Volker Borchert.
133828 2000-02-03  Jim Meyering  <meyering@lucent.com>
133830         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
133832 2000-02-03  Jim Meyering  <meyering@lucent.com>
133834         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
133835         rather than with `#if HAVE_UTMPNAME'.
133837 2000-02-02  Jim Meyering  <meyering@lucent.com>
133839         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
133840         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
133841         Reported by Eli Zaretskii.
133843 2000-02-01  Jim Meyering  <meyering@lucent.com>
133845         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
133847 2000-01-31  Jim Meyering  <meyering@lucent.com>
133849         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
133850         functions.  Add the time.h and sys/time.h headers along with the
133851         AC_REQUIRE'ment of AC_HEADER_TIME.
133853 2000-01-31  Jim Meyering  <meyering@lucent.com>
133855         * lib/nanosleep.h (nanosleep): Guard declaration with
133856         `#if ! HAVE_DECL_NANOSLEEP'.
133857         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
133858         the declaration in that vendor's sys/timers.h.
133859         Reported by Christian Krackowizer.
133861         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
133862         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
133863         (ISPRINT): Likewise.
133864         Reported by Tom Tromey.
133866 2000-01-30  Jim Meyering  <meyering@lucent.com>
133868         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
133870         * m4/prereq.m4 (utmp_includes): Define.
133871         Check for ut_user and ut_name members in both struct utmpx
133872         and struct utmp.
133874 2000-01-30  Jim Meyering  <meyering@lucent.com>
133876         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
133877         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
133878         header files where only utmpx.ut_user is declared.
133880         * lib/readutmp.h (UT_USER): Define.
133882 2000-01-29  Jim Meyering  <meyering@lucent.com>
133884         * m4/lib-check.m4: New file containing library-related checks from
133885         fileutils and sh-utils (textutils had none).
133887 2000-01-28  Jim Meyering  <meyering@lucent.com>
133889         * m4/perl.m4: Change format of warning message to look more like that
133890         from the missing script.  Suggestion from François Pinard.
133892 2000-01-25  Jim Meyering  <meyering@lucent.com>
133894         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
133895         well as time.h in the compile check.
133896         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
133897         Fix typo in cross-compiling case: s/yes/no/.
133899 2000-01-23  Jim Meyering  <meyering@lucent.com>
133901         * m4/jm-macros.m4: Move df-related tests here from
133902         fileutils/configure.in
133904         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
133905         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
133907         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
133908         s/space/ac_fsusage_space/.
133909         (jm_FILE_SYSTEM_USAGE): Take two parameters.
133911         * m4/ftruncate.m4: New file (derived from part of
133912         fileutils/configure.in).
133913         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
133914         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
133916         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
133917         AC_SUBST these here, rather than just in sh-util/configure.in, so
133918         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
133919         all the same.
133920         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
133921         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
133922         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
133923         (AC_SUBST(POW_LIBM)): Likewise.
133924         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
133926 2000-01-23  Jim Meyering  <meyering@lucent.com>
133928         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
133929         obstack.c.
133931 2000-01-22  Jim Meyering  <meyering@lucent.com>
133933         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
133935         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
133937         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
133938         configure.in
133939         (AC_CHECK_HEADERS): Likewise for sh-utils.
133940         (AC_CHECK_HEADERS): Likewise for textutils.
133941         Merge the three lists of headers.
133943         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
133944         from fileutils' configure.in.
133946         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
133947         code. Moved tests into their own function (_jm_DECL_HEADERS) in
133948         check-decl.m4.
133950         * m4/check-decl.m4: Use #if rather than #ifdef.
133951         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
133952         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
133953         (_jm_DECL_HEADERS): Define new function.
133954         (jm_CHECK_DECLARATIONS): Require it.
133956 2000-01-22  Jim Meyering  <meyering@lucent.com>
133958         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
133959         [! HAVE_DECL_STRTOULL]: Declare strtoull.
133960         Required for some AIX systems.  Reported by Christian Krackowizer.
133961         [TESTING] (main): New function.
133963         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
133964         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
133965         letters.
133967         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
133968         iswprint.
133970         * lib/strverscmp.c (ISDIGIT): Define.
133971         (strverscmp): Use ISDIGIT, not isdigit.
133973 2000-01-19  Jim Meyering  <meyering@lucent.com>
133975         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
133976         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
133977         defines `struct timespec' in <sys/time.h>
133979         * m4/c-bs-a.m4: Remove uses of changequote altogether.
133980         Thanks to Akim for explaining.
133982 2000-01-17  Paul Eggert  <eggert@twinsun.com>
133984         * lib/nanosleep.c (nanosleep):
133985         Don't use SA_INTERRUPT to decide whether to call sigaction, as
133986         POSIX.1 doesn't require SA_INTERRUPT and some systems
133987         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
133988         it's been part of POSIX.1 since day 1 (in 1988).
133990 2000-01-17  Jim Meyering  <meyering@lucent.com>
133992         * lib/interlock: Remove unused file.  Reported by François Pinard.
133994 2000-01-16  Paul Eggert  <eggert@twinsun.com>
133996         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
133997         alert, backslash, formfeed, and vertical tab unnecessarily in
133998         shell quoting style.
134000 2000-01-16  Jim Meyering  <meyering@lucent.com>
134002         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
134003         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
134004         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
134005         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
134007 2000-01-16  Jim Meyering  <meyering@lucent.com>
134009         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
134010         because the latter didn't work.
134012 2000-01-15  Jim Meyering  <meyering@lucent.com>
134014         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
134015         (AC_REPLACE_FUNCS): Add memcpy and memset.
134016         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
134017         Add strpbrk.
134018         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
134020 2000-01-12  Jim Meyering  <meyering@lucent.com>
134022         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
134023         (jm_PREREQ): Use it.
134024         (jm_PREREQ_READUTMP): New macro.
134025         (jm_PREREQ): Use it.
134027 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134029         Quote multibyte characters correctly.
134030         * m4/c-bs-a.m4: New file.
134031         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
134032         (jm_PREREQ): Use it.
134034 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134036         * m4/uintmax_t.m4: Port to autoconf 2.13.
134038 2000-01-08  Jim Meyering  <meyering@ascend.com>
134040         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
134041         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
134043 2000-01-04  Jim Meyering  <meyering@ascend.com>
134045         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
134046         jm_STRUCT_DIRENT_D_TYPE.
134047         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
134048         jm_STRUCT_DIRENT_D_INO.
134049         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
134050         jm_STRUCT_UTIMBUF.
134051         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
134052         renamings.
134053         * m4/utime.m4: Likewise.
134055         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
134056         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
134058 2000-01-03  Paul Eggert  <eggert@twinsun.com>
134060         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
134061         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
134063 2000-01-02  Jim Meyering  <meyering@ascend.com>
134065         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
134066         remember if this is necessary.
134068 1999-12-26  Jim Meyering  <meyering@ascend.com>
134070         * m4/jm-macros.m4: Use it here.
134071         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
134073 1999-12-23  Jim Meyering  <meyering@ascend.com>
134075         * m4/jm-macros.m4: Check for clock_gettime (moved from
134076         fileutils/configure.in)
134077         Check for gettimeofday.
134079 1999-12-20  Jim Meyering  <meyering@ascend.com>
134081         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
134082         autoconf-2.14a-1999-12-20.
134084 1999-12-19  Jim Meyering  <meyering@ascend.com>
134086         * m4/lstat-slash.m4: New file.
134087         * m4/jm-macros.m4: Use the new macro:
134088         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134090 1999-12-07  Jim Meyering  <meyering@ascend.com>
134092         * m4/perl.m4: Require that File::Compare be available, too.
134093         Too many systems seem to lack it.
134095         * m4/strftime.m4: Add checks for most of the cpp macros tested in
134096         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
134098 1999-11-18  Paul Eggert  <eggert@twinsun.com>
134100         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
134101         problem with the QNX 4.25 shell, which doesn't propagate exit
134102         status of failed commands inside shell assignments.
134104 1999-11-17  Jim Meyering  <meyering@ascend.com>
134106         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
134108 1999-11-07  Jim Meyering  <meyering@ascend.com>
134110         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
134112 1999-11-06  Jim Meyering  <meyering@ascend.com>
134114         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
134115         * m4/jm-macros.m4 (jm_MACROS): Use it here.
134117 1999-11-05  Jim Meyering  <meyering@ascend.com>
134119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
134120         configure.in of textutils, fileutils, and sh-utils into this one
134121         (shared between those packages) file.
134122         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
134123         AC_STRUCT_ST_BLKSIZE.
134125 1999-11-03  Jim Meyering  <meyering@ascend.com>
134127         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
134128         of AC_CHECK_TYPE checks includes unistd.h.
134129         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
134130         Suggestion from Akim Demaille.
134132 1999-10-30  Jim Meyering  <meyering@ascend.com>
134134         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
134135         m4-quoted string.
134136         * m4/ls-mntd-fs.m4: Likewise.
134137         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
134138         * m4/jm-winsz1.m4: Likewise.
134140         * m4/const.m4: Remove file, since the fix made it into the experimental
134141         version of autoconf.
134142         * m4/mktime.m4: Likewise.
134144         * m4/check-type.m4: Remove file, now that the latest version of
134145         AC_CHECK_TYPE takes a third arg to specify additional #includes.
134147         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
134148         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
134149         AC_CHECK_TYPE.
134151 1999-10-04  Jim Meyering  <meyering@ascend.com>
134153         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
134155 1999-09-22  Paul Eggert  <eggert@twinsun.com>
134157         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
134158         2.95.1 bug with HP-UX 10.20.
134160 1999-09-17  Jim Meyering  <meyering@ascend.com>
134162         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
134163         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
134164         due to missing strdup (against sh-utils-2.0).
134166 1999-08-29  Jim Meyering  <meyering@ascend.com>
134168         * m4/jm-macros.m4: Require jm_BISON.
134169         * m4/bison.m4: New file.
134171 1999-08-17  Paul Eggert  <eggert@twinsun.com>
134173         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
134174         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
134176 1999-08-05  Jim Meyering  <meyering@ascend.com>
134178         * m4/getline.m4: Rename test file from conftestdata to conftest.data
134179         to avoid conflicts with `conftest' on 8+3 filesystems.
134180         Suggestion from Eli Zaretskii.
134182 1999-08-04  Jim Meyering  <meyering@ascend.com>
134184         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
134185         fileutils and sh-utils (textutils's getline test was inadequate).
134186         (AM_FUNC_GETLINE): Run this test.
134187         (AC_CHECK_FUNCS): Check for getdelim.
134188         Reported by Bob Proulx.
134190 1999-08-02  Jim Meyering  <meyering@ascend.com>
134192         * m4/jm-macros.m4: Add a comment.
134194 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134196         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
134197         <inttypes.h> defines strtoumax as a macro (and not as a
134198         function).
134200 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134202         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
134203         that we can shift, multiply and divide unsigned long long
134204         values; Ultrix cc can't do it.
134206 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134208         * m4/mktime.m4: New file, which is a preview of what should appear
134209         in the next public autoconf release.
134211 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134213         * m4/lfs.m4: Remove this file.
134214         * m4/largefile.m4: New file.  It contains the old contents of
134215         lfs.m4, except that all names with prefix AC_LFS have been
134216         changed to use the prefix AC_SYS_LARGEFILE instead, to be
134217         compatible with future autoconf versions.  Also, some minor m4
134218         quoting problems have been fixed.
134220 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134222         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
134223         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
134224         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
134225         and simplify the shell code.
134227 1999-08-01  Jim Meyering  <meyering@ascend.com>
134229         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
134230         m4.
134232 1999-07-20  Jim Meyering  <meyering@ascend.com>
134234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
134236 1999-07-15  Jim Meyering  <meyering@ascend.com>
134238         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
134240 1999-05-22  Jim Meyering  <meyering@ascend.com>
134242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
134244 1999-05-20  Jim Meyering  <meyering@ascend.com>
134246         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
134247         Add a colon after each `then' in case $4 is empty.
134249 1999-05-16  Jim Meyering  <meyering@ascend.com>
134251         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
134253 1999-05-10  Jim Meyering  <meyering@ascend.com>
134255         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
134257         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
134258         AC_FUNC_MKTIME.
134260 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
134262         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
134264 1999-05-04  Paul Eggert  <eggert@twinsun.com>
134266         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
134267         not CPPFLAGS, so that linking works correctly in IRIX.
134269 1999-04-30  Paul Eggert  <eggert@twinsun.com>
134271         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
134273 1999-04-20  Paul Eggert  <eggert@twinsun.com>
134275         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
134276         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
134277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
134278         jm_AC_TYPE_UNSIGNED_LONG_LONG.
134279         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
134281         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
134283 1999-04-20  Jim Meyering  <meyering@ascend.com>
134285         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
134286         AC_REPLACE xstroull if necessary.  From Paul Eggert.
134287         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
134289 1999-04-18  Jim Meyering  <meyering@ascend.com>
134291         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
134292         * m4/jm-macros.m4: Use it.
134294 1999-04-06  Jim Meyering  <meyering@ascend.com>
134296         * m4/strftime.m4: Remove test for %f.
134298 1999-03-29  Jim Meyering  <meyering@ascend.com>
134300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
134301         superset of the AC_TYPE_* checks in the textutils, fileutils,
134302         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
134303         AC_TYPE_PID_T.
134305 1999-03-28  Jim Meyering  <meyering@ascend.com>
134307         * m4/jm-macros.m4: Define GNU_PACKAGE here.
134308         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
134309         replaced e.g., in the *.sh files of the sh-utils.
134311 1999-03-20  Jim Meyering  <meyering@ascend.com>
134313         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
134314         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
134315         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
134317 1999-03-19  Jim Meyering  <meyering@ascend.com>
134319         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
134321 1999-03-12  Jim Meyering  <meyering@ascend.com>
134323         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
134325 1999-03-07  Jim Meyering  <meyering@ascend.com>
134327         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
134328         declared.
134330 1999-02-17  Jim Meyering  <meyering@ascend.com>
134332         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
134333         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
134335 1999-02-07  Jim Meyering  <meyering@ascend.com>
134337         * m4/group-member.m4: New file -- extracted from sh-utils'
134338         configure.in.
134340         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
134341         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
134343 1999-02-06  Jim Meyering  <meyering@ascend.com>
134345         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
134346         * m4/fnmatch.m4: Likewise.
134347         * m4/getgroups.m4: Likewise.
134348         * m4/lstat.m4: Likewise.
134349         * m4/malloc.m4: Likewise.
134350         * m4/putenv.m4: Likewise.
134351         * m4/realloc.m4: Likewise.
134352         * m4/regex.m4: Likewise.
134353         * m4/stat.m4: Likewise.
134354         * m4/strftime.m4: Likewise.
134355         Suggestion from Alain Magloire.
134357         * m4/chown.m4: Use `.$ac_objext', not `.o'.
134358         * m4/fnmatch.m4: Likewise.
134359         * m4/getgroups.m4: Likewise.
134360         * m4/getline.m4: Likewise.
134361         * m4/lstat.m4: Likewise.
134362         * m4/malloc.m4: Likewise.
134363         * m4/memcmp.m4: Likewise.
134364         * m4/putenv.m4: Likewise.
134365         * m4/realloc.m4: Likewise.
134366         * m4/regex.m4: Likewise.
134367         * m4/stat.m4: Likewise.
134368         * m4/strftime.m4: Likewise.
134369         Suggestion from Alain Magloire.
134371         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
134372         an argument.
134374         * m4/regex.m4: Add a run-time Test for proper operation of
134375         re_compile_pattern.
134377 1999-01-31  Jim Meyering  <meyering@ascend.com>
134379         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
134381 1999-01-30  Jim Meyering  <meyering@ascend.com>
134383         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
134385         * m4/jm-mktime.m4: Make this a wrapper around the official
134386         AM_FUNC_MKTIME rather than my private copy, now that the official one
134387         is up to date.
134388         * m4/mktime.m4: Remove file.
134390         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
134391         * m4/uptime.m4: Likewise.
134392         * m4/uintmax_t.m4: Likewise.
134394 1999-01-28  Jim Meyering  <meyering@ascend.com>
134396         * m4/jm-macros.m4: Use jm_AFS.
134397         * m4/afs.m4: New file (from fileutils' configure.in).
134399         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
134400         * m4/chown.m4: Likewise.
134401         * m4/d-ino.m4: Likewise.
134402         * m4/d-type.m4: Likewise.
134403         * m4/fnmatch.m4: Likewise.
134404         * m4/getgroups.m4: Likewise.
134405         * m4/gettext.m4: Likewise.
134406         * m4/jm-mktime.m4: Likewise.
134407         * m4/jm-winsz2.m4: Likewise.
134408         * m4/lcmessage.m4: Likewise.
134409         * m4/ls-mntd-fs.m4: Likewise.
134410         * m4/malloc.m4: Likewise.
134411         * m4/memcmp.m4: Likewise.
134412         * m4/putenv.m4: Likewise.
134413         * m4/realloc.m4: Likewise.
134414         * m4/st_mtim.m4: Likewise.
134415         * m4/strftime.m4: Likewise.
134417 1999-01-16  Jim Meyering  <meyering@ascend.com>
134419         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
134420         (ARGMATCH_DIE_DECL): Define.
134422 1999-01-12  Jim Meyering  <meyering@ascend.com>
134424         * m4/Makefile.am.in: Rewrite to avoid using fmt.
134425         Reported by Lars Hecking.
134427 1999-01-10  Jim Meyering  <meyering@ascend.com>
134429         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
134430         gross kludge.
134431         * m4/inttypes_h.m4: Likewise.
134432         * m4/lstat.m4: Likewise.
134433         * m4/malloc.m4: Likewise.
134434         * m4/readdir.m4: Likewise.
134435         * m4/realloc.m4: Likewise.
134436         * m4/st_dm_mode.m4: Likewise.
134437         * m4/stat.m4: Likewise.
134438         * m4/utimbuf.m4: Likewise.
134439         * m4/utimes.m4: Likewise.
134441         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
134442         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
134443         comments in config.h.in are meaningful.
134445         * m4/jm-macros.m4: Require autoconf-2.13 here.
134447         * m4/regex.m4: By default, don't use the included regex.c on systems
134448         with glibc 2.  Suggestion from Uli Drepper.
134450 1999-01-02  Jim Meyering  <meyering@ascend.com>
134452         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
134454 1998-12-18  Jim Meyering  <meyering@ascend.com>
134456         * m4/Makefile.am.in (Makefile.am): Simplify rule.
134457         Based on a suggestion from Lars Hecking.
134459 1998-11-16  Paul Eggert  <eggert@twinsun.com>
134461         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
134463 1998-11-16  Jim Meyering  <meyering@ascend.com>
134465         * m4/lfs.m4: Double-quote the `uname...` expression.
134467 1998-11-14  Jim Meyering  <meyering@ascend.com>
134469         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
134470         * m4/stat.m4: Likewise.
134472 1998-11-03  Jim Meyering  <meyering@ascend.com>
134474         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
134475         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
134477 1998-10-18  Jim Meyering  <meyering@ascend.com>
134479         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
134481 1998-10-17  Jim Meyering  <meyering@ascend.com>
134483         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
134484         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
134485         calls for those previously hard-coded headers.  Instead, take a new
134486         parameter.
134487         (jm_CHECK_DECLARATIONS): Reflect interface change.
134488         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
134489         (jm_CHECK_DECL_LOCALTIME_R): New macro.
134491         * m4/mktime.m4: Test for spring-forward gap before long-running test.
134493 1998-10-14  Jim Meyering  <meyering@ascend.com>
134495         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
134496         instead of "TZ=America/Vancouver".  From Paul Eggert.
134498 1998-10-11  Jim Meyering  <meyering@ascend.com>
134500         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
134501         This adds a test for a recently added compatibility fix for mktime.c.
134502         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
134504 1998-09-27  Jim Meyering  <meyering@ascend.com>
134506         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
134508         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
134509         ../configure.in, including a change from Gordon Matzigkeit to allow
134510         cross-compiling for the Hurd.
134512         * m4/glibc.m4: New file/macro to test for the GNU C Library
134513         versions 1 and 2.  From Gordon Matzigkeit.
134514         Indent.
134516 1998-09-21  Jim Meyering  <meyering@ascend.com>
134518         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
134520 1998-08-18  Paul Eggert  <eggert@twinsun.com>
134522         Port nanosecond-resolution times to UnixWare 2.1.2 and
134523         pedantic Solaris 2.6.
134525         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
134526         AC_STRUCT_ST_MTIM.
134527         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
134528         Generate name of ns member, instead of just 1 or undef.
134529         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
134531 1998-08-15  Jim Meyering  <meyering@ascend.com>
134533         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
134534         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
134535         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
134536         instead of jm_TYPE_SSIZE_T.
134538 1998-08-12  Jim Meyering  <meyering@ascend.com>
134540         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
134542 1998-08-02  Jim Meyering  <meyering@ascend.com>
134544         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
134545         in acconfig.h manually.
134547 1998-07-31  Paul Eggert  <eggert@twinsun.com>
134549         * m4/st_mtim.m4: New file.
134551 1998-07-28  Jim Meyering  <meyering@ascend.com>
134553         * m4/utimes.m4: Undef stat.
134555 1998-07-25  Jim Meyering  <meyering@ascend.com>
134557         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
134558         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
134560 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
134562         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
134563         uid and gid actually remain unchanged.
134565 1998-07-07  Jim Meyering  <meyering@ascend.com>
134567         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
134569 1998-07-04  Jim Meyering  <meyering@ascend.com>
134571         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
134572         to prove that this macro can be used in packages without regex.c.
134574 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
134576         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
134577         is to be used.
134579 1998-07-03  Jim Meyering  <meyering@ascend.com>
134581         * m4/gettext.m4: Add -lintl if it's found to be necessary.
134583         * m4/gettext.m4: New file -- from gettext-0.10.35.
134584         * m4/lcmessage.m4: Likewise.
134585         * m4/progtest.m4: Likewise.
134587         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
134588         * m4/jm-macros.m4: Require the new macro.
134590 1998-06-29  Jim Meyering  <meyering@ascend.com>
134592         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
134593         for the definition of NGROUPS (used in a system header included
134594         by sys/mount.h).
134596 1998-06-28  Jim Meyering  <meyering@ascend.com>
134598         * m4/ls-mntd-fs.m4: New file.
134599         * m4/fstypename.m4: New file.
134601         * m4/jm-macros.m4: Require the new macro.
134602         * m4/jm-glibc-io.m4: New file.
134604 1998-05-19  Jim Meyering  <meyering@ascend.com>
134606         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
134607         * m4/lchown.m4: New file.
134609         * m4/Makefile.am.in: New file.
134610         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
134612 1998-05-14  Jim Meyering  <meyering@ascend.com>
134614         * m4/Makefile.am (EXTRA_DIST): Add them.
134615         * m4/jm-macros.m4: New file.
134616         * m4/utimbuf.m4: New file.
134618 1998-05-12  Jim Meyering  <meyering@ascend.com>
134620         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
134622 1998-05-11  Jim Meyering  <meyering@ascend.com>
134624         * m4/isc-posix.m4: New file.
134626 1998-05-10  Jim Meyering  <meyering@ascend.com>
134628         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
134630 1998-05-09  Jim Meyering  <meyering@ascend.com>
134632         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
134633         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
134634         with automake.
134636         * m4/ssize_t.m4: New file.
134637         * m4/mktime.m4: Remove file -- the new automake has this now.
134639 1998-04-26  Jim Meyering  <meyering@ascend.com>
134641         * m4/assert.m4: New file.
134642         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
134644 1998-04-05  Jim Meyering  <meyering@ascend.com>
134646         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
134647         (jm_PREREQ): Use it here.
134649 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
134651         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
134652         in acconfig.h.
134654 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
134656         * m4/prereq.m4: New file.
134657         * m4/error.m4: New file.
134658         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
134660 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
134662         * m4/getline.m4: Don't set am_cv_func_working_getline before the
134663         cache-check for the same variable -- that defeated the purpose of
134664         the test; the test program was never run.  This was a problem only
134665         on systems with losing getline functions -- HP-UX 10.20 is one.
134666         Reported by Bjorn Helgaas.
134668 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
134670         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
134672 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
134674         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
134676         * m4/const.m4: New file.  Use an initializer in this declaration
134677         typedef int charset[2]; const charset x;
134678         Reported by Bob Glickstein.
134680 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
134682         * m4/chown.m4: Fix reversed types on -1 args to chown.
134683         From Kaveh Ghazi.
134685 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
134687         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
134688         Add lseek and memchr.
134690         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
134691         T.E.Dickey <dickey@clark.net> said that some older preprocessors
134692         have a 20-character limit on names.
134694 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
134696         * m4/inttypes_h.m4: New file.
134697         * m4/uintmax_t.m4: New file.
134698         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
134701         -----
134703         Local Variables:
134704         coding: utf-8
134705         End:
134707         Copyright (C) 1997-2020 Free Software Foundation, Inc.
134709         Copying and distribution of this file, with or without
134710         modification, are permitted provided the copyright notice
134711         and this notice are preserved.